커뮤니티

문의드립니다

프로필 이미지
회원
2011-06-30 18:35:19
693
글번호 40399
답변완료

첨부 이미지

swinghigh 를 이용해서 다음과 같은 돌파전략을 만들었는데요 진입후 그 봉에서 청산하게 되면 첨부한 그림처럼 다음봉 시가에 바로 재진입이 되버리네요. 재진입을 안하게 하려면 어떻게 수정해야 할까요? 부탁드립니다~ input : N1(2),N2(5); Var : H1(0),L1(0); if DayIndex >5 And (SwingHigh(1,H,N1,N2,N1+N2+1)) != -1 Then Var5 = (SwingHigh(1,H,N1,N2,N1+N2+1)); if DayIndex >5 And (SwingLow(1,L,N1,N2,N1+N2+1)) != -1 Then Var6 = (SwingLow(1,L,N1,N2,N1+N2+1)); if sTime>092500 and sTime<145500 Then Begin if MarketPosition == 0 Then { if C > Average(Close,20) and Average(Close,10) > Average(Close,20) and C[3] < Var5 And C[2] < Var5 And C[1] < Var5 Then buy("전고점",AtStop,Var5+1*PriceScale); if C < Average(Close,20) and Average(Close,10) < Average(Close,20) and C[3] > Var6 And C[2] > Var6 And C[1] > Var6 Then sell("전저점",AtStop,Var6-1*PriceScale); } End; SetStopEndofday(144500); SetStopLoss(3*PriceScale,PointStop); SetStopProfittarget(5*PriceScale,PointStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-07-01 08:53:09

안녕하세요 예스스탁입니다. 식을 수정했습니다. 동일방향의 재진입을 막은 식입니다. input : N1(2),N2(5); Var : H1(0),L1(0); if DayIndex >5 And (SwingHigh(1,H,N1,N2,N1+N2+1)) != -1 Then Var5 = (SwingHigh(1,H,N1,N2,N1+N2+1)); if DayIndex >5 And (SwingLow(1,L,N1,N2,N1+N2+1)) != -1 Then Var6 = (SwingLow(1,L,N1,N2,N1+N2+1)); if sTime>092500 and sTime<145500 Then Begin if MarketPosition == 0 Then { if MarketPosition(1) != 1 and C > Average(Close,20) and Average(Close,10) > Average(Close,20) and C[3] < Var5 And C[2] < Var5 And C[1] < Var5 Then buy("전고점",AtStop,Var5+1*PriceScale); if MarketPosition(1) != -1 and C < Average(Close,20) and Average(Close,10) < Average(Close,20) and C[3] > Var6 And C[2] > Var6 And C[1] > Var6 Then sell("전저점",AtStop,Var6-1*PriceScale); } End; SetStopEndofday(144500); SetStopLoss(3*PriceScale,PointStop); SetStopProfittarget(5*PriceScale,PointStop); 즐거운 하루되세요 > HI_stingcat 님이 쓴 글입니다. > 제목 : 문의드립니다 > swinghigh 를 이용해서 다음과 같은 돌파전략을 만들었는데요 진입후 그 봉에서 청산하게 되면 첨부한 그림처럼 다음봉 시가에 바로 재진입이 되버리네요. 재진입을 안하게 하려면 어떻게 수정해야 할까요? 부탁드립니다~ input : N1(2),N2(5); Var : H1(0),L1(0); if DayIndex >5 And (SwingHigh(1,H,N1,N2,N1+N2+1)) != -1 Then Var5 = (SwingHigh(1,H,N1,N2,N1+N2+1)); if DayIndex >5 And (SwingLow(1,L,N1,N2,N1+N2+1)) != -1 Then Var6 = (SwingLow(1,L,N1,N2,N1+N2+1)); if sTime>092500 and sTime<145500 Then Begin if MarketPosition == 0 Then { if C > Average(Close,20) and Average(Close,10) > Average(Close,20) and C[3] < Var5 And C[2] < Var5 And C[1] < Var5 Then buy("전고점",AtStop,Var5+1*PriceScale); if C < Average(Close,20) and Average(Close,10) < Average(Close,20) and C[3] > Var6 And C[2] > Var6 And C[1] > Var6 Then sell("전저점",AtStop,Var6-1*PriceScale); } End; SetStopEndofday(144500); SetStopLoss(3*PriceScale,PointStop); SetStopProfittarget(5*PriceScale,PointStop);