커뮤니티
시스템식 부탁 드립니다.
2013-07-18 11:27:14
161
글번호 65466
아래와 같이 시스템을 만들었는데
목표값 익절 후에는 재진입이 안됩니다.
(목표수익 후에는 재진입이 없는 것으로 설정했으니까 맞습니다.)
이를 근간으로 하여 변형 좀 부탁 드립니다.
1. 변형식A.
목표값 익절 후에 익절 방향과 다른 반대 쪽 진입조건이 되면 재진입하도록 변경 부탁드립니다.
2.변형식B.
손절이 된 후에 반대편 진입은 나와도 되는데 손절됐던 방향으로 즉시 재진입이 되는데 이것을 막는 방법이 없을까요?
제가 생각하건데 진입조건식이 두가지인 OR 이 있다보니 손절이 된 후에는 다른 진입조건이 만족 되어서 진입식이 나오는 것 같은데 OR 조건으로 되어 있어서 안될 것 같긴한데 방법이 있다면 바꿔 주십시오. 감사합니다.
# 매수/
If (매수조건1) or (매수조건2) then{
if count == 0 Then#당일첫진입일때는 매수조건만족시 진입
buy("b1");
if count > 0 Then {#당일 두번째 진입부터
#무포지션이면 직전진입이 SetStopProfittarget으로 청산된게 아닐때만 진입
if MarketPosition == 0 and ExitDate(1) == sdate and IsExitName("StopProfittarget",1) == false Then
Buy("b2");
#매도포지션 상태이고 저가가 진입가-1보다 클때만 진입
if MarketPosition == -1 and L > EntryPrice-2.00 Then
buy("b3");
#매도포지션 상태이고 저가가 진입가-1보다 작으면 청산만
if MarketPosition == -1 and L < EntryPrice-2.00 Then
ExitShort("sx");
}
}
# 매도/
If (매도조건1) or (매도조건2) Then{
if count == 0 Then#당일첫진입일때는 매도조건만족시 진입
Sell("s1");
if count > 0 then{#당일 두번째 진입부터
#무포지션이면 직전진입이 SetStopProfittarget으로 청산된게 아닐때만 진입
if MarketPosition == 0 and ExitDate(1) == sdate and IsExitName("StopProfittarget",1) == false Then
Sell("s2");
#매수포지션 상태이고 고가가 진입가+1보다 클때만 진입
if MarketPosition == 1 and H < EntryPrice+2.00 Then
Sell("s3");
#매수포지션 상태이고 고가가 진입가+1보다 크면 청산만
if MarketPosition == 1 and H > EntryPrice+2.00 Then
ExitLong("bx");
}
}
SetStopLoss(2,PointStop);
SetStopProfittarget(2.00,PointStop);
SetStopEndofday(150000);
답변 1
예스스탁 예스스탁 답변
2013-07-18 15:33:17
안녕하세요
예스스탁입니다.
1.
# 매수/
If (매수조건1) or (매수조건2) then{
if count == 0 Then#당일첫진입일때는 매수조건만족시 진입
buy("b1");
if count > 0 Then {#당일 두번째 진입부터
#무포지션이면 직전진입이 SetStopProfittarget으로 청산된게 아닐때만 진입
if MarketPosition == 0 and ExitDate(1) == sdate and
(isExitName("StopProfittarget",1) == false or
(MarketPosition(1) == -1 and IsExitName("StopProfittarget",1) == true)) then
Buy("b2");
#매도포지션 상태이고 저가가 진입가-1보다 클때만 진입
if MarketPosition == -1 and L > EntryPrice-2.00 Then
buy("b3");
#매도포지션 상태이고 저가가 진입가-1보다 작으면 청산만
if MarketPosition == -1 and L < EntryPrice-2.00 Then
ExitShort("sx");
}
}
# 매도/
If (매도조건1) or (매도조건2) Then{
if count == 0 Then#당일첫진입일때는 매도조건만족시 진입
Sell("s1");
if count > 0 then{#당일 두번째 진입부터
#무포지션이면 직전진입이 SetStopProfittarget으로 청산된게 아닐때만 진입
if MarketPosition == 0 and ExitDate(1) == sdate and
(isExitName("StopProfittarget",1) == false or
(MarketPosition(1) == 1 and IsExitName("StopProfittarget",1) == true)) Then
Sell("s2");
#매수포지션 상태이고 고가가 진입가+1보다 클때만 진입
if MarketPosition == 1 and H < EntryPrice+2.00 Then
Sell("s3");
#매수포지션 상태이고 고가가 진입가+1보다 크면 청산만
if MarketPosition == 1 and H > EntryPrice+2.00 Then
ExitLong("bx");
}
}
SetStopLoss(2,PointStop);
SetStopProfittarget(2.00,PointStop);
SetStopEndofday(150000);
2.
동일방향거래가 손절로 끝난 경우에는 청산후 최소
1봉이상 경과후에 조건만족하면 신호가 발생하게 작성했습니다.
# 매수/
If (매수조건1) or (매수조건2) then{
if count == 0 Then#당일첫진입일때는 매수조건만족시 진입
buy("b1");
if count > 0 Then {#당일 두번째 진입부터
#현재 무포지션이고
if MarketPosition == 0 and ExitDate(1) == sdate Then{
#직전진입의 청산이 손절이나 목표수익이 아니면 매수진입
if isExitName("StopProfittarget",1) == false and IsExitName("StopLoss") == false Then
buy("b2-1");
#직전진입이 매도진입이고 목표수익으로 끝난경우이면 매수진입
if IsExitName("StopProfittarget",1) == true and MarketPosition(1) == -1 Then
buy("b2-2");
#직전진입이 매도진입이고 손절로 끝난경우에는 매수진입
if IsExitName("StopLoss",1) == true and MarketPosition(1) == 1 then
Buy("b2-3");
#직전진입이 매수진입이고 손절로 끝난경우에는 청산후 1봉 이상 경과후에 매수진입
if IsExitName("StopLoss",1) == true and MarketPosition(1) == 1 and BarsSinceExit(1) > 0 then
Buy("b2-4");
}
#매도포지션 상태이고 저가가 진입가-1보다 클때만 진입
if MarketPosition == -1 and L > EntryPrice-2.00 Then
buy("b3");
#매도포지션 상태이고 저가가 진입가-1보다 작으면 청산만
if MarketPosition == -1 and L < EntryPrice-2.00 Then
ExitShort("sx");
}
}
# 매도/
If (매도조건1) or (매도조건2) Then{
if count == 0 Then#당일첫진입일때는 매도조건만족시 진입
Sell("s1");
if count > 0 then{#당일 두번째 진입부터
#현재 무포지션
if MarketPosition == 0 and ExitDate(1) == sdate Then{
#직전진입의 청산이 손절이나 목표수익이 아니면 매도진입
if isExitName("StopProfittarget",1) == false and IsExitName("StopLoss") == false Then
Sell("s2-1");
#직전진입이 매수진입이고 목표수익으로 끝난경우이면 매도진입
if IsExitName("StopProfittarget",1) == true and MarketPosition(1) == -1 Then
Sell("s2-2");
#직전진입이 매수진입이고 손절로 끝난경우에는 매도진입
if IsExitName("StopLoss",1) == true and MarketPosition(1) == 1 then
Sell("s2-3");
#직전진입이 매도진입이고 손절로 끝난경우에는 청산후 1봉 이상 경과후에 매도진입
if IsExitName("StopLoss",1) == true and MarketPosition(1) == 1 and BarsSinceExit(1) > 0 then
Sell("s2-4");
}
#매수포지션 상태이고 고가가 진입가+1보다 클때만 진입
if MarketPosition == 1 and H < EntryPrice+2.00 Then
Sell("s3");
#매수포지션 상태이고 고가가 진입가+1보다 크면 청산만
if MarketPosition == 1 and H > EntryPrice+2.00 Then
ExitLong("bx");
}
}
SetStopLoss(2,PointStop);
SetStopProfittarget(2.00,PointStop);
SetStopEndofday(150000);
즐거운 하루되세요
> 몸통공격 님이 쓴 글입니다.
> 제목 : 시스템식 부탁 드립니다.
> 아래와 같이 시스템을 만들었는데
목표값 익절 후에는 재진입이 안됩니다.
(목표수익 후에는 재진입이 없는 것으로 설정했으니까 맞습니다.)
이를 근간으로 하여 변형 좀 부탁 드립니다.
1. 변형식A.
목표값 익절 후에 익절 방향과 다른 반대 쪽 진입조건이 되면 재진입하도록 변경 부탁드립니다.
2.변형식B.
손절이 된 후에 반대편 진입은 나와도 되는데 손절됐던 방향으로 즉시 재진입이 되는데 이것을 막는 방법이 없을까요?
제가 생각하건데 진입조건식이 두가지인 OR 이 있다보니 손절이 된 후에는 다른 진입조건이 만족 되어서 진입식이 나오는 것 같은데 OR 조건으로 되어 있어서 안될 것 같긴한데 방법이 있다면 바꿔 주십시오. 감사합니다.
# 매수/
If (매수조건1) or (매수조건2) then{
if count == 0 Then#당일첫진입일때는 매수조건만족시 진입
buy("b1");
if count > 0 Then {#당일 두번째 진입부터
#무포지션이면 직전진입이 SetStopProfittarget으로 청산된게 아닐때만 진입
if MarketPosition == 0 and ExitDate(1) == sdate and IsExitName("StopProfittarget",1) == false Then
Buy("b2");
#매도포지션 상태이고 저가가 진입가-1보다 클때만 진입
if MarketPosition == -1 and L > EntryPrice-2.00 Then
buy("b3");
#매도포지션 상태이고 저가가 진입가-1보다 작으면 청산만
if MarketPosition == -1 and L < EntryPrice-2.00 Then
ExitShort("sx");
}
}
# 매도/
If (매도조건1) or (매도조건2) Then{
if count == 0 Then#당일첫진입일때는 매도조건만족시 진입
Sell("s1");
if count > 0 then{#당일 두번째 진입부터
#무포지션이면 직전진입이 SetStopProfittarget으로 청산된게 아닐때만 진입
if MarketPosition == 0 and ExitDate(1) == sdate and IsExitName("StopProfittarget",1) == false Then
Sell("s2");
#매수포지션 상태이고 고가가 진입가+1보다 클때만 진입
if MarketPosition == 1 and H < EntryPrice+2.00 Then
Sell("s3");
#매수포지션 상태이고 고가가 진입가+1보다 크면 청산만
if MarketPosition == 1 and H > EntryPrice+2.00 Then
ExitLong("bx");
}
}
SetStopLoss(2,PointStop);
SetStopProfittarget(2.00,PointStop);
SetStopEndofday(150000);
다음글
이전글