커뮤니티
분봉에 일봉 스토케스틱 표시
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]);
이전글