커뮤니티

진입제어 추가 요청

프로필 이미지
통큰베팅
2015-04-27 21:20:30
171
글번호 85469
답변완료
아래의 식에 매수든 매도든 진입과 청산을 각 1회하는 함수를 추가하고 싶습니다. (그런데 오후 7시부터 익일 오전 1시까지 해외선물을 거래하고 오전 5시에 자동청산하는 함수가 맞게 들어갔는지도 확인 부탁드립니다.) var : entry(0); if bdate != bdate[1] Then entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; var1 = ; var2 = ; var3 = ; var4 = ; var5 = ; var6 = ; var7 = ; var8 = ; var9 = ; var10 = ; if stime >= 190000 or stime < 010000 and MarketPosition == 0 and entry == 0 Then{ if var7 > var8 Then sell("s",AtStop,var7); if var7 < var8 Then buy("b",AtStop,var7); } if stime >= 190000 or stime < 010000 and MarketPosition == -1 Then{ ExitShort("sp",atlimit,var9); ExitShort("sl",AtStop,var6); } if MarketPosition == 1 Then{ exitlong("bp",atlimit,var6); ExitLong("bl",AtStop,var9); } if stime == 0500 or (stime > 050000 and stime[1] < 050000) Then{ ExitLong("Bx"); ExitShort("Sx"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-04-28 10:24:08

안녕하세요 예스스탁입니다. 예스랭귀지에서 시간은 6자리입니다. 5시면 050000 입니다. 오전 5시 청산을 제외하고 모든 청산을 19시에서 오전 1시까지만 동작하게 하고자 하시면 아래와 같이 처리하시면 됩니다. if stime >= 190000 or stime < 010000 then{ if MarketPosition == -1 Then{ ExitShort("sp",atlimit,var9); ExitShort("sl",AtStop,var6); } if MarketPosition == 1 Then{ exitlong("bp",atlimit,var6); ExitLong("bl",AtStop,var9); } } 진입만 해당시간제한이 있고 청산은 그 이후에도 가능하게 하고자 하실려면 아래와 같이 시간제한 조건 삭제하시면 됩니다. if MarketPosition == -1 Then{ ExitShort("sp",atlimit,var9); ExitShort("sl",AtStop,var6); } if MarketPosition == 1 Then{ exitlong("bp",atlimit,var6); ExitLong("bl",AtStop,var9); } 아래 수정한 식입니다. var : entry(0); if stime == 190000 or (stime> 190000 and stime[1] < 190000) Then entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; var1 = ; var2 = ; var3 = ; var4 = ; var5 = ; var6 = ; var7 = ; var8 = ; var9 = ; var10 = ; if stime >= 190000 or stime < 010000 and MarketPosition == 0 and entry == 0 Then{ if var7 > var8 Then sell("s",AtStop,var7); if var7 < var8 Then buy("b",AtStop,var7); } if stime >= 190000 or stime < 010000 then{ if MarketPosition == -1 Then{ ExitShort("sp",atlimit,var9); ExitShort("sl",AtStop,var6); } if MarketPosition == 1 Then{ exitlong("bp",atlimit,var6); ExitLong("bl",AtStop,var9); } } if stime == 050000 or (stime > 050000 and stime[1] < 050000) Then{ ExitLong("Bx"); ExitShort("Sx"); } 즐거운 하루되세요 > 통큰베팅 님이 쓴 글입니다. > 제목 : 진입제어 추가 요청 > 아래의 식에 매수든 매도든 진입과 청산을 각 1회하는 함수를 추가하고 싶습니다. (그런데 오후 7시부터 익일 오전 1시까지 해외선물을 거래하고 오전 5시에 자동청산하는 함수가 맞게 들어갔는지도 확인 부탁드립니다.) var : entry(0); if bdate != bdate[1] Then entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; var1 = ; var2 = ; var3 = ; var4 = ; var5 = ; var6 = ; var7 = ; var8 = ; var9 = ; var10 = ; if stime >= 190000 or stime < 010000 and MarketPosition == 0 and entry == 0 Then{ if var7 > var8 Then sell("s",AtStop,var7); if var7 < var8 Then buy("b",AtStop,var7); } if stime >= 190000 or stime < 010000 and MarketPosition == -1 Then{ ExitShort("sp",atlimit,var9); ExitShort("sl",AtStop,var6); } if MarketPosition == 1 Then{ exitlong("bp",atlimit,var6); ExitLong("bl",AtStop,var9); } if stime == 0500 or (stime > 050000 and stime[1] < 050000) Then{ ExitLong("Bx"); ExitShort("Sx"); }