예스스탁
예스스탁 답변
2025-07-21 13:44:21
안녕하세요
예스스탁입니다.
input : keyvalue(3),atrperiod(10);
var : src(0),xATR(0),nLoss(0),nz1(0),xATRTrailingStop(0),pos(0),xcolor(0);
src = close ;
xATR = atr(atrperiod);
nLoss = keyvalue * xATR;
nz1 = iff(IsNan(xATRTrailingStop[1])==true,0,xATRTrailingStop[1]);
xATRTrailingStop = 0.0;
xATRTrailingStop =
iff(src > nz1 and src[1] > nz1, max(nz1, src - nLoss),
iff(src < nz1 and src[1] < nz1, min(nz1, src + nLoss),
iff(src > nz1, src - nLoss, src + nLoss)));
pos = 0;
pos =
iff(src[1] < nz1 and src > nz1, 1,
iff(src[1] > nz1 and src < nz1, -1, iff(IsNaN(pos[1]), 0,pos[1])));
xcolor = iff(pos == -1 , red , IFf( pos == 1 , green , blue));
plot1(xATRTrailingStop, "Trailing Stop",xcolor);
즐거운 하루되세요
> alltoone 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 아래 내용을 전환 가능한가요?
답변 감사합니다.
src = close
keyvalue = input(3, title = "Key Vaule. 'This changes the sensitivity'", step = .5)
atrperiod = input(10, title="ATR Period")
xATR = atr(atrperiod)
nLoss = keyvalue * xATR
xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss),
iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))
pos = 0
pos := iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue
plot(xATRTrailingStop, color = xcolor, title = "Trailing Stop")