커뮤니티

스토케스틱 계산식이 100 이상이 나옵니다. 조언 부탁드립니다.

프로필 이미지
다니엘87
2019-02-18 01:19:12
220
글번호 126257
답변완료
일봉 스토케스틱을 분봉에 표시할 수 있는 식을 다음과 같이 짰습니다. 그런데 100을 넘는 수치가 종종 보입니다. (스토케스틱은 100을 넘지 않아야 하는데 말입니다.) 그 이유는 일봉_종가[0]가 일봉_고가[0]보다 높게 나타나는 부분이 있다고 생각합니다. 그런데 왜 그런 값이 나오는지 모르겠습니다. 조언 부탁드립니다. # ===<<< 분봉 차트에서 일봉 시고저종 계산 >>>=========================================== Arrays : 일봉_시가[100](0), 일봉_고가[100](0), 일봉_저가[100](0), 일봉_종가[100](0); Variables : cnt(0); If (sDate[1] != sDate And 080000 <= sTime) Or (sDate[1] == sDate And sTime[1] < 080000 And 080000 <= sTime) Then Begin For cnt = 99 DownTo 1 Begin 일봉_시가[cnt] = 일봉_시가[cnt-1]; 일봉_고가[cnt] = 일봉_고가[cnt-1]; 일봉_저가[cnt] = 일봉_저가[cnt-1]; 일봉_종가[cnt] = 일봉_종가[cnt-1]; End; 일봉_시가[0] = Open; 일봉_고가[0] = High; 일봉_저가[0] = Low; 일봉_종가[0] = Close; End; If 080000 <= sTime And sTime < 180000 then Begin If 일봉_고가[0] < High Then 일봉_고가[0] = High; If 일봉_저가[0] > Low Then 일봉_저가[0] = Low; 일봉_종가[0] = Close; End; # ===<<< 분봉 차트에서 일봉 스토케스틱 계산 >>>======================================== Arrays : 스토케스틱_FastK[30](0), 스토케스틱_SlowK[30](0), 스토케스틱_SlowD[30](0); Inputs : 기간1(5), 기간2(3), 기간3(3); Variables : 기간중고가(0), 기간중저가(0); If (sDate[1] != sDate And 080000 <= sTime) Or (sDate[1] == sDate And sTime[1] < 080000 And 080000 <= sTime) Then Begin For cnt = 29 DownTo 1 Begin 스토케스틱_FastK[cnt] = 스토케스틱_FastK[cnt-1]; 스토케스틱_SlowK[cnt] = 스토케스틱_SlowK[cnt-1]; 스토케스틱_SlowD[cnt] = 스토케스틱_SlowD[cnt-1]; End; 기간중고가 = 일봉_고가[0]; 기간중저가 = 일봉_저가[0]; End; If 080000 <= sTime And sTime < 180000 then Begin For cnt = 1 to 기간1-1 Begin If 기간중고가 < 일봉_고가[cnt] Then 기간중고가 = 일봉_고가[cnt]; If 기간중저가 > 일봉_저가[cnt] Then 기간중저가 = 일봉_저가[cnt]; End; 스토케스틱_FastK[0] = (일봉_종가[0]-기간중저가) / (기간중고가-기간중저가) * 100; 스토케스틱_SlowK[0] = (스토케스틱_FastK[0]*3 + 스토케스틱_FastK[1]*2 + 스토케스틱_FastK[2]*1) / 6; 스토케스틱_SlowD[0] = (스토케스틱_SlowK[0]*3 + 스토케스틱_SlowK[1]*2 + 스토케스틱_SlowK[2]*1) / 6; End; # ####<< 화면 출력 >>>##################################################################### Plot1(스토케스틱_SlowK[0],"스토케스틱_SlowK"); Plot2(스토케스틱_SlowD[0],"스토케스틱_SlowD");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-02-18 15:23:48

