첨부 이미지
그림1
Condition1=ExitDate(1)==sdate and IsExitName("stoploss",1)==true;
if condition1==false or (condition1==true and BarsSinceExit(1)>3) and 고[1] >=Sma1 and CrossUp(고 [1], 고 [2]) and MACDO>= 0 Then Buy("전고돌파",AtMarket) ;
if condition1==false or (condition1==true and BarsSinceExit(1)>3) and 저[1] <= Sma1 and CrossDown (저 [1],저 [2]) and MACDO <= 0 Then sell("전저돌파",AtMarket);
시뮬결과 계속진입하는데 무엇이 잘못되었을까요???
항상 수고하십니다.
답변 1
예스스탁
예스스탁 답변
2020-12-03 14:53:19
안녕하세요
예스스탁입니다.
매수진입식에는 MarketPosition <= 0
매도진입식에는 MarketPosition >= 0
조건을 추가하시기 바랍니다.
현재 진입이 현재봉에서 조건만족하면 다음봉에서 신호가 발생합니다.
즉 신호 발생봉 기준으로 전봉에서 if문이 만족하면 매수나 매도가 진입을 셋팅되므로
동일 포지션이 진행중일때는 조건충족이 안되게 구현하셔야 합니다.
즐거운 하루되세요
> 코샘매쓰 님이 쓴 글입니다.
> 제목 : 스탑로스이후 3봉이내 진입금지
> Condition1=ExitDate(1)==sdate and IsExitName("stoploss",1)==true;
if condition1==false or (condition1==true and BarsSinceExit(1)>3) and 고[1] >=Sma1 and CrossUp(고 [1], 고 [2]) and MACDO>= 0 Then Buy("전고돌파",AtMarket) ;
if condition1==false or (condition1==true and BarsSinceExit(1)>3) and 저[1] <= Sma1 and CrossDown (저 [1],저 [2]) and MACDO <= 0 Then sell("전저돌파",AtMarket);
시뮬결과 계속진입하는데 무엇이 잘못되었을까요???
항상 수고하십니다.