매수포지션 청산
ExitLong("명칭", 신호타입, 신호가격, "진입명", 수량, 수량옵션);
"명칭": 신호명칭, 하나의 전략에서 동일한 명칭으로 중복사용 불가
"신호타입": 생략 가능, 기본값은 OnClose
| OnClose | 봉완성시 종가에 신호표시 종가를 리포트 진입/청산가격으로 사용 | | --- | --- | | Atmarket | 봉완성시 다음봉 시가에 신호표시 다음봉 시가를 리포트 진입/청산가격으로 사용 | | AtStop | 봉완성시 감시할 신호가격을 셋팅하고 다음봉에서 가격조건 충족시 즉시 신호발생. 가격조건 충족하는 첫시세가 리포트의 진입/청산가격이 됨.
Buy, ExitShort인 경우에는 지정한 신호가격 이상의 시세 발생 시 즉시 신호발생 Sell, ExitLong인 경우에는 지정한 신호가격 이하의 시세 발생 시 즉시 신호발생 | | AtLimit | 봉완성시 감시할 신호가격을 셋팅하고 다음봉에서 가격조건 충족시 즉시 신호발생. 가격조건 충족하는 첫시세가 리포트의 진입/청산가격이 됨.
Buy, ExitShort인 경우에는 지정한 신호가격 이하의 시세 발생 시 즉시 신호발생 Sell, ExitLong인 경우에는 지정한 신호가격 이상의 시세 발생 시 즉시 신호발생 |
"감시가격": AtLimit, AtStop일 때 감시할 신호가격.
OnClose, AtMarket의 경우는 필요하지 않으며 DEF로 입력
"진입명": 진입명을 지정하면 지정한 이름의 진입신호가 있을때만 신호가 발생
"수량": 주문 수량,
생략하면 현재 남은 수량 전량 청산.
포지션의 남은 수량이 지정한 수량보다 작으면 남은 수량만 청산
"수량옵션": 수량적용옵션
분할청산시에 사용하는 옵션이고 기본값은 0
0 : 각 진입신호별 지정수량을 차감해 청산
1 : 전체수량 중 지정수량을 청산
2 : 하나의 청산함수로 지정수량을 반복청산
var : mav1(0),mav2(0);
//이동평균
mav1 = ma(C,5);
mav2 = ma(C,20);
#매수진입 후
if MarketPosition == 1 Then
{
//봉완성시 이평 데드크로스 발생하면 봉완성시 종가 전량청산
if CrossDown(mav1,mav2) Then
ExitLong("bx1",OnClose);//OnClose는 생략가능
//봉완성시 다음봉 시가날짜와 완성봉 날짜가 다르면 다음봉 시가 전량청산
//다음날 시초가청산
if NextBarSdate != sDate Then
ExitLong("bx2",AtMarket);
//진입가 대비 20틱 하락하면 즉시 전량청산(손절)
ExitLong("bx3",AtStop,EntryPrice-PriceScale*20);
//진입가 대비 20틱 상승하면 즉시 전량청산(익절)
ExitLong("bx4",AtLimit,EntryPrice+PriceScale*20);
}
var : mav1(0),mav2(0);
//이동평균
mav1 = ma(C,5);
mav2 = ma(C,20);
//이평골드 매수진입
if CrossUp(mav1,mav2) Then
Buy("B1");
//20봉 신고가 매수진입
if C > Highest(H,20)[1] Then
Buy("B2");
#매수진입 후
if MarketPosition == 1 Then
{
//봉완성시 이평 데드크로스 발생하면
//B1진입만 봉완성시 종가 전량청산
if CrossDown(mav1,mav2) Then
ExitLong("bx1",OnClose,Def,"B1");
}