안녕하세요 예스스스탁입니다. fastk를 계산할때 당일미포함으로 전일이전기간으로 최고가와 최저가가 계산됩니다. 당일이 포함되어야 100을 넘지 않습니다. # ===<<< 분봉 차트에서 일봉 시고저종 계산 >>>=========================================== Arrays : 일봉_시가[100](0), 일봉_고가[100](0), 일봉_저가[100](0), 일봉_종가[100](0); Variables : cnt(0); If (sDate[1] != sDate And 080000 <= sTime) Or (sDate[1] == sDate And sTime[1] < 080000 And 080000 <= sTime) Then Begin For cnt = 99 DownTo 1 Begin 일봉_시가[cnt] = 일봉_시가[cnt-1]; 일봉_고가[cnt] = 일봉_고가[cnt-1]; 일봉_저가[cnt] = 일봉_저가[cnt-1]; 일봉_종가[cnt] = 일봉_종가[cnt-1]; End; 일봉_시가[0] = Open; 일봉_고가[0] = High; 일봉_저가[0] = Low; 일봉_종가[0] = Close; End; If 080000 <= sTime And sTime < 180000 then Begin If 일봉_고가[0] < High Then 일봉_고가[0] = High; If 일봉_저가[0] > Low Then 일봉_저가[0] = Low; 일봉_종가[0] = Close; End; # ===<<< 분봉 차트에서 일봉 스토케스틱 계산 >>>======================================== Arrays : 스토케스틱_FastK[30](0), 스토케스틱_SlowK[30](0), 스토케스틱_SlowD[30](0); Inputs : 기간1(5), 기간2(3), 기간3(3); Variables : 기간중고가(0), 기간중저가(0); If (sDate[1] != sDate And 080000 <= sTime) Or (sDate[1] == sDate And sTime[1] < 080000 And 080000 <= sTime) Then Begin For cnt = 29 DownTo 1 Begin 스토케스틱_FastK[cnt] = 스토케스틱_FastK[cnt-1]; 스토케스틱_SlowK[cnt] = 스토케스틱_SlowK[cnt-1]; 스토케스틱_SlowD[cnt] = 스토케스틱_SlowD[cnt-1]; End; 기간중고가 = 일봉_고가[0]; 기간중저가 = 일봉_저가[0]; End; If 080000 <= sTime And sTime < 180000 then Begin For cnt = 0 to 기간1-1 Begin If 기간중고가 < 일봉_고가[cnt] Then 기간중고가 = 일봉_고가[cnt]; If 기간중저가 > 일봉_저가[cnt] Then 기간중저가 = 일봉_저가[cnt]; End; 스토케스틱_FastK[0] = (일봉_종가[0]-기간중저가) / (기간중고가-기간중저가) * 100; 스토케스틱_SlowK[0] = (스토케스틱_FastK[0]*3 + 스토케스틱_FastK[1]*2 + 스토케스틱_FastK[2]*1) / 6; 스토케스틱_SlowD[0] = (스토케스틱_SlowK[0]*3 + 스토케스틱_SlowK[1]*2 + 스토케스틱_SlowK[2]*1) / 6; End; # ####<< 화면 출력 >>>##################################################################### Plot1(스토케스틱_SlowK[0],"스토케스틱_SlowK"); Plot2(스토케스틱_SlowD[0],"스토케스틱_SlowD"); 즐거운 하루되세요 > 다니엘87 님이 쓴 글입니다. > 제목 : 스토케스틱 계산식이 100 이상이 나옵니다. 조언 부탁드립니다. > 일봉 스토케스틱을 분봉에 표시할 수 있는 식을 다음과 같이 짰습니다. 그런데 100을 넘는 수치가 종종 보입니다. (스토케스틱은 100을 넘지 않아야 하는데 말입니다.) 그 이유는 일봉_종가[0]가 일봉_고가[0]보다 높게 나타나는 부분이 있다고 생각합니다. 그런데 왜 그런 값이 나오는지 모르겠습니다. 조언 부탁드립니다. # ===<<< 분봉 차트에서 일봉 시고저종 계산 >>>=========================================== Arrays : 일봉_시가[100](0), 일봉_고가[100](0), 일봉_저가[100](0), 일봉_종가[100](0); Variables : cnt(0); If (sDate[1] != sDate And 080000 <= sTime) Or (sDate[1] == sDate And sTime[1] < 080000 And 080000 <= sTime) Then Begin For cnt = 99 DownTo 1 Begin 일봉_시가[cnt] = 일봉_시가[cnt-1]; 일봉_고가[cnt] = 일봉_고가[cnt-1]; 일봉_저가[cnt] = 일봉_저가[cnt-1]; 일봉_종가[cnt] = 일봉_종가[cnt-1]; End; 일봉_시가[0] = Open; 일봉_고가[0] = High; 일봉_저가[0] = Low; 일봉_종가[0] = Close; End; If 080000 <= sTime And sTime < 180000 then Begin If 일봉_고가[0] < High Then 일봉_고가[0] = High; If 일봉_저가[0] > Low Then 일봉_저가[0] = Low; 일봉_종가[0] = Close; End; # ===<<< 분봉 차트에서 일봉 스토케스틱 계산 >>>======================================== Arrays : 스토케스틱_FastK[30](0), 스토케스틱_SlowK[30](0), 스토케스틱_SlowD[30](0); Inputs : 기간1(5), 기간2(3), 기간3(3); Variables : 기간중고가(0), 기간중저가(0); If (sDate[1] != sDate And 080000 <= sTime) Or (sDate[1] == sDate And sTime[1] < 080000 And 080000 <= sTime) Then Begin For cnt = 29 DownTo 1 Begin 스토케스틱_FastK[cnt] = 스토케스틱_FastK[cnt-1]; 스토케스틱_SlowK[cnt] = 스토케스틱_SlowK[cnt-1]; 스토케스틱_SlowD[cnt] = 스토케스틱_SlowD[cnt-1]; End; 기간중고가 = 일봉_고가[0]; 기간중저가 = 일봉_저가[0]; End; If 080000 <= sTime And sTime < 180000 then Begin For cnt = 1 to 기간1-1 Begin If 기간중고가 < 일봉_고가[cnt] Then 기간중고가 = 일봉_고가[cnt]; If 기간중저가 > 일봉_저가[cnt] Then 기간중저가 = 일봉_저가[cnt]; End; 스토케스틱_FastK[0] = (일봉_종가[0]-기간중저가) / (기간중고가-기간중저가) * 100; 스토케스틱_SlowK[0] = (스토케스틱_FastK[0]*3 + 스토케스틱_FastK[1]*2 + 스토케스틱_FastK[2]*1) / 6; 스토케스틱_SlowD[0] = (스토케스틱_SlowK[0]*3 + 스토케스틱_SlowK[1]*2 + 스토케스틱_SlowK[2]*1) / 6; End; # ####<< 화면 출력 >>>##################################################################### Plot1(스토케스틱_SlowK[0],"스토케스틱_SlowK"); Plot2(스토케스틱_SlowD[0],"스토케스틱_SlowD");