커뮤니티

시가매매관련

프로필 이미지
회원
2004-08-10 00:50:30
1069
글번호 4786
답변완료
수고가 많으십니다 아래의 식은 제가 테스트 하는 것으로 10분봉으로 설정하고, 마감동시호가 끝나는 15:10분에 당일종가가 당일시가보다 크면 익일시가 매수, 작으면 익일시가 매도하고...또한 익일 마감동시호가에 무조건 청산하는 수식입니다. 매일 반복하는 수식입니다 즉, 시가진입 종가청산하는 식입니다. 그런데 위식을 적용하면 하루걸러 시그널이 나옵니다. 가령 첫날은 당연히 시그널이 없을것이고 2일째 시가에 시그널발생, 종가에 청산....그리고는 3일째는 없고 4일째 시가에 시그널발생 종가에 청산... 5일째는 없고...즉 하루걸러 시그널이 발생합니다. 저는 매일 시그널을 발생시키고 싶은데 어디가 잘못된것일까요?... 답변 부탁드립니다 Var : cur_pos(0), value1(0), value2(0); Var : fHigh(0), fLow(0); //15:00에 포지션이 있을 경우 마감동시호가에 무조건 청산 if stime >= 150000 then { if MarketPosition(0) != 0 then { cur_pos = MarketPosition(0); if cur_pos > 0 then { ExitLong("매수청산",AtMarket); } else if cur_pos < 0 then { ExitShort("매도청산",AtMarket); } } } //15:10에 당일종가와 시가를 비교하여 익일시가에 진입 if stime >= 151000 then { if DayClose() > DayOpen() then { Buy ("시가매수",AtMarket); } else if DayClose() <= DayOpen() then { Sell ("시가매도",AtMarket); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2004-08-10 15:05:37

안녕하세요? 예스스탁입니다... 문의하신 식은 다음과 같습니다... if stime == 151000 and c > dayopen(0) then buy("매수", atstop, var1-10000); if stime == 151000 and c < dayopen(0) then sell("매도", atstop, var1+10000); if stime == 145000 then { exitlong(); exitshort(); } 위 식은 시스템 트레이딩 설정청에서 당일청산을 해제한 후 적용해야 합니다... 감사합니다... > CJ_rud5808 님이 쓴 글입니다. > 제목 : 시가매매관련 > 수고가 많으십니다 아래의 식은 제가 테스트 하는 것으로 10분봉으로 설정하고, 마감동시호가 끝나는 15:10분에 당일종가가 당일시가보다 크면 익일시가 매수, 작으면 익일시가 매도하고...또한 익일 마감동시호가에 무조건 청산하는 수식입니다. 매일 반복하는 수식입니다 즉, 시가진입 종가청산하는 식입니다. 그런데 위식을 적용하면 하루걸러 시그널이 나옵니다. 가령 첫날은 당연히 시그널이 없을것이고 2일째 시가에 시그널발생, 종가에 청산....그리고는 3일째는 없고 4일째 시가에 시그널발생 종가에 청산... 5일째는 없고...즉 하루걸러 시그널이 발생합니다. 저는 매일 시그널을 발생시키고 싶은데 어디가 잘못된것일까요?... 답변 부탁드립니다 Var : cur_pos(0), value1(0), value2(0); Var : fHigh(0), fLow(0); //15:00에 포지션이 있을 경우 마감동시호가에 무조건 청산 if stime >= 150000 then { if MarketPosition(0) != 0 then { cur_pos = MarketPosition(0); if cur_pos > 0 then { ExitLong("매수청산",AtMarket); } else if cur_pos < 0 then { ExitShort("매도청산",AtMarket); } } } //15:10에 당일종가와 시가를 비교하여 익일시가에 진입 if stime >= 151000 then { if DayClose() > DayOpen() then { Buy ("시가매수",AtMarket); } else if DayClose() <= DayOpen() then { Sell ("시가매도",AtMarket); } }