커뮤니티

하나만 더 부탁드립니다.

프로필 이미지
회원
2017-11-13 10:44:01
149
글번호 114095
답변완료
현재 화면은 1분봉 차트입니다. 몇일전에 부탁드렸는데...다른 지표할려니 잘 안되네요.. 1분봉 차트에서 보조지표(Stochastics) 값을 3분, 5분, 10분에 해당하는 StoK, StoD값을 가져오는 수식 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-11-13 13:22:09

안녕하세요 예스스탁입니다. input : Atime1(3),Atime2(5),Atime3(10); input : sto1(12), Sto2(5), Sto3(5); var : S1(0),D1(0),TM(0),TF1(0),TF2(0),TF3(0),EP1(0),EP2(0); var : cnt1(0),idx1(0),hv1(0),Lv1(0),FK1(0),StoK1(0), StoD1(0),PreStoK1(0),PreStoD1(0); var : cnt2(0),idx2(0),hv2(0),Lv2(0),FK2(0),StoK2(0), StoD2(0),PreStoK2(0),PreStoD2(0); var : cnt3(0),idx3(0),hv3(0),Lv3(0),FK3(0),StoK3(0), StoD3(0),PreStoK3(0),PreStoD3(0); Array : H1[100](0),L1[100](0),H2[100](0),L2[100](0),H3[100](0),L3[100](0); Ep1 = 2/(Sto2+1); Ep2 = 2/(Sto3+1); 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 = TimeToMinutes(stime)%Atime1; if bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) or (TM >= TM[1]+Atime1 and bdate == bdate[1]) Then{ idx1 = idx1 + 1; H1[0] = H; L1[0] = L; for cnt1 = 1 to 99{ H1[cnt1] = H1[cnt1-1][1]; L1[cnt1] = L1[cnt1-1][1]; } PreStoK1 = StoK1[1]; PreStoD1 = StoD1[1]; } if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; hv1 = H1[0]; lv1 = L1[0]; for cnt1 = 0 to sto1-1 { if H1[cnt1] > hv1 then hv1 = H1[cnt1]; if L1[cnt1] < lv1 then lv1 = L1[cnt1]; } FK1 = (C-lv1)/(hv1-lv1)*100; if idx1 <= Sto1 then { StoK1 = FK1; StoD1 = StoK1; } else { StoK1 = FK1 * EP1 + PreStoK1 * (1-EP1); StoD1 = StoK1 * EP2 + PreStoD1 * (1-EP2); } TF2 = TimeToMinutes(stime)%Atime2; if bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) or (TM >= TM[1]+Atime1 and bdate == bdate[1]) Then{ idx2 = idx2 + 1; H2[0] = H; L2[0] = L; for cnt2 = 1 to 99{ H2[cnt2] = H2[cnt2-1][1]; L2[cnt2] = L2[cnt2-1][1]; } PreStoK2 = StoK2[1]; PreStoD2 = StoD2[1]; } if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; hv2 = H2[0]; lv2 = L2[0]; for cnt2 = 0 to sto1-1 { if H2[cnt2] > hv2 then hv2 = H2[cnt2]; if L2[cnt2] < lv2 then lv2 = L2[cnt2]; } FK2 = (C-lv2)/(hv2-lv2)*100; if idx2 <= Sto1 then { StoK2 = FK2; StoD2 = StoK2; } else { StoK2 = FK2 * EP1 + PreStoK2 * (1-EP1); StoD2 = StoK2 * EP2 + PreStoD2 * (1-EP2); } TF3 = TimeToMinutes(stime)%Atime3; if bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[1]) or (TM >= TM[1]+Atime1 and bdate == bdate[1]) Then{ idx3 = idx3 + 1; H3[0] = H; L3[0] = L; for cnt3 = 1 to 99{ H3[cnt3] = H3[cnt3-1][1]; L3[cnt3] = L3[cnt3-1][1]; } PreStoK3 = StoK3[1]; PreStoD3 = StoD3[1]; } if H > H3[0] Then H3[0] = H; if L < L3[0] Then L3[0] = L; hv3 = H3[0]; lv3 = L3[0]; for cnt3 = 0 to sto1-1 { if H3[cnt3] > hv3 then hv3 = H3[cnt3]; if L3[cnt3] < lv3 then lv3 = L3[cnt3]; } FK3 = (C-lv3)/(hv3-lv3)*100; if idx3 <= Sto1 then { StoK3 = FK3; StoD3 = StoK3; } else { StoK3 = FK3 * EP1 + PreStoK3 * (1-EP1); StoD3 = StoK3 * EP2 + PreStoD3 * (1-EP2); } plot1(StoK1); plot2(StoD1); plot3(StoK2); plot4(StoD2); plot5(StoK3); plot6(StoD3); PlotBaseLine1(20); PlotBaseLine2(80); } 즐거운 하루되세요 > 이제광 님이 쓴 글입니다. > 제목 : 하나만 더 부탁드립니다. > 현재 화면은 1분봉 차트입니다. 몇일전에 부탁드렸는데...다른 지표할려니 잘 안되네요.. 1분봉 차트에서 보조지표(Stochastics) 값을 3분, 5분, 10분에 해당하는 StoK, StoD값을 가져오는 수식 부탁드립니다. 감사합니다.