커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2019-01-15 11:35:45
191
글번호 125284
답변완료
안녕하세요? 아래는 하나금융투자에서 크루드오일 5분봉을 천연가스 5분봉을 참조하여 매매했던 전략입니다. 예스트레이더에서 사용할 수 있도록 함수 변환 요청드립니다. Var : ii( 0 ), st( 0 ), et( 0),Summercond(False),CMEStartTime(0) ; Var : Sp(0),TickValue(0); Sp = SignalPosition; TickValue = OneTick * PriceScale; Value1 = (10000 * Year(D)) + (100 * 3) + 1; Value2 = 15 - dayofweek(value1); // 3월 두번째 일요일 날짜 value3 = (10000 * Year(D)) + (100 * 11) + 1; value4 = 8 - dayofweek(value3); // 11월 첫번째 일요일 날짜 Summercond = date > (10000 * Year(D)) + (100 * 3) + value2 And date < (10000 * Year(D)) + (100 * 11) + value4; If Summercond = true Then Begin CMEStartTime = 223000; // 써머타임 적용 시, 장시작 시간 et = 0305500; // 써머타임 적용 시, 장종료 시간 End Else Begin CMEStartTime = 233000; // 장 시작 시간 et = 040500; // 장 종료 시간 End; //장 시각후 첫봉에서 참조종목의 시가를 저장 if time >= CMEStartTime And time[1] < CMEStartTime Then value14 = Data2(O); //참조종목의 시가와 종가를 저장 value11 = Data2(C); value12 = Data2(O); //DATA2의 일봉상 양봉인지 음봉인지 계산 value13 = value11 - value14; //22시 30분에 참조종목이 일봉상 양봉이면 매수 //음봉이면 매도 if time >= 223000 And time[1] < 223000 Then Begin if value13 > 0 Then Buy("Buy",Atmarket) Else if value13 < 0 Then Sell("Sell",Atmarket); End; //매수 진입이후 참조종목이 일봉상 음(양)봉이 되면 청산 if SignalPosition = 1 And value11 < value14 Then ExitLong("EL",Atmarket) Else if SignalPosition = -1 And value11 > value14 Then ExitShort("ES",Atmarket); Params : EXTtime(030000); SetStopEndofday(et); //SetStopEndofday(EXTtime);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-01-15 13:38:45

안녕하세요 예스스탁입니다. Var : ii( 0 ), st( 0 ), et( 0),Summercond(False),CMEStartTime(0) ; Var : TickValue(0); var : Year(0); Year = Floor(sdate/10000); TickValue = PriceScale; Value1 = (10000 * Year) + (100 * 3) + 1; Value2 = 15 - dayofweek(value1); // 3월 두번째 일요일 날짜 value3 = (10000 * Year) + (100 * 11) + 1; value4 = 8 - dayofweek(value3); // 11월 첫번째 일요일 날짜 Summercond = date > (10000 * Year) + (100 * 3) + value2 And date < (10000 * Year) + (100 * 11) + value4; If Summercond == true Then Begin CMEStartTime = 223000; // 써머타임 적용 시, 장시작 시간 et = 0305500; // 써머타임 적용 시, 장종료 시간 End Else Begin CMEStartTime = 233000; // 장 시작 시간 et = 040500; // 장 종료 시간 End; //장 시각후 첫봉에서 참조종목의 시가를 저장 if stime >= CMEStartTime And stime[1] < CMEStartTime Then value14 = Data2(O); //참조종목의 시가와 종가를 저장 value11 = Data2(C); value12 = Data2(O); //DATA2의 일봉상 양봉인지 음봉인지 계산 value13 = value11 - value14; //22시 30분에 참조종목이 일봉상 양봉이면 매수 //음봉이면 매도 if stime >= 223000 And stime[1] < 223000 Then Begin if value13 > 0 Then Buy("Buy",Atmarket); Else if value13 < 0 Then Sell("Sell",Atmarket); End; //매수 진입이후 참조종목이 일봉상 음(양)봉이 되면 청산 if MarketPosition == 1 And value11 < value14 Then ExitLong("EL",Atmarket); Else if MarketPosition == -1 And value11 > value14 Then ExitShort("ES",Atmarket); input : EXTtime(030000); if sdate != sdate[1] Then SetStopEndofday(et); if bdate != bdate[1] Then SetStopEndofday(0); //SetStopEndofday(EXTtime); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래는 하나금융투자에서 크루드오일 5분봉을 천연가스 5분봉을 참조하여 매매했던 전략입니다. 예스트레이더에서 사용할 수 있도록 함수 변환 요청드립니다. Var : ii( 0 ), st( 0 ), et( 0),Summercond(False),CMEStartTime(0) ; Var : Sp(0),TickValue(0); Sp = SignalPosition; TickValue = OneTick * PriceScale; Value1 = (10000 * Year(D)) + (100 * 3) + 1; Value2 = 15 - dayofweek(value1); // 3월 두번째 일요일 날짜 value3 = (10000 * Year(D)) + (100 * 11) + 1; value4 = 8 - dayofweek(value3); // 11월 첫번째 일요일 날짜 Summercond = date > (10000 * Year(D)) + (100 * 3) + value2 And date < (10000 * Year(D)) + (100 * 11) + value4; If Summercond = true Then Begin CMEStartTime = 223000; // 써머타임 적용 시, 장시작 시간 et = 0305500; // 써머타임 적용 시, 장종료 시간 End Else Begin CMEStartTime = 233000; // 장 시작 시간 et = 040500; // 장 종료 시간 End; //장 시각후 첫봉에서 참조종목의 시가를 저장 if time >= CMEStartTime And time[1] < CMEStartTime Then value14 = Data2(O); //참조종목의 시가와 종가를 저장 value11 = Data2(C); value12 = Data2(O); //DATA2의 일봉상 양봉인지 음봉인지 계산 value13 = value11 - value14; //22시 30분에 참조종목이 일봉상 양봉이면 매수 //음봉이면 매도 if time >= 223000 And time[1] < 223000 Then Begin if value13 > 0 Then Buy("Buy",Atmarket) Else if value13 < 0 Then Sell("Sell",Atmarket); End; //매수 진입이후 참조종목이 일봉상 음(양)봉이 되면 청산 if SignalPosition = 1 And value11 < value14 Then ExitLong("EL",Atmarket) Else if SignalPosition = -1 And value11 > value14 Then ExitShort("ES",Atmarket); Params : EXTtime(030000); SetStopEndofday(et); //SetStopEndofday(EXTtime);