매수/매도 포지션마다 각각 다른 청산조건을 입력하고 싶습니다
1. 매수
- IF 현재가 > 손절가 이면 익일 시가청산 * 손절가를 이탈하지 않으면 익일 시가청산
- 매수포지션은 손절가를 이탈하지 않을경우 익일 시가에 청산하기 위함
IF MarketPosition == 1 then {
if NextBarSdate == SDATE Then
ExitLong("LS",AtLimit,LatestEntryPrice(0)-LTR);
IF NextBarSdate != SDATE Then
ExitLong("EL",ATMARKET);
2. 매도
- IF 현재가 < 손절가 이면 당일 종가청산 * 손절가를 이탈하지 않으면 당일청산
- 매도포지션은 손절가를 이탈하지 않을경우 당일청산
IF MarketPosition == -1 then
IF NextBarSdate == SDATE Then EXITSHORT("SS",AtStop,LatestEntryPrice(0) + STR);
ELSE SetStopEndofday();
이렇게 수식을 입력하였는데요, 매수포지션도 종가에 청산됩니다.
그리고 매수포지션과 매도포지션 수식을 따로 입력해서 시뮬레이션을 돌리면 제가 원하는대로 각각 진입/청산은 잘 됩니다. 매수/매도 함수를 합치면 계속 오류가 납니다.
저번주에 답변을 주셨으나 답을 잘못 알려주신것 같아서 다시 질문 드립니다.
답변 1
예스스탁
예스스탁 답변
2020-05-25 11:43:17
안녕하세요
예스스탁입니다.
1
강제청산은 한번 셋팅되면 별도로 해제를 하지 않은 이상 그 셋팅이 계속 유지가 됩니다.
매도포지션이 아닐때는 0으로 셋팅해서 해제되게 하셔야 합니다.
2
마지막봉 청산은 과거 시뮬레이션이션에만 의미가 있습니다.
실전에서는 해당 함수안에 시간을 지정하셔야 합니다.
3
IF MarketPosition == 1 then
{
if NextBarSdate == SDATE Then
ExitLong("LS",AtLimit,LatestEntryPrice(0)-LTR);
IF NextBarSdate != SDATE Then
ExitLong("EL",ATMARKET);
}
if MarketPosition == -1 Then
{
If NextBarSdate == SDATE Then EXITSHORT("SS",AtStop,LatestEntryPrice(0) + STR);
SetStopEndofday();
}
Else
SetStopEndofday(0);#해제
즐거운 하루되세요
> 엠씨용가 님이 쓴 글입니다.
> 제목 : 청산문의
> 매수/매도 포지션마다 각각 다른 청산조건을 입력하고 싶습니다
1. 매수
- IF 현재가 > 손절가 이면 익일 시가청산 * 손절가를 이탈하지 않으면 익일 시가청산
- 매수포지션은 손절가를 이탈하지 않을경우 익일 시가에 청산하기 위함
IF MarketPosition == 1 then {
if NextBarSdate == SDATE Then
ExitLong("LS",AtLimit,LatestEntryPrice(0)-LTR);
IF NextBarSdate != SDATE Then
ExitLong("EL",ATMARKET);
2. 매도
- IF 현재가 < 손절가 이면 당일 종가청산 * 손절가를 이탈하지 않으면 당일청산
- 매도포지션은 손절가를 이탈하지 않을경우 당일청산
IF MarketPosition == -1 then
IF NextBarSdate == SDATE Then EXITSHORT("SS",AtStop,LatestEntryPrice(0) + STR);
ELSE SetStopEndofday();
이렇게 수식을 입력하였는데요, 매수포지션도 종가에 청산됩니다.
그리고 매수포지션과 매도포지션 수식을 따로 입력해서 시뮬레이션을 돌리면 제가 원하는대로 각각 진입/청산은 잘 됩니다. 매수/매도 함수를 합치면 계속 오류가 납니다.
저번주에 답변을 주셨으나 답을 잘못 알려주신것 같아서 다시 질문 드립니다.