커뮤니티

예스트레이더 수식으로 변환 문의드립니다.

프로필 이미지
로즈버드
2020-01-28 14:52:06
250
글번호 135436
답변완료
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) 감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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) 감사합니다.