커뮤니티

함수변환요청(251)

프로필 이미지
통큰베팅
2016-06-20 09:09:59
195
글번호 99277
답변완료
안녕하세요? 아래는 시그널메이커(한국금융IT)로 사용했던 5ma, 20ma 골든크로스 매수, 데드크로스 매도 전략입니다. 예스트레이더에서 사용할 수 있도록 함수변환을 요청드립니다. Input : xtime(60000); Var : tcond(false),cond1(false),cond2(false); Var : st(0), et(0); If (Month(Date) = 3 And ((DayofWeek(Date) = MONDAY And DayofMonth(Date) > 7) Or DayofMonth(Date) > 14)) Or (Month(Date) = 11 And ((DayofWeek(Date) = MONDAY And DayofMonth(Date) < 8) Or DayofMonth(Date) < 7)) Or (Month(Date) > 3 And Month(Date) < 11) Then Begin st = 70000; // 장시작 시간 et = 60000; // 장종료 시간 End Else Begin st = 80000; // 장 시작 시간 et = 70000; // 장 종료 시간 End; value1 = time; if value1 == xtime or (value1 > xtime and value1[1] < xtime) Then Begin Tcond = false; Condition1 = false; Condition2 = false; End else If value1 >= st Or value1 < xtime Then Begin Tcond = true; End; var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 = true and cond1[1] = false Then Begin Condition1 = true; Condition2 = False; End Else if cond2 = true and cond2[1] = false Then Begin Condition1 = False; Condition2 = true; End; if Tcond = true Then Begin if Condition1 = true And var1 > var1[1] And var2 > var2[1] Then Buy("B") else if Condition2 = true And var1 < var1[1] And var2 < var2[1] Then sell("S"); End; SetStopLoss(1,PercentStop); SetStopProfittarget(2,PercentStop); value2 = onetick*pricescale; SetStopInactivity(100*value2,20,pointstop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-06-21 09:34:40

안녕하세요 예스스탁입니다. Input : xtime(60000); Var : tcond(false),cond1(false),cond2(false); Var : st(0), et(0); var : Month(0),nday(0); Month = Floor(FracPortion(sdate/10000)*100); nday = (date - int(date/100)*100); If (Month == 3 And ((DayofWeek(Date) == 1 And nday > 7) Or nday > 14)) Or (Month == 11 And ((DayofWeek(Date) == 1 And nday < 8) Or nday < 7)) Or (Month > 3 And Month < 11) Then { st = 70000; // 장시작 시간 et = 60000; // 장종료 시간 } Else { st = 80000; // 장 시작 시간 et = 70000; // 장 종료 시간 } value1 = stime; if value1 == xtime or (value1 > xtime and value1[1] < xtime) Then { Tcond = false; Condition1 = false; Condition2 = false; } else If value1 >= st Or value1 < xtime Then { Tcond = true; } var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false Then { Condition1 = true; Condition2 = False; } Else if cond2 == true and cond2[1] == false Then { Condition1 = False; Condition2 = true; } if Tcond = true Then { if Condition1 = true And var1 > var1[1] And var2 > var2[1] Then Buy("B"); else if Condition2 = true And var1 < var1[1] And var2 < var2[1] Then sell("S"); } SetStopLoss(1,PercentStop); SetStopProfittarget(2,PercentStop); SetStopInactivity(100*PriceScale,20,pointstop); 즐거운 하루되세요 > 통큰베팅 님이 쓴 글입니다. > 제목 : 함수변환요청(251) > 안녕하세요? 아래는 시그널메이커(한국금융IT)로 사용했던 5ma, 20ma 골든크로스 매수, 데드크로스 매도 전략입니다. 예스트레이더에서 사용할 수 있도록 함수변환을 요청드립니다. Input : xtime(60000); Var : tcond(false),cond1(false),cond2(false); Var : st(0), et(0); If (Month(Date) = 3 And ((DayofWeek(Date) = MONDAY And DayofMonth(Date) > 7) Or DayofMonth(Date) > 14)) Or (Month(Date) = 11 And ((DayofWeek(Date) = MONDAY And DayofMonth(Date) < 8) Or DayofMonth(Date) < 7)) Or (Month(Date) > 3 And Month(Date) < 11) Then Begin st = 70000; // 장시작 시간 et = 60000; // 장종료 시간 End Else Begin st = 80000; // 장 시작 시간 et = 70000; // 장 종료 시간 End; value1 = time; if value1 == xtime or (value1 > xtime and value1[1] < xtime) Then Begin Tcond = false; Condition1 = false; Condition2 = false; End else If value1 >= st Or value1 < xtime Then Begin Tcond = true; End; var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 = true and cond1[1] = false Then Begin Condition1 = true; Condition2 = False; End Else if cond2 = true and cond2[1] = false Then Begin Condition1 = False; Condition2 = true; End; if Tcond = true Then Begin if Condition1 = true And var1 > var1[1] And var2 > var2[1] Then Buy("B") else if Condition2 = true And var1 < var1[1] And var2 < var2[1] Then sell("S"); End; SetStopLoss(1,PercentStop); SetStopProfittarget(2,PercentStop); value2 = onetick*pricescale; SetStopInactivity(100*value2,20,pointstop);