예스스탁
예스스탁 답변
2020-01-28 17:17:25
안녕하세요
예스스탁입니다.
input : CCIP(20),ATRP(5),Multiplier(1),original(true);
var : thisCCI(0),lastCCI(0),bufferDn(0),bufferUp(0);
var : X(0),swap(0),swap2(0),swap3(0),swap4(0);
thisCCI = cci(CCIP);
lastCCI = thisCCI[1];
bufferDn = high + Multiplier * ma(TrueRange,ATRP);
bufferUp = low - Multiplier * ma(TrueRange,ATRP);
if (thisCCI >= 0 and lastCCI < 0) Then
bufferUp = bufferDn[1];
if (thisCCI <= 0 and lastCCI > 0) Then
bufferDn = bufferUp[1];
if (thisCCI >= 0) Then
{
if (bufferUp < bufferUp[1]) Then
bufferUp = bufferUp[1];
}
else
{
if (thisCCI <= 0) Then
if (bufferDn > bufferDn[1]) Then
bufferDn = bufferDn[1];
}
x = iff(thisCCI >= 0,bufferUp,iff(thisCCI <= 0,bufferDn,x[1]));
swap=iff(x>x[1],1,iff(x<x[1],-1,swap[1]));
swap2 = iff(swap==1,MAGENTA,red);
swap3 = iff(thisCCI >=0,MAGENTA,red);
swap4 = iff(original,swap3,swap2);
plot1(x,"x",swap4);
즐거운 하루되세요
> 로즈버드 님이 쓴 글입니다.
> 제목 : 예스트레이더 수식으로 변환 문의드립니다.
>
CCI = input(20)
ATR = input(5)
Multiplier=input(1,title='ATR Multiplier')
original=input(true,title='original coloring')
thisCCI = cci(close, CCI)
lastCCI = nz(thisCCI[1])
bufferDn= high + Multiplier * sma(tr,ATR)
bufferUp= low - Multiplier * sma(tr,ATR)
if (thisCCI >= 0 and lastCCI < 0)
bufferUp := bufferDn[1]
if (thisCCI <= 0 and lastCCI > 0)
bufferDn := bufferUp[1]
if (thisCCI >= 0)
if (bufferUp < bufferUp[1])
bufferUp := bufferUp[1]
else
if (thisCCI <= 0)
if (bufferDn > bufferDn[1])
bufferDn := bufferDn[1]
x=thisCCI >= 0 ?bufferUp:thisCCI <= 0 ?bufferDn:x[1]
swap=x>x[1]?1:x<x[1]?-1:swap[1]
swap2=swap==1?lime:red
swap3=thisCCI >=0 ?lime:red
swap4=original?swap3:swap2
plot(x,color=swap4,transp=0,linewidth=3)
감사합니다.