커뮤니티
문의드립니다
2011-06-30 18:35:19
693
글번호 40399
swinghigh 를 이용해서 다음과 같은 돌파전략을 만들었는데요
진입후 그 봉에서 청산하게 되면 첨부한 그림처럼 다음봉 시가에 바로 재진입이 되버리네요.
재진입을 안하게 하려면 어떻게 수정해야 할까요?
부탁드립니다~
input : N1(2),N2(5);
Var : H1(0),L1(0);
if DayIndex >5 And (SwingHigh(1,H,N1,N2,N1+N2+1)) != -1 Then
Var5 = (SwingHigh(1,H,N1,N2,N1+N2+1));
if DayIndex >5 And (SwingLow(1,L,N1,N2,N1+N2+1)) != -1 Then
Var6 = (SwingLow(1,L,N1,N2,N1+N2+1));
if sTime>092500 and sTime<145500
Then
Begin
if MarketPosition == 0 Then
{
if C > Average(Close,20) and Average(Close,10) > Average(Close,20) and
C[3] < Var5 And C[2] < Var5 And C[1] < Var5 Then
buy("전고점",AtStop,Var5+1*PriceScale);
if C < Average(Close,20) and Average(Close,10) < Average(Close,20) and
C[3] > Var6 And C[2] > Var6 And C[1] > Var6 Then
sell("전저점",AtStop,Var6-1*PriceScale);
}
End;
SetStopEndofday(144500);
SetStopLoss(3*PriceScale,PointStop);
SetStopProfittarget(5*PriceScale,PointStop);
- 1. 40716_질문.jpg (0.08 MB)
답변 1
예스스탁 예스스탁 답변
2011-07-01 08:53:09
안녕하세요
예스스탁입니다.
식을 수정했습니다.
동일방향의 재진입을 막은 식입니다.
input : N1(2),N2(5);
Var : H1(0),L1(0);
if DayIndex >5 And (SwingHigh(1,H,N1,N2,N1+N2+1)) != -1 Then
Var5 = (SwingHigh(1,H,N1,N2,N1+N2+1));
if DayIndex >5 And (SwingLow(1,L,N1,N2,N1+N2+1)) != -1 Then
Var6 = (SwingLow(1,L,N1,N2,N1+N2+1));
if sTime>092500 and sTime<145500
Then
Begin
if MarketPosition == 0 Then
{
if MarketPosition(1) != 1 and C > Average(Close,20) and Average(Close,10) > Average(Close,20) and
C[3] < Var5 And C[2] < Var5 And C[1] < Var5 Then
buy("전고점",AtStop,Var5+1*PriceScale);
if MarketPosition(1) != -1 and C < Average(Close,20) and Average(Close,10) < Average(Close,20) and
C[3] > Var6 And C[2] > Var6 And C[1] > Var6 Then
sell("전저점",AtStop,Var6-1*PriceScale);
}
End;
SetStopEndofday(144500);
SetStopLoss(3*PriceScale,PointStop);
SetStopProfittarget(5*PriceScale,PointStop);
즐거운 하루되세요
> HI_stingcat 님이 쓴 글입니다.
> 제목 : 문의드립니다
>
swinghigh 를 이용해서 다음과 같은 돌파전략을 만들었는데요
진입후 그 봉에서 청산하게 되면 첨부한 그림처럼 다음봉 시가에 바로 재진입이 되버리네요.
재진입을 안하게 하려면 어떻게 수정해야 할까요?
부탁드립니다~
input : N1(2),N2(5);
Var : H1(0),L1(0);
if DayIndex >5 And (SwingHigh(1,H,N1,N2,N1+N2+1)) != -1 Then
Var5 = (SwingHigh(1,H,N1,N2,N1+N2+1));
if DayIndex >5 And (SwingLow(1,L,N1,N2,N1+N2+1)) != -1 Then
Var6 = (SwingLow(1,L,N1,N2,N1+N2+1));
if sTime>092500 and sTime<145500
Then
Begin
if MarketPosition == 0 Then
{
if C > Average(Close,20) and Average(Close,10) > Average(Close,20) and
C[3] < Var5 And C[2] < Var5 And C[1] < Var5 Then
buy("전고점",AtStop,Var5+1*PriceScale);
if C < Average(Close,20) and Average(Close,10) < Average(Close,20) and
C[3] > Var6 And C[2] > Var6 And C[1] > Var6 Then
sell("전저점",AtStop,Var6-1*PriceScale);
}
End;
SetStopEndofday(144500);
SetStopLoss(3*PriceScale,PointStop);
SetStopProfittarget(5*PriceScale,PointStop);
다음글
이전글