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

Spécifications

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!


Répondu

1
Développeur 1
Évaluation
(269)
Projets
337
29%
Arbitrage
36
28% / 64%
En retard
10
3%
Chargé
2
Développeur 2
Évaluation
(611)
Projets
711
33%
Arbitrage
45
49% / 42%
En retard
14
2%
Travail
3
Développeur 3
Évaluation
(10)
Projets
12
8%
Arbitrage
2
0% / 100%
En retard
0
Gratuit
4
Développeur 4
Évaluation
(28)
Projets
34
35%
Arbitrage
0
En retard
2
6%
Gratuit
5
Développeur 5
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
6
Développeur 6
Évaluation
(3)
Projets
4
0%
Arbitrage
1
100% / 0%
En retard
1
25%
Gratuit
7
Développeur 7
Évaluation
(60)
Projets
74
59%
Arbitrage
4
75% / 25%
En retard
1
1%
Chargé
8
Développeur 8
Évaluation
(549)
Projets
838
61%
Arbitrage
33
27% / 45%
En retard
24
3%
Gratuit
Publié : 1 code
9
Développeur 9
Évaluation
(62)
Projets
92
16%
Arbitrage
4
0% / 25%
En retard
2
2%
Gratuit
10
Développeur 10
Évaluation
(1)
Projets
1
100%
Arbitrage
0
En retard
0
Gratuit
11
Développeur 11
Évaluation
(2337)
Projets
2940
63%
Arbitrage
124
44% / 26%
En retard
429
15%
Travail
12
Développeur 12
Évaluation
(184)
Projets
317
24%
Arbitrage
23
35% / 13%
En retard
23
7%
Gratuit
Publié : 3 codes
13
Développeur 13
Évaluation
(13)
Projets
13
38%
Arbitrage
1
0% / 100%
En retard
1
8%
Gratuit
14
Développeur 14
Évaluation
(2)
Projets
2
0%
Arbitrage
0
En retard
0
Gratuit
15
Développeur 15
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit

Informations sur le projet

Budget
30 - 150 USD

Client

Commandes passées1
Nombre d'arbitrages0