페딩 오더(Pending Order)는 특정 가격에 도달했을 때 자동으로 거래를 실행하는 주문 방식입니다. 즉, 미리 지정한 가격 수준에서 포지션을 열도록 설정하는 것이죠. 가격이 설정한 수준에 도달하면 자동으로 거래 포지션이 열립니다.
EA에서 제공하는 주문 유형은 총 6가지입니다:
- 타입 0 = 매수 (Buy)
- 타입 1 = 매도 (Sell)
- 타입 2 = 매수 리미트 (Buylimit)
- 타입 3 = 매도 리미트 (Selllimit)
- 타입 4 = 매수 스탑 (Buystop)
- 타입 5 = 매도 스탑 (Sellstop)
이 중에서 우리는 4가지 페딩 오더 타입에 대해 자세히 알아보겠습니다.
1. 매수 리미트 (Buy Limit)
매수 리미트 주문은 현재 가격보다 낮은 가격에서 실행되는 주문입니다. 이 경우, 가격이 설정한 리미트 가격으로 하락할 때 포지션이 열리도록 설정할 수 있습니다.
매수 주문을 설정할 때는 다음과 같은 코드를 사용합니다:
OrderSend(Symbol(), 2, start_lot, Ask-Distance*Point, 3, Ask-Distance*Point-SL*Point,Ask-Distance*Point+TP*Point, "", Magic, 0, Blue);
여기서 주의할 점은 현재 가격과 예약 가격 사이의 거리(Distance)입니다.
2. 매도 리미트 (Sell Limit)
매도 리미트 주문은 현재 가격보다 높은 가격에 설정되는 주문입니다. 가격이 설정한 리미트 가격으로 상승할 때 포지션이 열리도록 합니다.
매도 리미트를 설정할 때는 다음과 같은 코드를 사용합니다:
OrderSend(Symbol(), 3, start_lot, Bid+Distance*Point, 3, Bid +Distance*Point+ SL*Point,Bid+Distance*Point-TP*Point, "", Magic, 0, Red);
3. 매수 스탑 (Buy Stop)
매수 스탑 주문은 현재 가격보다 높은 가격에 설정되는 주문으로, 가격이 상승할 때 포지션이 열리게 됩니다.
매수 스탑 주문을 설정하는 코드 예시입니다:
OrderSend(Symbol(), 4, start_lot, Ask+ Distance*Point, 3, Ask+ Distance*Point-SL*Point,Ask+Distance*Point+TP*Point, "", Magic, 0, Blue);
4. 매도 스탑 (Sell Stop)
매도 스탑 주문은 현재 가격보다 낮은 가격에 설정되는 주문으로, 가격이 하락할 때 포지션이 열리게 됩니다.
매도 스탑 주문을 설정하는 코드 예시입니다:
OrderSend(Symbol(), 5, start_lot, Bid-Distance*Point, 3, Bid -Distance*Point+SL*Point,Bid-Distance*Point-TP*Point, "", Magic, 0, Red);
이제 위 4가지 페딩 오더를 활용해 간단한 EA를 만들어 보겠습니다. 아래 코드를 통해 주문 타입을 필터링하는 함수도 제공하겠습니다:
int totalorder(int m) { int total = 0; for (int i = 0; i < OrdersTotal(); i++) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue; if (OrderSymbol() != Symbol() || OrderMagicNumber()!=Magic || OrderType()!=m) continue; total++; } return (total); }
이제 EA를 통해 페딩 오더를 활용하는 법을 익혀보세요! 추가적인 질문이 있으시면 댓글로 남겨주세요.
행운을 빕니다!

즐거운 트레이딩 되세요!
댓글 0