커뮤니티

문의드립니다.

프로필 이미지
land22
2016-12-12 14:27:23
96
글번호 104896
답변완료
안녕하세요. Input : N(9); var : Hv(0),Lv(0),cnt(0),Hiv(0),Liv(0),sum3(0),sum4(0); Array : HH[50](0),HI[50](0),LL[50](0),LI[50](0); if date != date[1] Then { HH[0] = H; HI[0] = index; LL[0] = L; LI[0] = index; for cnt = 1 to 49 { HH[cnt] = HH[cnt-1][1]; HI[cnt] = HI[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; LI[cnt] = LI[cnt-1][1]; } } if H > HH[0] Then { HH[0] = H; HI[0] = index; } if L < LL[0] Then { LL[0] = L; LI[0] = index; } if HH[N-1] > 0 and LL[N-1] > 0 Then { Hv = HH[0]; Hiv = Hi[0]; Lv = LL[0]; Liv = Li[0]; for cnt = 0 to N-1 { if HH[cnt] >= Hv Then { Hv = HH[cnt]; Hiv = HI[cnt]; } if LL[cnt] <= Lv Then { Lv = LL[cnt]; Liv = LI[cnt]; } } var55 = C*V; sum3 = 0; sum4 = 0; for cnt = 0 to max(index-Hiv,index-Liv) { sum3 = sum3 + var55[cnt]; sum4 = sum4 + V[cnt]; } } var64 = sum3/sum4; var65 = Hv; # n일 고가 var66 = Lv; plot1(var64); plot2(var65,"n일 고가"); plot3(var66,"n일 저가"); =========================================== 위 수식을 연결선물차트 봉개수 1300개, 5분봉에 적용하면 N 값이 9 이하일 때는 var64 값이 괜찮은데 N 값이 11 이면 var64 값이 이상하게 나옵니다. 41행과 46행의 var55 때문인 것 같은데...? 수식 수정 부탁드립니다. 수고하세요.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-12-13 10:05:18

안녕하세요 예스스탁입니다. var55에 값저장이 HH이 N으로 지정한 이전값이 있을 경우부터 저장되므로 if문 밖에 위치시켜야 합니다. Input : N(9); var : Hv(0),Lv(0),cnt(0),Hiv(0),Liv(0),sum3(0),sum4(0); Array : HH[50](0),HI[50](0),LL[50](0),LI[50](0); if date != date[1] Then { HH[0] = H; HI[0] = index; LL[0] = L; LI[0] = index; for cnt = 1 to 49 { HH[cnt] = HH[cnt-1][1]; HI[cnt] = HI[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; LI[cnt] = LI[cnt-1][1]; } } if H > HH[0] Then { HH[0] = H; HI[0] = index; } if L < LL[0] Then { LL[0] = L; LI[0] = index; } var55 = C*V; if HH[N-1] > 0 and LL[N-1] > 0 Then { Hv = HH[0]; Hiv = Hi[0]; Lv = LL[0]; Liv = Li[0]; for cnt = 0 to N-1 { if HH[cnt] >= Hv Then { Hv = HH[cnt]; Hiv = HI[cnt]; } if LL[cnt] <= Lv Then { Lv = LL[cnt]; Liv = LI[cnt]; } } sum3 = 0; sum4 = 0; for cnt = 0 to max(index-Hiv,index-Liv) { sum3 = sum3 + var55[cnt]; sum4 = sum4 + V[cnt]; } var64 = sum3/sum4; var65 = Hv; # n일 고가 var66 = Lv; plot1(var64); plot2(var65,"n일 고가"); plot3(var66,"n일 저가"); } 즐거운 하루되세요 > land22 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요. Input : N(9); var : Hv(0),Lv(0),cnt(0),Hiv(0),Liv(0),sum3(0),sum4(0); Array : HH[50](0),HI[50](0),LL[50](0),LI[50](0); if date != date[1] Then { HH[0] = H; HI[0] = index; LL[0] = L; LI[0] = index; for cnt = 1 to 49 { HH[cnt] = HH[cnt-1][1]; HI[cnt] = HI[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; LI[cnt] = LI[cnt-1][1]; } } if H > HH[0] Then { HH[0] = H; HI[0] = index; } if L < LL[0] Then { LL[0] = L; LI[0] = index; } if HH[N-1] > 0 and LL[N-1] > 0 Then { Hv = HH[0]; Hiv = Hi[0]; Lv = LL[0]; Liv = Li[0]; for cnt = 0 to N-1 { if HH[cnt] >= Hv Then { Hv = HH[cnt]; Hiv = HI[cnt]; } if LL[cnt] <= Lv Then { Lv = LL[cnt]; Liv = LI[cnt]; } } var55 = C*V; sum3 = 0; sum4 = 0; for cnt = 0 to max(index-Hiv,index-Liv) { sum3 = sum3 + var55[cnt]; sum4 = sum4 + V[cnt]; } } var64 = sum3/sum4; var65 = Hv; # n일 고가 var66 = Lv; plot1(var64); plot2(var65,"n일 고가"); plot3(var66,"n일 저가"); =========================================== 위 수식을 연결선물차트 봉개수 1300개, 5분봉에 적용하면 N 값이 9 이하일 때는 var64 값이 괜찮은데 N 값이 11 이면 var64 값이 이상하게 나옵니다. 41행과 46행의 var55 때문인 것 같은데...? 수식 수정 부탁드립니다. 수고하세요.