커뮤니티

타주기 이평

프로필 이미지
포보스
2021-07-27 13:24:51
1256
글번호 151128
답변완료

첨부 이미지

안녕하세요? 아래 그림은 250틱챠트에서 2분봉 챠트의 60선과 120선을 표현하는 것입니다. 근데 실제 2분봉에 나타나는 이평이 틱챠트에서는 조금 다르게 나타납니다. 아래 수식을 확인좀 부탁드립니다. 다시한번 더 감사드립니다. input : ntime1(2),P1(60),P2(120),dayp(2); input : ntime2(30); var : S1(0),D1(0),TM(0),TF1(0),cnt(0),TF2(0); var : sum1(0),mav1(0),sum2(0),mav2(0); var : sum(0),dmav(0),HH(0),LL(0); Array : CC[200](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; TF1 = TM%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or (Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then { for cnt = 1 to 199 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1-1] > 0 then { sum1 = 0; for cnt = 0 to P1-1 { sum1 = sum1+CC[cnt]; } mav1 = sum1/P1; #plot1(mav1,"이평1"); } if CC[P2-1] > 0 then { sum2 = 0; for cnt = 0 to P2-1 { sum2 = sum2+CC[cnt]; } mav2 = sum2/P2; #plot2(mav2,"이평2"); } TF2 = TM%ntime2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and ntime2 > 1 and TM >= TM[1]+ntime2) or (Bdate == Bdate[1] and ntime2 == 1 and TM > TM[1]) Then { if mav1 > 0 Then var1 = mav1; if mav2 > 0 Then var2 = mav2; } if var1 > 0 Then Plot3(var1); if var2 > 0 Then Plot4(var2); } #일간이평계산 sum = 0; For cnt = 0 to dayP-1 { sum = sum + DayClose(cnt); } dmav = sum/dayP; #일간이평 당일최고가와 최저가 계산 if Bdate != Bdate[1] Then { HH = dmav; LL = dmav; } if HH > 0 and dmav > HH Then HH = dmav; if HH > 0 and dmav < LL Then LL = dmav; plot5(dmav,"일간이평"); plot6(HH,"당일최고"); plot7(LL+(HH-LL)*0.236,"23.6%"); plot8(LL+(HH-LL)*0.382,"38.2%"); plot9(LL+(HH-LL)*0.500,"50.0%"); plot10(LL+(HH-LL)*0.618,"61.8%"); plot11(LL+(HH-LL)*0.764,"76.4"); plot12(LL,"당일최저");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-07-27 14:00:47

안녕하세요 예스스탁입니다. 틱봉에서 분봉이평은 정확한 계산이 불가능합니다. 해당 수식이 최대한 근접해서 작성된 수식입니다. 랭귀지는 봉의 시고저종가만 사용할수 있습니다. 봉내부의 틱정시간값은 알수가 없습니다. 틱봉에서는 봉 중간에 분봉의 시간경계가 있는 경우가 많은데 해당 시간경계의 값을 별도로 알수 없습니다. 그러므로 단지 완성봉의 시간으로 N분씩 짤라서 값을 계산하게 되어 값이 차이가 있습니다. 즐거운 하루되세요 > 포보스 님이 쓴 글입니다. > 제목 : 타주기 이평 > 안녕하세요? 아래 그림은 250틱챠트에서 2분봉 챠트의 60선과 120선을 표현하는 것입니다. 근데 실제 2분봉에 나타나는 이평이 틱챠트에서는 조금 다르게 나타납니다. 아래 수식을 확인좀 부탁드립니다. 다시한번 더 감사드립니다. input : ntime1(2),P1(60),P2(120),dayp(2); input : ntime2(30); var : S1(0),D1(0),TM(0),TF1(0),cnt(0),TF2(0); var : sum1(0),mav1(0),sum2(0),mav2(0); var : sum(0),dmav(0),HH(0),LL(0); Array : CC[200](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; TF1 = TM%ntime1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or (Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then { for cnt = 1 to 199 { CC[cnt] = CC[cnt-1][1]; } } CC[0] = C; if CC[P1-1] > 0 then { sum1 = 0; for cnt = 0 to P1-1 { sum1 = sum1+CC[cnt]; } mav1 = sum1/P1; #plot1(mav1,"이평1"); } if CC[P2-1] > 0 then { sum2 = 0; for cnt = 0 to P2-1 { sum2 = sum2+CC[cnt]; } mav2 = sum2/P2; #plot2(mav2,"이평2"); } TF2 = TM%ntime2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and ntime2 > 1 and TM >= TM[1]+ntime2) or (Bdate == Bdate[1] and ntime2 == 1 and TM > TM[1]) Then { if mav1 > 0 Then var1 = mav1; if mav2 > 0 Then var2 = mav2; } if var1 > 0 Then Plot3(var1); if var2 > 0 Then Plot4(var2); } #일간이평계산 sum = 0; For cnt = 0 to dayP-1 { sum = sum + DayClose(cnt); } dmav = sum/dayP; #일간이평 당일최고가와 최저가 계산 if Bdate != Bdate[1] Then { HH = dmav; LL = dmav; } if HH > 0 and dmav > HH Then HH = dmav; if HH > 0 and dmav < LL Then LL = dmav; plot5(dmav,"일간이평"); plot6(HH,"당일최고"); plot7(LL+(HH-LL)*0.236,"23.6%"); plot8(LL+(HH-LL)*0.382,"38.2%"); plot9(LL+(HH-LL)*0.500,"50.0%"); plot10(LL+(HH-LL)*0.618,"61.8%"); plot11(LL+(HH-LL)*0.764,"76.4"); plot12(LL,"당일최저");