커뮤니티
타주기 오류수정
2014-10-01 08:44:56
154
글번호 78971
항상감사드립니다
아래 타주기 시스템식의 오류를 수정해주시기 바랍니다
주챠트:200틱
타주기:1분(기하이동평균적용)
시스템식에서 주챠트는 검정된 식인데 타주기챠트에 36기하이동평균을 적용하고싶습니다
그런데 생각되로 되질않네요(주챠트에 적용된식으로만 신호가나옵니다/타주기챠트에 는 기하이평 36고가,36저가선을 적용해서 수식을 만들고 싶습니다
######################
### 기하이동평균선 ###
######################
input : P1(36),P2(72);
var : Hi1(0,data1),LL1(0,data1),CC1(0,data1),cnt(0,data1);
var : Hma11(0,data1),Lma11(0,data1),Cma11(0,data1);
var : Hma12(0,data1),Lma12(0,data1),Cma12(0,data1);
var : Hi2(0,data2),LL2(0,data2),CC2(0,data2);
var : Hma21(0,data2),Lma21(0,data2),Cma21(0,data2);
var : Hma22(0,data2),Lma22(0,data2),Cma22(0,data2);
###########
## data1 ##
###########
Hi1 = data1(Log(H));
LL1 = data1(Log(L));
CC1 = data1(Log(C));
Hma11 = 0;
Lma11 = 0;
Cma11 = 0;
for cnt = 0 to P1-1 begin
Hma11 = Hma11 + HI1[cnt];
Lma11 = Lma11 + LL1[cnt];
Cma11 = Cma11 + CC1[cnt];
end;
Hma11 = 2.71828182845904^(Hma11/P1); #Hma1 36 기하이평 고가#
Lma11 = 2.71828182845904^(Lma11/P1); #Lma1 36 기하이평 저가#
Cma11 = 2.71828182845904^(Cma11/P1); #Cma1 36 기하이평 종가#
Hma12 = 0;
Lma12 = 0;
Cma12 = 0;
for cnt = 0 to P2-1 begin
Hma12 = Hma12 + HI1[cnt];
Lma12 = Lma12 + LL1[cnt];
Cma12 = Cma12 + CC1[cnt];
end;
Hma12 = 2.71828182845904^(Hma12/P2); #Hma2 72 기하이평 고가#
Lma12 = 2.71828182845904^(Lma12/P2); #Lma2 72 기하이평 저가#
Cma12 = 2.71828182845904^(Cma12/P2); #Cma2 72 기하이평 종가#
###########
## data2 ##
###########
Hi2 = data2(Log(H));
LL2 = data2(Log(L));
CC2 = data2(Log(C));
Hma21 = 0;
Lma21 = 0;
Cma21 = 0;
for cnt = 0 to P1-1 begin
Hma21 = Hma21 + HI2[cnt];
Lma21 = Lma21 + LL2[cnt];
Cma21 = Cma21 + CC2[cnt];
end;
Hma21 = 2.71828182845904^(Hma21/P1); #Hma1 36 기하이평 고가#
Lma21 = 2.71828182845904^(Lma21/P1); #Lma1 36 기하이평 저가#
Cma21 = 2.71828182845904^(Cma21/P1); #Cma1 36 기하이평 종가#
Hma22 = 0;
Lma22 = 0;
Cma22 = 0;
for cnt = 0 to P2-1 begin
Hma22 = Hma22 + HI2[cnt];
Lma22 = Lma22 + LL2[cnt];
Cma22 = Cma22 + CC2[cnt];
end;
Hma22 = 2.71828182845904^(Hma22/P2); #Hma2 72 기하이평 고가#
Lma22 = 2.71828182845904^(Lma22/P2); #Lma2 72 기하이평 저가#
Cma22 = 2.71828182845904^(Cma22/P2); #Cma2 72 기하이평 종가#
###시스템식###
if V10 == 1 and data1(c)>선행1[25] and var13==1 and macdv1>macds1 and upAroon1 >
DnAroon1 and c>Hma21 Then
buy("B1");
if V10 == -1 and data1(c)<선행1[25] and var13==-1 and macdv1<macds1 and upAroon1 <
DnAroon1 And c<Lma21 Then
sell("S1");
답변 1
예스스탁 예스스탁 답변
2014-10-01 11:48:40
안녕하세요
예스스탁입니다.
현재 수식상의 주종목과 타주기식은 모두 맞게 작성이 되어 있습니다.
확인해 보니 값도 정확히 리턴됩니다.
Hma21이 data2 36고가기하이평
Lma21이 data2 36저가기하이평이므로
참조데이터의 값과 비교시에 data2(c)을 사용하시기 바랍니다.
올려주신 식 내용에서는 위 변수가 주종목의 종가와 비교하게 되어 있는 부분을
제외하고는 특별한 문제가 없습니다.
주종목봉 완성시 최근 완성되어 있는 참조봉의 값을 보므로 data2(c)와 비교하시면 됩니다.
if V10 == 1 and data1(c)>선행1[25] and var13==1 and macdv1>macds1 and upAroon1 >
DnAroon1 and data2(c)>Hma21 Then
buy("B1");
if V10 == -1 and data1(c)<선행1[25] and var13==-1 and macdv1<macds1 and upAroon1 <
DnAroon1 And data2(c) <Lma21 Then
sell("S1");
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 타주기 오류수정
> 항상감사드립니다
아래 타주기 시스템식의 오류를 수정해주시기 바랍니다
주챠트:200틱
타주기:1분(기하이동평균적용)
시스템식에서 주챠트는 검정된 식인데 타주기챠트에 36기하이동평균을 적용하고싶습니다
그런데 생각되로 되질않네요(주챠트에 적용된식으로만 신호가나옵니다/타주기챠트에 는 기하이평 36고가,36저가선을 적용해서 수식을 만들고 싶습니다
######################
### 기하이동평균선 ###
######################
input : P1(36),P2(72);
var : Hi1(0,data1),LL1(0,data1),CC1(0,data1),cnt(0,data1);
var : Hma11(0,data1),Lma11(0,data1),Cma11(0,data1);
var : Hma12(0,data1),Lma12(0,data1),Cma12(0,data1);
var : Hi2(0,data2),LL2(0,data2),CC2(0,data2);
var : Hma21(0,data2),Lma21(0,data2),Cma21(0,data2);
var : Hma22(0,data2),Lma22(0,data2),Cma22(0,data2);
###########
## data1 ##
###########
Hi1 = data1(Log(H));
LL1 = data1(Log(L));
CC1 = data1(Log(C));
Hma11 = 0;
Lma11 = 0;
Cma11 = 0;
for cnt = 0 to P1-1 begin
Hma11 = Hma11 + HI1[cnt];
Lma11 = Lma11 + LL1[cnt];
Cma11 = Cma11 + CC1[cnt];
end;
Hma11 = 2.71828182845904^(Hma11/P1); #Hma1 36 기하이평 고가#
Lma11 = 2.71828182845904^(Lma11/P1); #Lma1 36 기하이평 저가#
Cma11 = 2.71828182845904^(Cma11/P1); #Cma1 36 기하이평 종가#
Hma12 = 0;
Lma12 = 0;
Cma12 = 0;
for cnt = 0 to P2-1 begin
Hma12 = Hma12 + HI1[cnt];
Lma12 = Lma12 + LL1[cnt];
Cma12 = Cma12 + CC1[cnt];
end;
Hma12 = 2.71828182845904^(Hma12/P2); #Hma2 72 기하이평 고가#
Lma12 = 2.71828182845904^(Lma12/P2); #Lma2 72 기하이평 저가#
Cma12 = 2.71828182845904^(Cma12/P2); #Cma2 72 기하이평 종가#
###########
## data2 ##
###########
Hi2 = data2(Log(H));
LL2 = data2(Log(L));
CC2 = data2(Log(C));
Hma21 = 0;
Lma21 = 0;
Cma21 = 0;
for cnt = 0 to P1-1 begin
Hma21 = Hma21 + HI2[cnt];
Lma21 = Lma21 + LL2[cnt];
Cma21 = Cma21 + CC2[cnt];
end;
Hma21 = 2.71828182845904^(Hma21/P1); #Hma1 36 기하이평 고가#
Lma21 = 2.71828182845904^(Lma21/P1); #Lma1 36 기하이평 저가#
Cma21 = 2.71828182845904^(Cma21/P1); #Cma1 36 기하이평 종가#
Hma22 = 0;
Lma22 = 0;
Cma22 = 0;
for cnt = 0 to P2-1 begin
Hma22 = Hma22 + HI2[cnt];
Lma22 = Lma22 + LL2[cnt];
Cma22 = Cma22 + CC2[cnt];
end;
Hma22 = 2.71828182845904^(Hma22/P2); #Hma2 72 기하이평 고가#
Lma22 = 2.71828182845904^(Lma22/P2); #Lma2 72 기하이평 저가#
Cma22 = 2.71828182845904^(Cma22/P2); #Cma2 72 기하이평 종가#
###시스템식###
if V10 == 1 and data1(c)>선행1[25] and var13==1 and macdv1>macds1 and upAroon1 >
DnAroon1 and c>Hma21 Then
buy("B1");
if V10 == -1 and data1(c)<선행1[25] and var13==-1 and macdv1<macds1 and upAroon1 <
DnAroon1 And c<Lma21 Then
sell("S1");