커뮤니티

시스템작성을 해서 시뮬에적용을 했는데 이상하게 나와요.

프로필 이미지
윤이
2020-09-29 21:51:24
749
글번호 142793
답변완료
뭐가 잘못되었는지 모르겠어요. 7일간 최고값을 넘어갔는데도 청산이 안되고, 금욜만 청산되거나 스탑 둘 중 하나만 되네요. 로직에 어디가 문제인지 모르겠어요. 제가 의도하는 조건은 이렇습니다. 1. 일주일에 한번만 거래하며, 청산신호가 안나오면 금요일 무조건 청산(금욜 오바 없음) 2. 전주 주봉의 종가를 돌파하면 매수 3. 7일간의 최고값의 90% 근접하면 청산 var : BandHigh(0), cnt(0); cnt = 0; BandHigh = max(DayHigh(1),DayHigh(2),DayHigh(3),DayHigh(4),DayHigh(5),DayHigh(6),DayHigh(7)); BandHigh = BandHigh*0.9; if marketposition==0 then { if cnt == 0 then { if CrossUp(C, WeekClose(1)) Then buy("Wbuy1",AtStop,Weekclose(1)+1); cnt = 1; } } if marketposition==1 then { setstoploss(1,PercentStop); if cnt > 1 then { if Highest(H,BarsSinceEntry+1) > BandHigh or Crossup(Highest(H,BarsSinceEntry+1),BandHigh) Then ExitLong("out",AtStop,BandHigh+PriceScale*1); } if dayofweek(bdate) == 5 then { cnt = 0; SetStopEndofday(151500); } else { SetStopEndofday(0); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-10-05 10:54:56

안녕하세요 예스스탁입니다. 작성하신 수식에서 cnt변수는 0 아니면 1의 값만 가지게 됩니다. 청산식에 if cnt > 1 then 조건은 충족될수 없습니다. if cnt == 1 then이나 if cnt > 0 then으로 변경하시면 됩니다. 즐거운 하루되세요 > 윤이 님이 쓴 글입니다. > 제목 : 시스템작성을 해서 시뮬에적용을 했는데 이상하게 나와요. > 뭐가 잘못되었는지 모르겠어요. 7일간 최고값을 넘어갔는데도 청산이 안되고, 금욜만 청산되거나 스탑 둘 중 하나만 되네요. 로직에 어디가 문제인지 모르겠어요. 제가 의도하는 조건은 이렇습니다. 1. 일주일에 한번만 거래하며, 청산신호가 안나오면 금요일 무조건 청산(금욜 오바 없음) 2. 전주 주봉의 종가를 돌파하면 매수 3. 7일간의 최고값의 90% 근접하면 청산 var : BandHigh(0), cnt(0); cnt = 0; BandHigh = max(DayHigh(1),DayHigh(2),DayHigh(3),DayHigh(4),DayHigh(5),DayHigh(6),DayHigh(7)); BandHigh = BandHigh*0.9; if marketposition==0 then { if cnt == 0 then { if CrossUp(C, WeekClose(1)) Then buy("Wbuy1",AtStop,Weekclose(1)+1); cnt = 1; } } if marketposition==1 then { setstoploss(1,PercentStop); if cnt > 1 then { if Highest(H,BarsSinceEntry+1) > BandHigh or Crossup(Highest(H,BarsSinceEntry+1),BandHigh) Then ExitLong("out",AtStop,BandHigh+PriceScale*1); } if dayofweek(bdate) == 5 then { cnt = 0; SetStopEndofday(151500); } else { SetStopEndofday(0); } }