커뮤니티

setstoptrailing 후 다음날 시가 진입 차단관련

프로필 이미지
빠샤
2009-11-03 23:59:39
783
글번호 25888
답변완료
노고가 많으십니다. 며칠 전에 작성해주신 자료 정말 감사드립니다. 그대로 식에 대입해 보니 문제없이 잘 돌아가서 정말 기쁩니다. 근데 한가지 문제가 생겨서요. 보내주신 시스템식은 setstoptrailing 이후에도, 이 선을 기준선으로 삼아 재진입을 하도록 한 것이었습니다. 하지만, 재 진입 후 또다시 setstoptrailing이 걸렸으면 거기서 2차 내지는 3차 수익이 나고 당일 청산(14시 40분)이 되야 하는데, 이상하게도 다음날까지 오버를 한 다음에 다음날 9시 시가에 또다시 아래나 위로 진입을 해버립니다, 원래 제 시스템은 9시 20분부터 진입하도록 만들었는데도 그러네요. 그날 거래는 당일로 끝내는 방법이 무엇이 있을까요? 무엇이 잘못된건지 모르겠습니다. 아래 식에서 뭐가 빠진건지 부탁드립니다. - 중간생략(시스템식) SetStopTrailing(1.3, 4.2, PointStop, 1); SetStopLoss(2.6, PointStop); Trcount = 0; for cnt = 1 to 20{ if sDate ==ExitDate(cnt) and IsExitName("StopTrailing", cnt) Then Trcount = Trcount+1; } if MarketPosition == 0 and IsExitName("StopTrailing", 1) and Trcount <= 1 Then{ Buy("오름", AtStop, ExitPrice(1)+0.4); Sell("내림", AtStop, ExitPrice(1)-0.4); } if MarketPosition != 0 Then{ if IsEntryName("오름") or IsEntryName("내림") Then{ SetStopTrailing(1.3, 3.6, PointStop, 1); SetStopLoss(0.5, PointStop); } } Else{ SetStopTrailing(0,0); SetStopLoss(0); } SetStopEndofday(144000);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-11-04 10:12:44

안녕하세요 예스스탁입니다. 진입식에 atstop으로 작성되어 있어 발생하는 사항입니다. if문이 만족하고 다음봉의 시세를 감시하는 식이므로 진입식에 시간조건을 주어 해당시간이후에는 if문을 만족시키지 않게 만들어야 합니다. if stime < 144000 and MarketPosition == 0 and IsExitName("StopTrailing", 1) and Trcount <= 1 Then{ Buy("오름", AtStop, ExitPrice(1)+0.4); Sell("내림", AtStop, ExitPrice(1)-0.4); } 시간조건을 추가해 드렸습니다. 당일청산시간보다 이전시간일때만 진입이 발생하게 됩니다. 즐거운 하루되세요 > 빠샤 님이 쓴 글입니다. > 제목 : setstoptrailing 후 다음날 시가 진입 차단관련 > 노고가 많으십니다. 며칠 전에 작성해주신 자료 정말 감사드립니다. 그대로 식에 대입해 보니 문제없이 잘 돌아가서 정말 기쁩니다. 근데 한가지 문제가 생겨서요. 보내주신 시스템식은 setstoptrailing 이후에도, 이 선을 기준선으로 삼아 재진입을 하도록 한 것이었습니다. 하지만, 재 진입 후 또다시 setstoptrailing이 걸렸으면 거기서 2차 내지는 3차 수익이 나고 당일 청산(14시 40분)이 되야 하는데, 이상하게도 다음날까지 오버를 한 다음에 다음날 9시 시가에 또다시 아래나 위로 진입을 해버립니다, 원래 제 시스템은 9시 20분부터 진입하도록 만들었는데도 그러네요. 그날 거래는 당일로 끝내는 방법이 무엇이 있을까요? 무엇이 잘못된건지 모르겠습니다. 아래 식에서 뭐가 빠진건지 부탁드립니다. - 중간생략(시스템식) SetStopTrailing(1.3, 4.2, PointStop, 1); SetStopLoss(2.6, PointStop); Trcount = 0; for cnt = 1 to 20{ if sDate ==ExitDate(cnt) and IsExitName("StopTrailing", cnt) Then Trcount = Trcount+1; } if MarketPosition == 0 and IsExitName("StopTrailing", 1) and Trcount <= 1 Then{ Buy("오름", AtStop, ExitPrice(1)+0.4); Sell("내림", AtStop, ExitPrice(1)-0.4); } if MarketPosition != 0 Then{ if IsEntryName("오름") or IsEntryName("내림") Then{ SetStopTrailing(1.3, 3.6, PointStop, 1); SetStopLoss(0.5, PointStop); } } Else{ SetStopTrailing(0,0); SetStopLoss(0); } SetStopEndofday(144000);