Desarrollo de EA en MQL5 para MT5 - Estrategia Breakout e Input de Riesgo (Prop Firm Ready)

Specifiche

Hola,

Busco un programador experimentado en MQL5 para desarrollar un Expert Advisor (EA) personalizado para MetaTrader 5, diseñado específicamente para operar Petróleo (WTI/Brent) bajo las estrictas reglas de gestión de riesgo de las empresas de fondeo (Prop Firms).

El nombre oficial del proyecto y del archivo debe ser: El Vasco OIL.

A continuación, detallo las especificaciones lógicas y las variables de entrada requeridas:


1. Variables de Entrada (input variables) Obligatorias:

El EA debe exponer el siguiente panel de control en MT5:

mql5

 

//+------------------------------------------------------------------+

//|                                                 El Vasco OIL.mq5 |

//|                                      Copyright 2026, CARLOS GASTON LAVAYEN   |

//|                                             https://mql5.com |

//+------------------------------------------------------------------+

#property copyright   "Carlos Gaston Lavayen"

#property version     "1.00"

#property description "Expert Advisor Profesional para Cuentas de Fondeo"

#property description "Estrategia: Ruptura de Rango e Inyección de Liquidez"


//+------------------------------------------------------------------+

//|                      VARIABLES DE CONFIGURACIÓN GENERAL          |

//+------------------------------------------------------------------+

input string               Inp_MagicGroup     = "--- CONFIGURACIÓN GENERAL ---"; // Identificador

input int                  Inp_MagicNumber    = 88250;          // Número Mágico (Identificador único del EA)

input string               Inp_TradeComment   = "Oil_Breakout_Prop"; // Comentario de la orden

 

//+------------------------------------------------------------------+

//|                      GESTIÓN DE RIESGO AVANZADA                  |

//+------------------------------------------------------------------+

input string               Inp_RiskGroup      = "--- GESTIÓN DE RIESGO (PROP FIRM) ---";

input double               Inp_RiskPercent    = 0.5;            // % de Riesgo por Operación (Ej: 0.5% o 1.0%)

input double               Inp_MaxDailyLoss   = 4.0;            // % de Pérdida Máxima Diaria (Cierre de emergencia total)

input int                  Inp_StopLossPoints = 300;            // Stop Loss fijo en Puntos (Si no se usa el estructural)

input int                  Inp_TakeProfitPoints= 600;           // Take Profit fijo en Puntos (Relación 1:2)

input bool                 Inp_UseBreakeven   = true;           // ¿Activar Breakeven automático?

input int                  Inp_BreakevenTrigger= 300;           // Puntos en positivo para activar Breakeven

input int                  Inp_MaxSpreadAllowed= 40;            // Spread máximo permitido para abrir órdenes (Puntos)

 

//+------------------------------------------------------------------+

//|                      FILTROS DE TIEMPO Y SESIONES                |

//+------------------------------------------------------------------+

input string               Inp_TimeGroup      = "--- CONFIGURACIÓN DE HORARIOS ---";

input string               Inp_AsiaStart      = "01:00";        // Inicio de la Sesión Asiática (Hora Broker)

input string               Inp_AsiaEnd        = "07:00";        // Fin de la Sesión Asiática y cálculo de rango

input string               Inp_ExecutionStart = "08:00";        // Hora para colocar las órdenes pendientes

input string               Inp_ExecutionEnd   = "16:00";        // Hora límite para activar órdenes (Cancelación OCO)

input bool                 Inp_FridayClose    = true;           // ¿Cierre forzado los viernes? (Evitar Gaps)

input string               Inp_FridayCloseTime= "15:30";        // Hora de cierre los viernes (EST / Broker)

 

//+------------------------------------------------------------------+

//|                      FILTRO DE NOTICIAS DE ALTO IMPACTO          |

//+------------------------------------------------------------------+

input string               Inp_NewsGroup      = "--- FILTRO DE NOTICIAS (EIA / USD) ---";

input bool                 Inp_AvoidNews      = true;           // ¿Evitar noticias de alto impacto?

input int                  Inp_MinutesBefore  = 30;             // Minutos antes de la noticia para pausar el EA

input int                  Inp_MinutesAfter   = 30;             // Minutos después de la noticia para reactivar el EA


