커뮤니티
진입제어
2013-03-13 09:38:34
206
글번호 60634
수고하십니다.
아래와 같은 전략에서,
Condition1 = Date == ExitDate(1) And MarketPosition(1) == 1;
Condition2 = Date == ExitDate(1) And MarketPosition(1) ==-1;
If Condition3 Or Condition4 Then
{
If Condition1 == False Then
Buy("매수", AtStop, DayOpen + Var1);
}
If Condition3 Or Condition4 Then
{
If Condition2 == False Then
Sell("매도", AtStop, DayOpen - Var1);
}
매수의 경우 Condition3이 승률이 높고, 매도의 경우 Condition4가
승률이 높게 나와서, 매수는 Condition3에만, 매도는 Condition4에만
진입하게 하였더니, 총손익과 승률등 전체적인 실적이 악화되었습니다.
진입제어 Conditon1,2때문에 하루에 한번만 진입이 되어 그런것
같습니다.
Condition3에는 매수만 하되, 원래의 매수거래횟수와 동일하게,
Condition4에는 매도만 하되, 원래의 매도거래횟수와 동일하게,
Conditon1,2가 아닌 Var를 이용하여 윗식을 수정부탁드립니다.
또한 Atstop주문은 봉 중간에 발생되는데 이것도 정확히 고려가
되었으면 좋겠습니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2013-03-13 15:20:09
안녕하세요
예스스탁입니다.
올려주신 식자체는
첫번째 신호가 매수진입이면 --> 다음 매도진입으로 스위칭 하고 당일 신호 끝
첫번째 신호가 매도진입이면 --> 다음 매수진입으로 스위칭 하고 당일 신호 끝
입니다.
식내용은 매수와 매도가 서로 스위칭만 되고 두번만 진입는 식이므로
아래와 같이 작성하시면 됩니다.
if date != date[1] Then{
value1 = 0; #초기 포지션
value2 = 0; #횟수 초기화
}
# 직전봉에서 Condition3 만족하고 현재봉 고가가 dayopen+var1보다 크면 value1은 1
if dayindex > 0 and value1 <= 0 and Condition3[1] and H >= dayopen+var1 Then{
value1 = 1;
value2 = value2+1;
}
# 직전봉에서 Condition4 만족하고 현재봉 고가가 dayopen+var1보다 크면 value1은 1
if dayindex > 0 and value1 <= 0 and Condition4[1] and H >= dayopen+var1 Then{
value1 = 1;
value2 = value2+1;
}
# 직전봉에서 Condition3 만족하고 현재봉 저가가 dayopen-var1보다 작으면 value1은 -1
if dayindex > 0 and value1 >= 0 and Condition3[1] and L <= dayopen-var1 Then{
value1 = -1;
value2 = value2+1;
}
# 직전봉에서 Condition4 만족하고 현재봉 저가가 dayopen-var1보다 작으면 value1은 -1
if dayindex > 0 and value1 >= 0 and Condition4[1] and L <= dayopen-var1 Then{
value1 = -1;
value2 = value2+1;
}
if value1 <= 0 and value2 < 2 and condition4 == true Then
Buy("매수", AtStop, DayOpen + Var1);
if value1 >= 0 and value2 < 2 and condition3 == true Then
Sell("매도", AtStop, DayOpen - Var1);
if MarketPosition == 1 Then{
if Condition3 or Condition4 Then
ExitLong("매수청산", AtStop, DayOpen - Var1);
}
if MarketPosition == -1 Then{
if Condition3 or Condition4 Then
ExitShort("매도청산", AtStop, DayOpen + Var1);
}
올려주신 내용과 같은 경우에는 구현하려면 식 자체의 전체내용이 필요합니다.
Condition1이나 Condition2는 보통 청산 후에 동일방향의 진입을 막을 때
사용되는 내용인데 올려주신 식에서는 청산내용이 없습니다.
또한 진입이나 청상이 atstop이나 atlimit등이라면 내용 또한 정확히 구현된다는 보장이 없습니다.
즐거운 하루되세요
> HI_chakanee 님이 쓴 글입니다.
> 제목 : 진입제어
> 수고하십니다.
아래와 같은 전략에서,
Condition1 = Date == ExitDate(1) And MarketPosition(1) == 1;
Condition2 = Date == ExitDate(1) And MarketPosition(1) ==-1;
If Condition3 Or Condition4 Then
{
If Condition1 == False Then
Buy("매수", AtStop, DayOpen + Var1);
}
If Condition3 Or Condition4 Then
{
If Condition2 == False Then
Sell("매도", AtStop, DayOpen - Var1);
}
매수의 경우 Condition3이 승률이 높고, 매도의 경우 Condition4가
승률이 높게 나와서, 매수는 Condition3에만, 매도는 Condition4에만
진입하게 하였더니, 총손익과 승률등 전체적인 실적이 악화되었습니다.
진입제어 Conditon1,2때문에 하루에 한번만 진입이 되어 그런것
같습니다.
Condition3에는 매수만 하되, 원래의 매수거래횟수와 동일하게,
Condition4에는 매도만 하되, 원래의 매도거래횟수와 동일하게,
Conditon1,2가 아닌 Var를 이용하여 윗식을 수정부탁드립니다.
또한 Atstop주문은 봉 중간에 발생되는데 이것도 정확히 고려가
되었으면 좋겠습니다.
감사합니다.
다음글
이전글