Las órdenes pendientes son aquellas que se ejecutarán cuando el precio toque un nivel que nosotros especifiquemos. En otras palabras, abrir una orden pendiente significa que estamos ordenando abrir una posición a un precio determinado. Así, si el precio alcanza un nivel previamente establecido, automáticamente tendremos una posición de trading abierta.
En el sistema de trading, existen 6 tipos de órdenes:
- Tipo 0 = Comprar
- Tipo 1 = Vender
- Tipo 2 = Compra Límite
- Tipo 3 = Venta Límite
- Tipo 4 = Compra Stop
- Tipo 5 = Venta Stop
De estas 6 órdenes, hay cuatro tipos de órdenes pendientes disponibles. Vamos a detallar cada tipo de orden pendiente y luego pasaremos a la acción de trading.
1. Orden de Compra Límite
Una orden de compra límite es una orden que se ejecuta cuando el precio está por debajo del nivel establecido. Esta orden debe tener en cuenta la estructura de precios para ser efectiva.
Un enfoque básico para la orden de compra sería:
OrderSend(Symbol(), 2, start_lot, Ask-Distancia*Point, 3, Ask-Distancia*Point-SL*Point,Ask-Distancia*Point+TP*Point, "", Magic, 0, Blue);
Recuerda ajustar la distancia entre el precio actual y el precio fijado para la orden pendiente:
Ask- Distancia*Point
2. Orden de Venta Límite
Las órdenes de venta límite se establecen por encima del precio en movimiento. El proceso es muy similar al de la compra límite, así que asegúrate de tener en cuenta el tipo de orden y la distancia.
OrderSend(Symbol(), 3, start_lot, Bid+Distancia*Point, 3, Bid +Distancia*Point+ SL*Point,Bid+Distancia*Point-TP*Point, "", Magic, 0, Red);
3. Orden de Compra Stop
Las órdenes de compra stop se activan cuando el precio está por encima del nivel establecido. La lógica es similar a las anteriores.
OrderSend(Symbol(), 4, start_lot, Ask + Distancia*Point, 3, Ask + Distancia*Point - SL*Point,Ask + Distancia*Point + TP*Point, "", Magic, 0, Blue);
4. Orden de Venta Stop
Por último, las órdenes de venta stop son aquellas que se ejecutan cuando el precio está por debajo del nivel establecido.
OrderSend(Symbol(), 5, start_lot, Bid-Distancia*Point, 3, Bid -Distancia*Point + SL*Point,Bid-Distancia*Point-TP*Point, "", Magic, 0, Red);
Como prometí al inicio, vamos a simplificar el EA utilizando todas las cuatro órdenes pendientes. Pero antes, debemos hacer un pedido basado en el tipo de filtro. Aquí te dejo una función para calcular el tipo de orden:
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); }
El EA funciona de la siguiente manera:

Espero que esta guía te haya sido útil. ¡No dudes en dejar tus comentarios!
¡Te deseo muchos éxitos en tus trading, buena suerte y que tengas un gran día!
Publicaciones relacionadas
- Procesamiento Visual de Órdenes: Mejora tu Trading en MetaTrader 4
- Crea tu Asesor Experto con MQL5: Señales de Trading Basadas en Estrellas de la Mañana/Atardecer y CCI
- Cómo Crear un Asesor Experto con MQL5: Señales de Trading Basadas en Estrellas y Estocástico
- Señales de Trading con MQL5: Patrones de Estrellas y MFI
- Crea tu Asesor Experto con MQL5: Señales de Trading Basadas en Harami y Estocástico