2. Lógica Operativa (Estrategia Breakout):

  1. Cálculo de Rango: El EA debe identificar el precio Máximo y Mínimo del activo entre Inp_AsiaStart e Inp_AsiaEnd (Hora del Servidor).
  2. Órdenes Pendientes: A la hora indicada en Inp_ExecutionStart, el EA debe colocar una orden Buy Stop (unos puntos por encima del Máximo) y una orden Sell Stop (unos puntos por debajo del Mínimo).
  3. Cancelación OCO / Tiempo: Si una orden se activa, la opuesta debe cancelarse automáticamente. Si llega la hora de Inp_ExecutionEnd y ninguna orden se ha ejecutado, el EA debe borrar ambas órdenes pendientes del mercado.

3. Gestión de Riesgo Especial (Requisito Crítico):

  • Cálculo Automatizado de Lotes: El tamaño del lote debe calcularse dinámicamente en base al balance actual de la cuenta, el porcentaje asignado en Inp_RiskPercent y la distancia del Stop Loss.
  • Filtro de Equidad Diaria (Inp_MaxDailyLoss): El EA debe monitorear constantemente la equidad flotante del día. Si las pérdidas acumuladas (cerradas + flotantes) alcanzan el porcentaje configurado, el EA debe cerrar inmediatamente todas las posiciones abiertas, borrar órdenes pendientes y pausar su operativa hasta el día siguiente. Esto es vital para proteger el drawdown diario de la Prop Firm.
  • Filtro de Spread: No permitir la apertura de ninguna orden si el spread actual es mayor que Inp_MaxSpreadAllowed.
  • Cierre Forzado de Viernes: Si Inp_FridayClose está activo, el EA debe cerrar de manera obligatoria cualquier posición flotante a la hora exacta definida en Inp_FridayCloseTime para evitar Gaps de fin de semana.

Entregables requeridos:

  • Código fuente abierto (.mq5) debidamente comentado.
  • Archivo ejecutable (.ex5) compilado sin errores ni advertencias.

Por favor, indícame tu presupuesto, tiempo estimado de entrega y si tienes alguna duda técnica sobre el planteamiento.

Quedo atento. ¡Muchas gracias!


Con risposta

1
Sviluppatore 1
Valutazioni
(269)
Progetti
337
29%
Arbitraggio
36
28% / 64%
In ritardo
10
3%
Caricato
2
Sviluppatore 2
Valutazioni
(611)
Progetti
711
33%
Arbitraggio
45
49% / 42%
In ritardo
14
2%
In elaborazione
3
Sviluppatore 3
Valutazioni
(10)
Progetti
12
8%
Arbitraggio
2
0% / 100%
In ritardo
0
Gratuito
4
Sviluppatore 4
Valutazioni
(28)
Progetti
34
35%
Arbitraggio
0
In ritardo
2
6%
Gratuito
5
Sviluppatore 5
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito
6
Sviluppatore 6
Valutazioni
(3)
Progetti
4
0%
Arbitraggio
1
100% / 0%
In ritardo
1
25%
Gratuito
7
Sviluppatore 7
Valutazioni
(60)
Progetti
74
59%
Arbitraggio
4
75% / 25%
In ritardo
1
1%
Caricato
8
Sviluppatore 8
Valutazioni
(549)
Progetti
838
61%
Arbitraggio
33
27% / 45%
In ritardo
24
3%
Gratuito
Pubblicati: 1 codice
9
Sviluppatore 9
Valutazioni
(62)
Progetti
92
16%
Arbitraggio
4
0% / 25%
In ritardo
2
2%
Gratuito
10
Sviluppatore 10
Valutazioni
(1)
Progetti
1
100%
Arbitraggio
0
In ritardo
0
Gratuito
11
Sviluppatore 11
Valutazioni
(2337)
Progetti
2940
63%
Arbitraggio
124
44% / 26%
In ritardo
429
15%
In elaborazione
12
Sviluppatore 12
Valutazioni
(184)
Progetti
317
24%
Arbitraggio
23
35% / 13%
In ritardo
23
7%
Gratuito
Pubblicati: 3 codici
13
Sviluppatore 13
Valutazioni
(13)
Progetti
13
38%
Arbitraggio
1
0% / 100%
In ritardo
1
8%
Gratuito
14
Sviluppatore 14
Valutazioni
(2)
Progetti
2
0%
Arbitraggio
0
In ritardo
0
Gratuito
15
Sviluppatore 15
Valutazioni
Progetti
0
0%
Arbitraggio
0
In ritardo
0
Gratuito

Informazioni sul progetto

Budget
30 - 150 USD

Cliente

Ordini effettuati1
Numero di arbitraggi0