커뮤니티

문의드립니다.

프로필 이미지
잡다백수
2017-10-18 10:35:07
128
글번호 113457
답변완료
매번 감사합니다. 1. 시스템 input : 상승률(1),포지션상승률(10),하락률(3); if MarketPosition == 0 then{ #일간 마지막봉에 셋팅해 당일 첫봉에 신호가 발생 #봉완성은 다음봉시가가 수신될때인데 다음봉시가가 NextBarOpen입니다. #일간 마지막 봉완성은 NextBarOpen을 사용해 다음날 시가로 지정해 주고 if NextBarSdate > sdate Then buy("b1",AtStop,NextBarOpen*(1+상승률/100)); #일간 마지막봉이 아닐때는 시초가를 사용해 가격을 지정해서 매수신호를 발생하게 됩니다. if NextBarSdate == sdate Then buy("b2",AtStop,dayOpen*(1+상승률/100)); } #10%이상 상승후 최고가격에서 3%하락하면 청산 if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice*(1+포지션상승률/100) Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)*(1-하락률/100)); -----------------------------------------------------------------------------------------위 수식에 포지션은 5일(변수)이상 가지지 않는다는 필터 추가 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-10-19 09:24:58

안녕하세요 예스스탁입니다. input : 상승률(1),포지션상승률(10),하락률(3),N(5); var : Didx(0),ED(0); #차트상 일수 if Bdate != Bdate[1] Then { Didx = Didx+1; } if MarketPosition == 0 then{ #일간 마지막봉에 셋팅해 당일 첫봉에 신호가 발생 #봉완성은 다음봉시가가 수신될때인데 다음봉시가가 NextBarOpen입니다. #일간 마지막 봉완성은 NextBarOpen을 사용해 다음날 시가로 지정해 주고 if NextBarSdate > sdate Then buy("b1",AtStop,NextBarOpen*(1+상승률/100)); #일간 마지막봉이 아닐때는 시초가를 사용해 가격을 지정해서 매수신호를 발생하게 됩니다. if NextBarSdate == sdate Then buy("b2",AtStop,dayOpen*(1+상승률/100)); } if MarketPosition == 1 then{ #10%이상 상승후 최고가격에서 3%하락하면 청산 if highest(H,BarsSinceEntry) >= EntryPrice*(1+포지션상승률/100) Then ExitLong("Bx1",AtStop,highest(H,BarsSinceEntry)*(1-하락률/100)); #진입시점 일수 if CurrentContracts > CurrentContracts[1] Then ED = Didx; #진입후 N일이상 경과후 15시가 되면 청산 if Didx >= ED+N and (stime >= 150000 and stime[1] < 150000) Then exitlong("Bx2"); } 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 매번 감사합니다. 1. 시스템 input : 상승률(1),포지션상승률(10),하락률(3); if MarketPosition == 0 then{ #일간 마지막봉에 셋팅해 당일 첫봉에 신호가 발생 #봉완성은 다음봉시가가 수신될때인데 다음봉시가가 NextBarOpen입니다. #일간 마지막 봉완성은 NextBarOpen을 사용해 다음날 시가로 지정해 주고 if NextBarSdate > sdate Then buy("b1",AtStop,NextBarOpen*(1+상승률/100)); #일간 마지막봉이 아닐때는 시초가를 사용해 가격을 지정해서 매수신호를 발생하게 됩니다. if NextBarSdate == sdate Then buy("b2",AtStop,dayOpen*(1+상승률/100)); } #10%이상 상승후 최고가격에서 3%하락하면 청산 if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice*(1+포지션상승률/100) Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)*(1-하락률/100)); -----------------------------------------------------------------------------------------위 수식에 포지션은 5일(변수)이상 가지지 않는다는 필터 추가 부탁드립니다.