커뮤니티

수식문의 드립니다

프로필 이미지
까시서방
2020-02-03 20:30:42
369
글번호 135586
답변완료
var : CCIP(20),ATRP(5),Multiplier(1),original(true); var : thisCCI(0),lastCCI(0),bufferDn(0),bufferUp(0); var : 추세X_1분(0),swap(0),swap2(0),swap3(0),swap4_1분(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_1분 = iff(thisCCI >= 0,bufferUp,iff(thisCCI <= 0,bufferDn,추세X_1분[1])); swap=iff(추세X_1분>추세X_1분[1],1,iff(추세X_1분<추세X_1분[1],-1,swap[1])); swap2 = iff(swap==1,1,-1); swap3 = iff(thisCCI >=0,1,-1); swap4_1분 = iff(original,swap3,swap2); plot1(추세X_1분,"x",IFF(swap4_1분 > 0, MAGENTA,BLACK),DEF,8); 타주기를 사용하진 않고 위 수식을 1분봉에서 10봉에 표현하고 싶습니다. 항상 노고에 감사드립니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-02-04 15:26:41

안녕하세요 예스스탁입니다. input : ntime(30),CCIP(9),ATRP(5),Multiplier(1),original(true);; var : S1(0),D1(0),TM(0),TF(0); Var : Sum(0), Counter(0), MD(0), Avgvalue(0); var : cnt(0),sum1(0),mav(0),sumTR(0),ATRV(0); var : thisCCI(0),lastCCI(0),bufferDn(0),bufferUp(0),bufferDn1(0),bufferUp1(0); var : X(0),swap(0),swap2(0),swap3(0),swap4(0); Array : CC[100](0),LL[100](0),HH[100](0),TH[100](0),TL[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime == 1 and TM < TM[1]) or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM > TM+ntime) Then { HH[0] = H; LL[0] = L; for cnt = 1 to 99 { HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; TH[cnt] = TH[cnt-1][1]; TL[cnt] = TL[cnt-1][1]; } lastCCI = thisCCI[1]; bufferUp1 = bufferUp[1]; bufferDn1 = bufferDn[1]; } CC[0] = C; if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; If HH[CCIP] > 0 Then Begin sum1 = 0; for cnt = 0 to CCIP-1 { sum1 = sum1+(CC[cnt]+HH[cnt]+LL[cnt]); } Avgvalue = sum1/CCIP; MD = 0; For counter = 0 To CCIP - 1 Begin MD = MD + Abs(HH[counter] + LL[counter] + CC[counter] - Avgvalue); End; MD = MD / CCIP; If MD == 0 Then thisCCI = 0; Else thisCCI = (HH[0] + LL[0] + CC[0] - Avgvalue) / (0.015 * MD); End Else thisCCI = 0; TH[0] = max(CC[1],HH[0]); TL[0] = Min(CC[1],LL[0]); if TH[ATRP-1] > 0 and TL[ATRP-1] > 0 then { sumTR = 0; for cnt = 0 to ATRP-1 { sumTR = sumTR + (TH[cnt]-TL[cnt]); } ATRV = sumTR/ATRP; } bufferDn = HH[0] + Multiplier * ATRV; bufferUp = LL[0] - Multiplier * ATRV; if (thisCCI >= 0 and lastCCI < 0) Then bufferUp = bufferDn1; if (thisCCI <= 0 and lastCCI > 0) Then bufferDn = bufferUp1; if (thisCCI >= 0) Then { if (bufferUp < bufferUp1) Then bufferUp = bufferUp1; } else { if (thisCCI <= 0) Then if (bufferDn > bufferDn1) Then bufferDn = bufferDn1; } 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); } 즐거운 하루되세요 > 까시서방 님이 쓴 글입니다. > 제목 : 수식문의 드립니다 > var : CCIP(20),ATRP(5),Multiplier(1),original(true); var : thisCCI(0),lastCCI(0),bufferDn(0),bufferUp(0); var : 추세X_1분(0),swap(0),swap2(0),swap3(0),swap4_1분(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_1분 = iff(thisCCI >= 0,bufferUp,iff(thisCCI <= 0,bufferDn,추세X_1분[1])); swap=iff(추세X_1분>추세X_1분[1],1,iff(추세X_1분<추세X_1분[1],-1,swap[1])); swap2 = iff(swap==1,1,-1); swap3 = iff(thisCCI >=0,1,-1); swap4_1분 = iff(original,swap3,swap2); plot1(추세X_1분,"x",IFF(swap4_1분 > 0, MAGENTA,BLACK),DEF,8); 타주기를 사용하진 않고 위 수식을 1분봉에서 10봉에 표현하고 싶습니다. 항상 노고에 감사드립니다