예스스탁
예스스탁 답변
2020-05-22 11:23:00
안녕하세요
예스스탁입니다.
매도청산부분에 당일청산함수가 사용되어 있습니다.
아래와 같이 청산식 수정하시면 됩니다.
IF MarketPosition == 0 THEN {
IF H < L1 AND NEXTBARSDATE == SDATE Then BUY("L1",ATSTOP,L1);
IF L > S1 AND NEXTBARSDATE == SDATE THEN Sell("S1",ATSTOP,S1);
}
IF MarketPosition== 1 AND STIME <154000 THEN {
if highest(h,BarsSinceEntry) < L1 + LTR*0.5 Then
buy("L2",ATSTOP,L1 + LTR * 0.5);
if highest(h,BarsSinceEntry) < L1 + LTR Then
buy("L3",ATSTOP, L1 + LTR);
}
IF MarketPosition == 1 then
{
if NextBarSdate == SDATE Then
ExitLong("LX",AtStop,LatestEntryPrice(0)-LTR);
IF NextBarSdate != SDATE Then
ExitLong("EL",ATMARKET);
}
IF MarketPosition == -1 AND STIME < 154000 Then
{
IF Lowest(L,BarsSinceEntry) > S1 - STR * 0.5 Then
SELL("S2",ATSTOP, S1 - STR * 0.5);
IF Lowest(L,BarsSinceEntry) > S1 - STR Then
SELL("S3",ATSTOP, S1- STR);
}
IF MarketPosition == -1 then
{
if NextBarSdate == SDATE Then
ExitLong("SX",AtStop,LatestEntryPrice(0)+STR);
IF NextBarSdate != SDATE Then
ExitLong("ES",ATMARKET);
}
즐거운 하루되세요
> 엠씨용가 님이 쓴 글입니다.
> 제목 : 매수/매도 포지션에서 청산조건을 다르게 하기
> 안녕하세요 ^^
1) 매수포지션
- 맨 마지막에 진입한 가격 - LTR 만큼 하락하면 LX
- 위의 조건을 충족하지 않으면 익일 시가청산
2) 매도포지션
- 맨 마지막에 진입한 가격 + STR 만큼 상승하면 SX
- 위의 조건을 충족하지 않으면 당일 매도
상기 조건을 입력하고 싶은데요, 전략을 시뮬레이션 한 결과 거래내역을 보면 매수포지션에서 LX 주문은 잘 들어가는데. ES주문은 전혀 되지 않는걸로 나오고 있습니다. 즉, 모든 LX 주문조건을 충족하지 않으면 익일 시가청산으로 주문이 들어가야 하는데 모두 당일 종가청산이 됩니다.
이 문제를 어떻게 해결할 수 있을까요??
IF MarketPosition == 0 THEN {
IF H < L1 AND NEXTBARSDATE == SDATE Then BUY("L1",ATSTOP,L1);
IF L > S1 AND NEXTBARSDATE == SDATE THEN Sell("S1",ATSTOP,S1);
}
IF MarketPosition== 1 AND STIME <154000 THEN {
if highest(h,BarsSinceEntry) < L1 + LTR*0.5 Then
buy("L2",ATSTOP,L1 + LTR * 0.5);
if highest(h,BarsSinceEntry) < L1 + LTR Then
buy("L3",ATSTOP, L1 + LTR);
}
IF MarketPosition == 1 then {
if NextBarSdate == SDATE Then
ExitLong("LX",AtStop,LatestEntryPrice(0)-LTR);
IF NextBarSdate != SDATE Then
ExitLong("EL",ATMARKET);
}
IF MarketPosition == -1 AND STIME < 154000 Then {
IF Lowest(L,BarsSinceEntry) > S1 - STR * 0.5 Then
SELL("S2",ATSTOP, S1 - STR * 0.5);
IF Lowest(L,BarsSinceEntry) > S1 - STR Then
SELL("S3",ATSTOP, S1- STR);
IF NextBarSdate == SDATE Then
ExitShort("SX",ATSTOP,LatestEntryPrice(0) + STR); else SetStopEndofday();
}