커뮤니티

진입조건과 그 시간과 당일청산

프로필 이미지
바랍이었어라
2009-04-23 23:03:49
1115
글번호 21872
답변완료
예를 들어, long1은 crossup(ma(c, 5), ma(c, 20))입니다. 만약, long1로 진입한 것이 14시 30분 이전에 진입한 경우, crossdown(ma(c,5), ma(c,20)) or crossdown(value1, value2) 이면 매수청산하고 혹은 당일청산하고 싶습니다. 즉, 14시 30분 이전에 진입한 것은 오버나잇을 안가겠다는 것입니다. 만약, long1로 진입한 것이 오후 14시 30분 이후에 진입한 경우에는 crossdown(ma(c,5), ma(c, 20)) or crossdown(value33, value34) 이면 매수청산하고 그날 이조건에 안걸리면 그냥 오버나잇 가도록 놔두고 싶습니다. 어떻게 해야 하나요? If isEntryName("long1")==true and EntryTime<143000 then { if crossdown(ma(c,5), ma(c,20)) or crossdown(value1, value2) then exitlong("-long1", onclose, def, "long1"); } SetStopEndofday(150000); Else SetStopEndofday(0); if isEntryName("long1")==true and EntryTime>=143000 then { if crossdown(ma(c,5), ma(c, 20)) or crossdown(value33, value34) then exitlong("-long1_1", onclose, def, "long1"); } 위와 같이 하면 문제가 한가지 발생하는데... long2번도 14시 30분 이전과 이후로 구분해서 하고싶은데, long2번 역시 위와같은 조건식으로 쓰고나면, long2번에 있는 Else SetStopEndofday(0); 이부분 때문인지 long1번이 14시 30분 이전에 진입한 것임에도 당일강제청산이 안되어 버려요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-04-24 09:05:56

안녕하세요 예스스탁입니다. 해당 내용은 풀어서 봉완성시로 작성하셔야 합니다. SetStopEndofday(0); 은 시뮬레이션에서 당일 마지막봉에 청산하겠다는 옵션입니다. If isEntryName("long1")==true and EntryTime<143000 then { if crossdown(ma(c,5), ma(c,20)) or crossdown(value1, value2) then exitlong("-long1", onclose); if stime == 150000 Then exitlong(); } if isEntryName("long1")==true and EntryTime>=143000 then { if crossdown(ma(c,5), ma(c, 20)) or crossdown(value33, value34) then exitlong("-long1_1", onclose, def, "long1"); } 즐거운 하루되세요 > 바랍이었어라 님이 쓴 글입니다. > 제목 : 진입조건과 그 시간과 당일청산 > 예를 들어, long1은 crossup(ma(c, 5), ma(c, 20))입니다. 만약, long1로 진입한 것이 14시 30분 이전에 진입한 경우, crossdown(ma(c,5), ma(c,20)) or crossdown(value1, value2) 이면 매수청산하고 혹은 당일청산하고 싶습니다. 즉, 14시 30분 이전에 진입한 것은 오버나잇을 안가겠다는 것입니다. 만약, long1로 진입한 것이 오후 14시 30분 이후에 진입한 경우에는 crossdown(ma(c,5), ma(c, 20)) or crossdown(value33, value34) 이면 매수청산하고 그날 이조건에 안걸리면 그냥 오버나잇 가도록 놔두고 싶습니다. 어떻게 해야 하나요? If isEntryName("long1")==true and EntryTime<143000 then { if crossdown(ma(c,5), ma(c,20)) or crossdown(value1, value2) then exitlong("-long1", onclose, def, "long1"); } SetStopEndofday(150000); Else SetStopEndofday(0); if isEntryName("long1")==true and EntryTime>=143000 then { if crossdown(ma(c,5), ma(c, 20)) or crossdown(value33, value34) then exitlong("-long1_1", onclose, def, "long1"); } 위와 같이 하면 문제가 한가지 발생하는데... long2번도 14시 30분 이전과 이후로 구분해서 하고싶은데, long2번 역시 위와같은 조건식으로 쓰고나면, long2번에 있는 Else SetStopEndofday(0); 이부분 때문인지 long1번이 14시 30분 이전에 진입한 것임에도 당일강제청산이 안되어 버려요.