커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2018-12-05 13:01:30
189
글번호 124169
답변완료
아래 글번호 60323번 재질문 드립니다. 함수요청드립니다. 해외선물 크루드오일 30분봉으로 거래를 하고자 합니다. 써머타임 적용시에는 1번으로, 써머타임 해지시에는 2번전략으로 거래를 하고자 합니다. 하나의 스크립트로 요청드립니다. 1. 써머타임 적용시 -매수: 23시 30분 시점에 현재가 > 00시 30분 시점에 현재가 이면, 익일 2시 시초가 진입 -매도: 23시 30분 시점에 현재가 < 00시 30분 시점에 현재가 이면, 익일 2시 시초가 진입 -청산: SetStopEndOfday(043000); -당일 진입, 당일 청산으로 1번 왕복 거래입니다. 2. 써머타임 해지시 -매수: 22시 30분 시점에 현재가 > 23시 30분 시점에 현재가 이면, 익일 1시 시초가 진입 -매도: 22시 30분 시점에 현재가 < 23시 30분 시점에 현재가 이면, 익일 1시 시초가 진입 -청산: SetStopEndOfday(033000); -당일 진입, 당일 청산으로 1번 왕복 거래입니다. 두 시점의 현재가를 비교하여 특정 시각에 진입한다는 컨셉입니다. 바쁘시고 번거로우시겠지만 작성 부탁드립니다. (진입시각을 변경하였습니다.)
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-12-05 13:50:42

안녕하세요 예스스탁입니다. Var : Summer(False),Year(0); Year = Floor(sDate / 10000); Value1 = (10000 * Year) + (100 * 3) + 1; Value2 = 15 - dayofweek(value1); value3 = (10000 * Year) + (100 * 11) + 1; value4 = 8 - dayofweek(value3); Summer = date > (10000 * Year) + (100 * 3) + value2 And date < (10000 * Year) + (100 * 11) + value4; if summer == true then { if sdate != sdate[1] Then SetStopEndofday(043000); if bdate != bdate[1] Then SetStopEndofday(0); if stime == 233000 then var1 = C; if stime == 003000 Then var2 = C; if NextBarStime >= 020000 and stime < 020000 and var1 < var2 Then Sell("s1",AtMarket); if NextBarStime >= 020000 and stime < 020000 and var1 > var2 Then Buy("b1",AtMarket); } if summer == False then { if sdate != sdate[1] Then SetStopEndofday(033000); if bdate != bdate[1] Then SetStopEndofday(0); if stime == 223000 then var1 = C; if stime == 033000 Then var2 = C; if NextBarStime >= 010000 and stime < 010000 and var1 < var2 Then Sell("s2",AtMarket); if NextBarStime >= 010000 and stime < 010000 and var1 > var2 Then Buy("b2",AtMarket); } 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 아래 글번호 60323번 재질문 드립니다. 함수요청드립니다. 해외선물 크루드오일 30분봉으로 거래를 하고자 합니다. 써머타임 적용시에는 1번으로, 써머타임 해지시에는 2번전략으로 거래를 하고자 합니다. 하나의 스크립트로 요청드립니다. 1. 써머타임 적용시 -매수: 23시 30분 시점에 현재가 > 00시 30분 시점에 현재가 이면, 익일 2시 시초가 진입 -매도: 23시 30분 시점에 현재가 < 00시 30분 시점에 현재가 이면, 익일 2시 시초가 진입 -청산: SetStopEndOfday(043000); -당일 진입, 당일 청산으로 1번 왕복 거래입니다. 2. 써머타임 해지시 -매수: 22시 30분 시점에 현재가 > 23시 30분 시점에 현재가 이면, 익일 1시 시초가 진입 -매도: 22시 30분 시점에 현재가 < 23시 30분 시점에 현재가 이면, 익일 1시 시초가 진입 -청산: SetStopEndOfday(033000); -당일 진입, 당일 청산으로 1번 왕복 거래입니다. 두 시점의 현재가를 비교하여 특정 시각에 진입한다는 컨셉입니다. 바쁘시고 번거로우시겠지만 작성 부탁드립니다. (진입시각을 변경하였습니다.)