커뮤니티

수식 작성 관련 문의 드립니다.

프로필 이미지
유정란
2024-12-17 13:55:46
564
글번호 186351
답변완료
안녕하세요. 하나 더 질문 있습니다. 스토캐스틱 차트 시간에 따라 변동 되는게 아니라 1,3,5분 고정되어 3개가 한번에 하나의 차트에서 표시가 되도록 만들고 싶습니다. 수식 알려주시면 감사하겠습니다. 잘 부탁드립니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-12-17 15:26:49

안녕하세요 예스스탁입니다. 1분봉 차트에 적용하시면 3분,5분이 같이 계산되서 그려지게 됩니다. 스토케스틱 계산에 사용하는 지수이평이 과거봉수에 따라 현재값이 달라지므로 최대한 봉을 많이 조회해서 적용하시면 됩니다. 전략실행차트는 최대조회봉수가 1만봉입니다. 수식으로 타주기는 지표의 계산은 기본차트 기준 배수인경우만 가능합니다. 1분봉 차트에 적용하셔야 합니다. input : 분1(3),분2(5); input : Sto1(10),Sto2(5),Sto3(5); var : sk(0),sd(0); var : S1(0),D1(0),TM(0),TF1(0),TF2(0),cnt(0),Ep1(0), EP2(0); var : Hv1(0), LV1(0), FK1(0), SK1(0), SD1(0); var : idx1(0), PreSK1(0), PreSD1(0); var : Hv2(0), Lv2(0), FK2(0), SK2(0), SD2(0); var : idx2(0), PreSK2(0), PreSD2(0); Array : H1[100](0),L1[100](0); Array : H2[100](0),L2[100](0); sk = StochasticsK(sto1,sto2); sd = Stochasticsd(sto1,sto2,sto3); Plot1(sk,"기본차트 k"); Plot2(sd,"기본차트 d"); PlotBaseLine1(20); PlotBaseLine2(80); 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)%분1; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and 분1 > 1 and TM >= TM[1]+분1) or (Bdate == Bdate[1] and 분1 == 1 and TM > TM[1]) Then { for cnt = 99 downto 1 { H1[cnt] = H1[cnt-1]; L1[cnt] = L1[cnt-1]; } H1[0] = H; L1[0] = L; } if H > H1[0] Then H1[0] = H; if L < L1[0] Then L1[0] = L; if H1[sto1-1] > 0 and L1[sto1-1] > 0 then { if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분1 > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and 분1 > 1 and TM >= TM[1]+분1) or (Bdate == Bdate[1] and 분1 == 1 and TM > TM[1]) Then { idx1 = idx1+1; PreSK1 = SK1[1]; PreSD1 = SD1[1]; } Hv1 = H1[0]; LV1 = L1[0]; for cnt = 0 to sto1-1 { if H1[cnt] > Hv1 then Hv1 = H1[cnt]; if L1[cnt] < LV1 then LV1 = L1[cnt]; } FK1 = (C-LV1)/(HV1-LV1)*100; if idx1 <= 1 then { SK1 = FK1; SD1 = SK1; } else { SK1 = FK1 * EP1 + PreSK1 * (1-EP1); SD1 = SK1 * EP2 + PreSD1 * (1-EP2); } plot3(SK1,"분1 k"); plot4(SD1,"분1 d"); } TF2 = TimeToMinutes(stime)%분2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and 분2 > 1 and TM >= TM[1]+분2) or (Bdate == Bdate[1] and 분2 == 1 and TM > TM[1]) Then { for cnt = 99 downto 1 { H2[cnt] = H2[cnt-1]; L2[cnt] = L2[cnt-1]; } H2[0] = H; L2[0] = L; } if H > H2[0] Then H2[0] = H; if L < L2[0] Then L2[0] = L; if H2[sto1-1] > 0 and L2[sto1-1] > 0 then { if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분2 > 1 and TF2 < TF2[1]) or (Bdate == Bdate[1] and 분2 > 1 and TM >= TM[1]+분2) or (Bdate == Bdate[1] and 분2 == 1 and TM > TM[1]) Then { idx2 = idx2+1; PreSK2 = SK2[1]; PreSD2 = SD2[1]; } Hv2 = H2[0]; LV2 = L2[0]; for cnt = 0 to sto1-1 { if H2[cnt] > Hv2 then Hv2 = H2[cnt]; if L2[cnt] < LV2 then LV2 = L2[cnt]; } FK2 = (C-LV2)/(HV2-LV2)*100; if idx2 <= 1 then { SK2 = FK2; SD2 = SK2; } else { SK2 = FK2 * EP1 + PreSK2 * (1-EP1); SD2 = SK2 * EP2 + PreSD2 * (1-EP2); } plot5(SK2,"분2 k"); plot6(SD2,"분2 d"); } } 즐거운 하루되세요 > 유정란 님이 쓴 글입니다. > 제목 : 수식 작성 관련 문의 드립니다. > 안녕하세요. 하나 더 질문 있습니다. 스토캐스틱 차트 시간에 따라 변동 되는게 아니라 1,3,5분 고정되어 3개가 한번에 하나의 차트에서 표시가 되도록 만들고 싶습니다. 수식 알려주시면 감사하겠습니다. 잘 부탁드립니다.