커뮤니티

부탁드립니다.

프로필 이미지
묘선낭자
2016-01-06 01:39:37
92
글번호 94096
답변완료
1. 마지막 진입신호가 b33인 경우 다음 두 가지 경우에 손절 b33이 오늘 한번진입된 상태이면서 진입바로다음봉에서 음봉이 발생한 경우 종가가 앞봉의 일간최저점보다 낮은 경우 If marketposition==1 and LatestEntryname(0)=="b33" and ((b33cnt==1 and BarsSinceEntry==1 and C<O) or C<daylow[1]) Then{ Exitlong("bx33"); } 위와 같이 시스템식을 작성해봤는데, 진입신호가 난 바로다음봉에서 음봉이 발생해도 청산신호가 발생하질 않네요. 무엇이 잘못된 것인지요. 2. b2매수조건이 되면 매수포지션이 총3개가 되게 진입하라는 것을 다음처럼 작성했습니다. If b2매수조건 Then Buy("b2",onclose,def,3-currentcontracts); 결과는 무포지션상태에서 진입시 3계약이 매수되었고 1개의 매수포지션상태에서의 진입시 추가로 2계약이 매수되어서 여기까진 맞는데 1개의 매도포지션상태에서 b2신호가 발생했을 때 그것을 청산하고 2계약만 진입되는 걸로 나타나고 있습니다. 저의 의도는 매도청산후 3계약의 매수포지션이 되어야 하는 것인데요. 어떻게 수정해야 하는지, 가르침을 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-01-06 14:14:04

안녕하세요 예스스탁입니다. 1. b33cnt == 1 이부분이 문제인것 같습니다. 첨부된 그림과 같이 해당조건이 없으면 진입봉 바로 다음봉이 음봉이면 청산이 발생합니다. 아래는 적용한 식입니다. if crossup(c,ma(c,5)) Then buy("b33"); If marketposition==1 and LatestEntryname(0)=="b33" and ((BarsSinceEntry == 1 and C<O) or C < daylow[1]) Then{ Exitlong("bx33"); } 2. If b2매수조건 Then{ Buy("b2",onclose,def,iff(MarketPosition >= 0 ,3-currentcontracts,3); } currentcontracts는 단순 현재봉에서의 수량입니다, currentcontracts는 완성신호가 발생후에 변경됩니다. 그러므로 위와 같이 매수포지션이나 무포지션이면 기존계산식으로 수량을 산정해 진입하고 스위칭 될때는 3으로 고정숫자로 지정해 주셔야 합니다. 즐거운 하루되세요 > 묘선낭자 님이 쓴 글입니다. > 제목 : 부탁드립니다. > 1. 마지막 진입신호가 b33인 경우 다음 두 가지 경우에 손절 b33이 오늘 한번진입된 상태이면서 진입바로다음봉에서 음봉이 발생한 경우 종가가 앞봉의 일간최저점보다 낮은 경우 If marketposition==1 and LatestEntryname(0)=="b33" and ((b33cnt==1 and BarsSinceEntry==1 and C<O) or C<daylow[1]) Then{ Exitlong("bx33"); } 위와 같이 시스템식을 작성해봤는데, 진입신호가 난 바로다음봉에서 음봉이 발생해도 청산신호가 발생하질 않네요. 무엇이 잘못된 것인지요. 2. b2매수조건이 되면 매수포지션이 총3개가 되게 진입하라는 것을 다음처럼 작성했습니다. If b2매수조건 Then Buy("b2",onclose,def,3-currentcontracts); 결과는 무포지션상태에서 진입시 3계약이 매수되었고 1개의 매수포지션상태에서의 진입시 추가로 2계약이 매수되어서 여기까진 맞는데 1개의 매도포지션상태에서 b2신호가 발생했을 때 그것을 청산하고 2계약만 진입되는 걸로 나타나고 있습니다. 저의 의도는 매도청산후 3계약의 매수포지션이 되어야 하는 것인데요. 어떻게 수정해야 하는지, 가르침을 부탁드립니다.