커뮤니티

청산문의

프로필 이미지
엠씨용가
2020-05-24 01:25:41
2422
글번호 139122
답변완료
매수/매도 포지션마다 각각 다른 청산조건을 입력하고 싶습니다 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(); 이렇게 수식을 입력하였는데요, 매수포지션도 종가에 청산됩니다. 그리고 매수포지션과 매도포지션 수식을 따로 입력해서 시뮬레이션을 돌리면 제가 원하는대로 각각 진입/청산은 잘 됩니다. 매수/매도 함수를 합치면 계속 오류가 납니다. 저번주에 답변을 주셨으나 답을 잘못 알려주신것 같아서 다시 질문 드립니다.