커뮤니티

시스템식 수정 문의드립니다.

프로필 이미지
doubleh
2016-04-13 21:56:27
74
글번호 97060
답변완료
수식 문의드립니다. 아래 식과 같이 이동평균선들이 정배열이며, 투자심리선이 25이하일 때 매수하여 5%이득나면 매도 3%에 손절하는 수식을 만들었는데, 실제로 거래가 일어나지를 않습니다. 수식중에 혹시 잘못된 부분이 있으면 수정부탁드립니다. input : P1(5),P2(20),P3(60),P4(120),X(5),Y(3); input : Period(100), DNSim(25); var : T1(0),T2(0),T3(0); Var1 = ma(c,P1); # 5일 이동평균선 Var2 = ma(C,P2); # 20일 이동평균선 Var3 = ma(c,P3); # 60일 이동평균선 Var4 = ma(c,p4); # 120일 이동평균선 Var5 = GetUnclearedDeposits("계좌번호"); # 계좌번호 var6 = Simrido(Period); # 투자심리선 if var1>var2 and var2>Var3 and var3>var4 Then T1=1; Else T1=0; if var6<=DNSim Then T2=1; Else T2=0; If T1==1 and T2==1 Then { buy("매수",OnClose,def,Floor((Var5)/C)); } SetStopLoss (X,PercentStop); SetStopProfittarget (Y,PercentStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-04-14 10:41:33

안녕하세요 예스스탁입니다. 우선 식에서 예수금을 가져와 사용할 경우에 예수금과 같은 계좌값은 과거봉에는 제공되지 않습니다. 즉 해당 값들은 과거 히스토리데이터가 있지 않습니다. 실시간에서만 제공되는 내용이므로 과거봉에서 신호를 볼수는 없습니다. 아래와 같이 적용시점이전 과거봉과 실시간에서 신호발생시로 나누어 작성해 주셔야 합니다. input : P1(5),P2(20),P3(60),P4(120),X(5),Y(3); input : Period(100), DNSim(25); var : T1(0),T2(0),T3(0); Var1 = ma(c,P1); # 5일 이동평균선 Var2 = ma(C,P2); # 20일 이동평균선 Var3 = ma(c,P3); # 60일 이동평균선 Var4 = ma(c,p4); # 120일 이동평균선 Var5 = GetUnclearedDeposits("계좌번호"); # 계좌번호 var6 = Simrido(Period); # 투자심리선 if var1>var2 and var2>Var3 and var3>var4 Then T1=1; Else T1=0; if var6 <= DNSim Then T2=1; Else T2=0; If T1==1 and T2==1 Then { if var5 > 0 Then buy("매수",OnClose,def,Floor((Var5)/C)); Else buy("매수(과거)",OnClose,def,100); } SetStopLoss (X,PercentStop); SetStopProfittarget (Y,PercentStop); 즐거운 하루되세요 > doubleh 님이 쓴 글입니다. > 제목 : 시스템식 수정 문의드립니다. > 수식 문의드립니다. 아래 식과 같이 이동평균선들이 정배열이며, 투자심리선이 25이하일 때 매수하여 5%이득나면 매도 3%에 손절하는 수식을 만들었는데, 실제로 거래가 일어나지를 않습니다. 수식중에 혹시 잘못된 부분이 있으면 수정부탁드립니다. input : P1(5),P2(20),P3(60),P4(120),X(5),Y(3); input : Period(100), DNSim(25); var : T1(0),T2(0),T3(0); Var1 = ma(c,P1); # 5일 이동평균선 Var2 = ma(C,P2); # 20일 이동평균선 Var3 = ma(c,P3); # 60일 이동평균선 Var4 = ma(c,p4); # 120일 이동평균선 Var5 = GetUnclearedDeposits("계좌번호"); # 계좌번호 var6 = Simrido(Period); # 투자심리선 if var1>var2 and var2>Var3 and var3>var4 Then T1=1; Else T1=0; if var6<=DNSim Then T2=1; Else T2=0; If T1==1 and T2==1 Then { buy("매수",OnClose,def,Floor((Var5)/C)); } SetStopLoss (X,PercentStop); SetStopProfittarget (Y,PercentStop);