커뮤니티
부탁드립니다.
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계약의 매수포지션이 되어야 하는 것인데요. 어떻게 수정해야 하는지, 가르침을 부탁드립니다.