커뮤니티

문의드립니다.

프로필 이미지
land22
2018-03-08 08:10:35
231
글번호 117214
답변완료
안녕하세요. Input : N(5) ; var : Hv(0),Lv(0),cnt(0),Hiv(0),Liv(0),sum1(0),sum2(0),ii(0), HLH(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[abs(N)-1] > 0 and LL[abs(N)-1] > 0 Then { # 음수를 사용하기 때문에 abs(N) 입력 Hv = HH[0]; Hiv = Hi[0]; Lv = LL[0]; Liv = Li[0]; for cnt = 0 to abs(N)-1 { # 음수를 사용하기 때문에 abs(N) 입력 if HH[cnt] >= Hv Then { Hv = HH[cnt]; Hiv = HI[cnt]; } if LL[cnt] <= Lv Then { Lv = LL[cnt]; Liv = LI[cnt]; } } if N >= 1 Then { ii = index-Liv; HLH = H[0]; } # HLH ; 저점 이후의 고점, 또는 고점 이후의 저점 if N <= -1 Then ### 여기에 대괄호 { 를 넣고 아래에 마감 괄호를 넣으면 지표가 이상해짐 - 그대로 사용 ii = index-Hiv; HLH = L[0]; } var1 =(H+L)/2*V; sum1 = 0; sum2 = 0; for cnt = 0 to ii { sum1 = sum1 + var1[cnt]; sum2 = sum2 + V[cnt]; var64 = sum1/sum2; # n일라인 if crossup(c,var64) Then { var51 = index; var7 = var64; # 상향 돌파한 값 } if CrossDown(c,var64) Then { var52 = index; var8 = var64; # 하향돌파한 값 } if N > 0 Then { # 양수이면 저점에서 현재까지 출력 plot1(var64,"n일라인"); if c < var64 then plot2(var8,"n일라인 돌파값"); } if N < 0 Then { # 음수이면 고점에서 현재까지 출력 plot1(var64,"n일라인"); if c > var64 then plot2(var7,"n일라인 돌파값"); } } --------------------------------- 선물 15분봉에서 위 수식의 지표 출력하면 if c < var64 then plot2(var8,"n일라인 돌파값"); if c > var64 then plot2(var7,"n일라인 돌파값"); 이 출력값이 현재가가 var8, var7 을 돌파하기 전인데도 여러곳에 나타납니다. 위 수식 수정 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-03-09 09:52:54

안녕하세요 예스스탁입니다. 수식의 {}문제로 어떤 내용의 수식을 구현하시려고 하는지 내용이 판단이 되지 않습니다. 수식의 괄호가 아래식과 같이 처리되어야 원하시는 내용과 부합할것 같습니다. 아래 내용 아니시면 02-3453-1060으로 전화주시기 바랍니다. Input : N(5) ; var : Hv(0),Lv(0),cnt(0),Hiv(0),Liv(0),sum1(0),sum2(0),ii(0), HLH(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[abs(N)-1] > 0 and LL[abs(N)-1] > 0 Then { # 음수를 사용하기 때문에 abs(N) 입력 Hv = HH[0]; Hiv = Hi[0]; Lv = LL[0]; Liv = Li[0]; for cnt = 0 to abs(N)-1 { # 음수를 사용하기 때문에 abs(N) 입력 if HH[cnt] >= Hv Then { Hv = HH[cnt]; Hiv = HI[cnt]; } if LL[cnt] <= Lv Then { Lv = LL[cnt]; Liv = LI[cnt]; } } if N >= 1 Then { ii = index-Liv; HLH = H[0]; } # HLH ; 저점 이후의 고점, 또는 고점 이후의 저점 if N <= -1 Then{ ### 여기에 대괄호 { 를 넣고 아래에 마감 괄호를 넣으면 지표가 이상해짐 - 그대로 사용 ii = index-Hiv; HLH = L[0]; } } var1 =(H+L)/2*V; sum1 = 0; sum2 = 0; for cnt = 0 to ii { sum1 = sum1 + var1[cnt]; sum2 = sum2 + V[cnt]; var64 = sum1/sum2; # n일라인 } if crossup(c,var64) Then { var51 = index; var7 = var64; # 상향 돌파한 값 } if CrossDown(c,var64) Then { var52 = index; var8 = var64; # 하향돌파한 값 } if N > 0 Then { # 양수이면 저점에서 현재까지 출력 plot1(var64,"n일라인"); if c < var64 then plot2(var8,"n일라인 돌파값"); } if N < 0 Then { # 음수이면 고점에서 현재까지 출력 plot1(var64,"n일라인"); if c > var64 then plot2(var7,"n일라인 돌파값"); } 즐거운 하루되세요 > land22 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요. Input : N(5) ; var : Hv(0),Lv(0),cnt(0),Hiv(0),Liv(0),sum1(0),sum2(0),ii(0), HLH(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[abs(N)-1] > 0 and LL[abs(N)-1] > 0 Then { # 음수를 사용하기 때문에 abs(N) 입력 Hv = HH[0]; Hiv = Hi[0]; Lv = LL[0]; Liv = Li[0]; for cnt = 0 to abs(N)-1 { # 음수를 사용하기 때문에 abs(N) 입력 if HH[cnt] >= Hv Then { Hv = HH[cnt]; Hiv = HI[cnt]; } if LL[cnt] <= Lv Then { Lv = LL[cnt]; Liv = LI[cnt]; } } if N >= 1 Then { ii = index-Liv; HLH = H[0]; } # HLH ; 저점 이후의 고점, 또는 고점 이후의 저점 if N <= -1 Then ### 여기에 대괄호 { 를 넣고 아래에 마감 괄호를 넣으면 지표가 이상해짐 - 그대로 사용 ii = index-Hiv; HLH = L[0]; } var1 =(H+L)/2*V; sum1 = 0; sum2 = 0; for cnt = 0 to ii { sum1 = sum1 + var1[cnt]; sum2 = sum2 + V[cnt]; var64 = sum1/sum2; # n일라인 if crossup(c,var64) Then { var51 = index; var7 = var64; # 상향 돌파한 값 } if CrossDown(c,var64) Then { var52 = index; var8 = var64; # 하향돌파한 값 } if N > 0 Then { # 양수이면 저점에서 현재까지 출력 plot1(var64,"n일라인"); if c < var64 then plot2(var8,"n일라인 돌파값"); } if N < 0 Then { # 음수이면 고점에서 현재까지 출력 plot1(var64,"n일라인"); if c > var64 then plot2(var7,"n일라인 돌파값"); } } --------------------------------- 선물 15분봉에서 위 수식의 지표 출력하면 if c < var64 then plot2(var8,"n일라인 돌파값"); if c > var64 then plot2(var7,"n일라인 돌파값"); 이 출력값이 현재가가 var8, var7 을 돌파하기 전인데도 여러곳에 나타납니다. 위 수식 수정 부탁드립니다.