커뮤니티

문의 드립니다

프로필 이미지
blah
2014-10-13 19:32:38
150
글번호 79339
답변완료

첨부 이미지

다음 수식을 가지고 테스트 중입니다 input : Left(3),Right(3); var : SWHbarrier(0),SWLbarrier(0),stls(0); #매수 if SwingHigh(1,c,Left,Right,Left+right+1) != -1 Then{ SWHbarrier = SwingHigh(1,c,Left,Right,Left+right+1); } if c>swhbarrier and swhbarrier>o Then { buy("AL-1-1"); stls=c-o;} if MarketPosition == 1 Then setstoploss(stls,PointStop); #매도 if SwingLow(1,c,Left,Right,Left+right+1) != -1 Then{ SWLbarrier = Swinglow(1,c,Left,Right,Left+right+1); } if c<swlbarrier and swlbarrier<o Then { sell("AS-1-1"); stls=o-c;} if MarketPosition == -1 Then setstoploss(stls,PointStop); 진입한 봉의 시가가 훼손될시 손절을 하기위해 종가와 시가의 차를 stls라는 변수로 기록하고 setstoploss 함수로 손절을 하려고 하는데, 예로 09/12/10 14:15분 진입, 18분 손절처럼 의도치 않은 손절이 발생하였습니다 (첨부파일 노란 상자로 하이라이트) 수식에 어떤 문제 있는지 말씀 부탁드리고 혹시 다른 함수등을 사용하여 더 효율적인 수식을 작성할 수 있는지 궁금합니다 감사합니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-10-14 11:41:28

안녕하세요 예스스탁입니다. 스탑로스는 봉완성시 값이 한번세팅이 되면 다음셋팅조건이 만족되기 전까지 그 값이 유지가 됩니다. 작성하신 식에서 진입 후에 포지션(marketposition)이 변경되는것은 다음봉입니다. 다음봉 완성시 포지션변경이 인식되므로 진입봉 다음봉에 나온 청산은 그 이전 진입시에 값입니다. 또한 진입봉이 양봉과 음봉에 따라 stls값이 양수가 되기도 하고 음수가 되기도 합니다. 강제청산함수는 양수로 손실값을 지정합니다. 수식을 아래와 같이 변경하셔야 합니다. input : Left(3),Right(3); var : SWHbarrier(0),SWLbarrier(0),stls(0); #매수 if SwingHigh(1,c,Left,Right,Left+right+1) != -1 Then{ SWHbarrier = SwingHigh(1,c,Left,Right,Left+right+1); } if c > swhbarrier and swhbarrier>o Then{ buy("AL-1-1"); exitlong("bx1",AtStop,C-abs(C-O)); } if MarketPosition == 1 Then exitlong("bx2",AtStop,EntryPrice-abs(C[BarsSinceEntry]-O[BarsSinceEntry])); #매도 if SwingLow(1,c,Left,Right,Left+right+1) != -1 Then{ SWLbarrier = Swinglow(1,c,Left,Right,Left+right+1); } if c<swlbarrier and swlbarrier<o Then { sell("AS-1-1"); ExitShort("sx1",AtStop,C+abs(C-O)); } if MarketPosition == -1 Then ExitShort("sx2",AtStop,EntryPrice+abs(C[BarsSinceEntry]-O[BarsSinceEntry])); 즐거운 하루되세요 > blah 님이 쓴 글입니다. > 제목 : 문의 드립니다 > 다음 수식을 가지고 테스트 중입니다 input : Left(3),Right(3); var : SWHbarrier(0),SWLbarrier(0),stls(0); #매수 if SwingHigh(1,c,Left,Right,Left+right+1) != -1 Then{ SWHbarrier = SwingHigh(1,c,Left,Right,Left+right+1); } if c>swhbarrier and swhbarrier>o Then { buy("AL-1-1"); stls=c-o;} if MarketPosition == 1 Then setstoploss(stls,PointStop); #매도 if SwingLow(1,c,Left,Right,Left+right+1) != -1 Then{ SWLbarrier = Swinglow(1,c,Left,Right,Left+right+1); } if c<swlbarrier and swlbarrier<o Then { sell("AS-1-1"); stls=o-c;} if MarketPosition == -1 Then setstoploss(stls,PointStop); 진입한 봉의 시가가 훼손될시 손절을 하기위해 종가와 시가의 차를 stls라는 변수로 기록하고 setstoploss 함수로 손절을 하려고 하는데, 예로 09/12/10 14:15분 진입, 18분 손절처럼 의도치 않은 손절이 발생하였습니다 (첨부파일 노란 상자로 하이라이트) 수식에 어떤 문제 있는지 말씀 부탁드리고 혹시 다른 함수등을 사용하여 더 효율적인 수식을 작성할 수 있는지 궁금합니다 감사합니다