커뮤니티

분봉에 일봉 스토케스틱 표시

프로필 이미지
다니엘87
2018-01-25 13:00:30
222
글번호 116046
답변완료
안녕하세요. 수식 작성에 어려움 있어 도움 청합니다. 복합장 분봉에 주간장 일봉을 이용한 스토케스틱을 표시하고 이를 기반으로 시스템식을 작성하려 합니다. 아래와 같이 만들어 보았으나 주간장 일봉에 표시된 스토케스틱과 큰 차이가 있어 해결을 못하고 있습니다. 도움 부탁드립니다. 감사합니다. # ----------------------------------------------------------------------------------- Variables : cnt(0), sum(0); Variables : 분봉_시가(0), 분봉_고가(0), 분봉_저가(0), 분봉_종가(0); Arrays : 일봉_시가[100](0), 일봉_고가[100](0), 일봉_저가[100](0), 일봉_종가[100](0); # ---<<< 주간장 >>>--- If (sDate[1] != sDate And 090000 <= sTime) Or (sDate[1] == sDate And sTime[1] < 090000 And 090000 <= sTime) Then Begin # 주간일봉 첫봉 일봉_시가[0] = Open; 일봉_고가[0] = High; 일봉_저가[0] = Low; 일봉_종가[0] = Close; For cnt = 1 To 99 Begin 일봉_시가[cnt] = 일봉_시가[cnt-1][1]; 일봉_고가[cnt] = 일봉_고가[cnt-1][1]; 일봉_저가[cnt] = 일봉_저가[cnt-1][1]; 일봉_종가[cnt] = 일봉_종가[cnt-1][1]; End; 분봉_시가 = Open; 분봉_고가 = High; 분봉_저가 = Low; 분봉_종가 = Close; End; If 090000 < sTime And sTime < 180000 then Begin # 주간장 If 분봉_고가 < High Then 분봉_고가 = High; If 분봉_저가 > Low Then 분봉_저가 = Low; 분봉_종가 = Close; 일봉_고가[0] = 분봉_고가; 일봉_저가[0] = 분봉_저가; 일봉_종가[0] = 분봉_종가; End; #---------------------------------------------------------------- Variables : 기간1(5), 기간2(3), 기간3(3); Variables : 최고가(0), 최저가(0); Arrays : V_FastK[30](0), V_SlowK[10](0), V_SlowD[10](0); If (sDate[1] != sDate And 090000 <= sTime) Or # 주간일봉 첫봉 (sDate[1] == sDate And sTime[1] < 090000 And 090000 <= sTime) Then Begin 최고가 = 일봉_고가[0]; 최저가 = 일봉_저가[0]; For cnt = 1 to 기간1 Begin If 최고가 < 일봉_고가[cnt] Then 최고가 = 일봉_고가[cnt]; If 최저가 > 일봉_저가[cnt] Then 최저가 = 일봉_저가[cnt]; End; V_FastK[0] = (Close - 최저가) / (최고가 - 최저가) * 100; For cnt = 1 to 기간2 Begin sum = sum + V_FastK[cnt]; End; V_SlowK[0] = sum / 기간2; For cnt = 1 to 기간2 Begin sum = sum + V_FastK[cnt]; End; V_SlowD[0] = sum / 기간3; End; plot1(V_SlowK[0]); Plot2(V_SlowD[0]);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-01-26 09:33:15

안녕하세요 예스스탁입니다. 작성하신 식은 단순이평기반의 스토케스틱입니다. 기본제공되는 스토케스틱은 지수이평기반입니다. input : 기간1(5), 기간2(3), 기간3(3); var1 = FastK(기간1); var2 = ma(var1,기간2); var3 = ma(var2,기간3); plot1(var2); plot2(var3); 일봉에 위 내용 적용하고 비교해 보시면 됩니다. 수정한 식입니다. input : 기간1(5), 기간2(3), 기간3(3); Var : cnt(0), sum(0),최고가(0), 최저가(0); Arrays : 일봉_시가[100](0), 일봉_고가[100](0), 일봉_저가[100](0), 일봉_종가[100](0); Arrays : V_FastK[30](0), V_SlowK[10](0), V_SlowD[10](0); If (sDate[1] != sDate And 090000 <= sTime) Or (sDate[1] == sDate And sTime[1] < 090000 And 090000 <= sTime) Then Begin 일봉_시가[0] = Open; 일봉_고가[0] = High; 일봉_저가[0] = Low; 일봉_종가[0] = Close; For cnt = 1 To 99 Begin 일봉_시가[cnt] = 일봉_시가[cnt-1][1]; 일봉_고가[cnt] = 일봉_고가[cnt-1][1]; 일봉_저가[cnt] = 일봉_저가[cnt-1][1]; 일봉_종가[cnt] = 일봉_종가[cnt-1][1]; V_FastK[cnt] = V_FastK[cnt-1][1]; V_SlowK[cnt] = V_SlowK[cnt-1][1]; V_SlowD[cnt] = V_SlowD[cnt-1][1]; End; End; If 090000 <= sTime And sTime < 180000 then Begin If 일봉_고가[0] < High Then 일봉_고가[0] = High; If 일봉_저가[0] > Low Then 일봉_저가[0] = Low; 일봉_종가[cnt] = Close; End; if 일봉_고가[기간1-1] > 0 then{ 최고가 = 일봉_고가[0]; 최저가 = 일봉_저가[0]; For cnt = 0 to 기간1-1 Begin If 최고가 < 일봉_고가[cnt] Then 최고가 = 일봉_고가[cnt]; If 최저가 > 일봉_저가[cnt] Then 최저가 = 일봉_저가[cnt]; End; V_FastK[0] = (일봉_종가[0] - 최저가) / (최고가 - 최저가) * 100; } if V_FastK[기간2-1] > 0 then{ sum = 0; For cnt = 0 to 기간2-1 Begin sum = sum + V_FastK[cnt]; End; V_SlowK[0] = sum / 기간2; plot1(V_SlowK[0]); } if V_SlowK[기간3-1] > 0 then{ sum = 0; For cnt = 0 to 기간3-1 Begin sum = sum + V_SlowK[cnt]; End; V_SlowD[0] = sum / 기간3; Plot2(V_SlowD[0]); } 즐거운 하루되세요 > 다니엘87 님이 쓴 글입니다. > 제목 : 분봉에 일봉 스토케스틱 표시 > 안녕하세요. 수식 작성에 어려움 있어 도움 청합니다. 복합장 분봉에 주간장 일봉을 이용한 스토케스틱을 표시하고 이를 기반으로 시스템식을 작성하려 합니다. 아래와 같이 만들어 보았으나 주간장 일봉에 표시된 스토케스틱과 큰 차이가 있어 해결을 못하고 있습니다. 도움 부탁드립니다. 감사합니다. # ----------------------------------------------------------------------------------- Variables : cnt(0), sum(0); Variables : 분봉_시가(0), 분봉_고가(0), 분봉_저가(0), 분봉_종가(0); Arrays : 일봉_시가[100](0), 일봉_고가[100](0), 일봉_저가[100](0), 일봉_종가[100](0); # ---<<< 주간장 >>>--- If (sDate[1] != sDate And 090000 <= sTime) Or (sDate[1] == sDate And sTime[1] < 090000 And 090000 <= sTime) Then Begin # 주간일봉 첫봉 일봉_시가[0] = Open; 일봉_고가[0] = High; 일봉_저가[0] = Low; 일봉_종가[0] = Close; For cnt = 1 To 99 Begin 일봉_시가[cnt] = 일봉_시가[cnt-1][1]; 일봉_고가[cnt] = 일봉_고가[cnt-1][1]; 일봉_저가[cnt] = 일봉_저가[cnt-1][1]; 일봉_종가[cnt] = 일봉_종가[cnt-1][1]; End; 분봉_시가 = Open; 분봉_고가 = High; 분봉_저가 = Low; 분봉_종가 = Close; End; If 090000 < sTime And sTime < 180000 then Begin # 주간장 If 분봉_고가 < High Then 분봉_고가 = High; If 분봉_저가 > Low Then 분봉_저가 = Low; 분봉_종가 = Close; 일봉_고가[0] = 분봉_고가; 일봉_저가[0] = 분봉_저가; 일봉_종가[0] = 분봉_종가; End; #---------------------------------------------------------------- Variables : 기간1(5), 기간2(3), 기간3(3); Variables : 최고가(0), 최저가(0); Arrays : V_FastK[30](0), V_SlowK[10](0), V_SlowD[10](0); If (sDate[1] != sDate And 090000 <= sTime) Or # 주간일봉 첫봉 (sDate[1] == sDate And sTime[1] < 090000 And 090000 <= sTime) Then Begin 최고가 = 일봉_고가[0]; 최저가 = 일봉_저가[0]; For cnt = 1 to 기간1 Begin If 최고가 < 일봉_고가[cnt] Then 최고가 = 일봉_고가[cnt]; If 최저가 > 일봉_저가[cnt] Then 최저가 = 일봉_저가[cnt]; End; V_FastK[0] = (Close - 최저가) / (최고가 - 최저가) * 100; For cnt = 1 to 기간2 Begin sum = sum + V_FastK[cnt]; End; V_SlowK[0] = sum / 기간2; For cnt = 1 to 기간2 Begin sum = sum + V_FastK[cnt]; End; V_SlowD[0] = sum / 기간3; End; plot1(V_SlowK[0]); Plot2(V_SlowD[0]);