Specifiche
Descripción general del proyecto
Busco un programador MQL5 con experiencia para desarrollar un Expert Advisor (EA) para MetaTrader 5, basado en una estrategia específica que opera US30 en el timeframe M5, con entradas por ruptura de Pin Bars y filtro de tendencia mediante EMA50.
El EA debe ejecutar las reglas exactamente como se describen a continuación, sin agregar ni quitar lógica de mercado. También debe incluir parámetros editables básicos, manejo correcto del spread, y logs claros para auditoría.
Automatizar una estrategia discrecional simple y objetiva, que busca entradas de alta probabilidad tras la formación de una Pin Bar válida dentro de un horario operativo limitado.
La operación se activa solo si se rompe el extremo de la Pin Bar, con SL en el extremo opuesto y TP fijo 1:2.
1. Activo y Timeframe
-
Símbolo: US30 (Dow Jones Index).
-
Timeframe de análisis: M5.
-
El EA debe operar únicamente si está aplicado a US30.
-
Si está colocado en otro timeframe → debe seguir trabajando con datos de M5.
2. Horario operativo (New York Time)
El EA solo debe abrir operaciones entre:
✔ 9:35 AM a 11:00 AM (Hora Nueva York)
Fuera de este horario:
-
No debe abrir operaciones nuevas.
-
Puede gestionar operaciones abiertas (SL / TP).
Conversión de hora se debe hacer usando TimeTradeServer().
3. Filtro de Tendencia (EMA 50)
El EA debe calcular la EMA50 en M5.
✔ Para operaciones BUY:
-
Precio actual por encima de la EMA50.
-
La Pin Bar debe estar completamente por encima de la EMA50.
✔ Para operaciones SELL:
-
Precio actual por debajo de la EMA50.
-
La Pin Bar debe estar completamente por debajo de la EMA50.
Si no coincide el filtro → señal inválida.
4. Reglas exactas para identificar una Pin Bar válida
Cálculos base:
-
rango_total = high - low
-
cuerpo = abs(open - close)
-
mecha_superior = high - max(open, close)
-
mecha_inferior = min(open, close) - low
4.1 Regla general para TODO Pin Bar:
-
cuerpo ≤ 30% del rango total
4.2 Pin Bar Alcista (BUY)
Debe cumplir todo esto:
-
mecha_inferior ≥ 65% del rango_total
-
mecha_superior ≤ 15% del rango_total
-
Vela situada por encima de EMA50
4.3 Pin Bar Bajista (SELL)
Debe cumplir todo esto:
-
mecha_superior ≥ 65% del rango_total
-
mecha_inferior ≤ 15% del rango_total
-
Vela situada por debajo de EMA50
5. Condiciones de Entrada (Trigger)
✔ BUY
-
Entrada cuando el precio rompe el máximo de la Pin Bar (PB_High).
-
Con buffer configurable (por defecto: 1–2 puntos).
-
Entrada = PB_High + buffer
-
✔ SELL
-
Entrada cuando el precio rompe el mínimo de la Pin Bar (PB_Low).
-
Entrada = PB_Low – buffer
Activación correcta:
-
BUY → ruptura por ASK.
-
SELL → ruptura por BID.
6. Stop Loss (SL)
BUY
-
SL = mínimo de la Pin Bar (PB_Low)
SELL
-
SL = máximo de la Pin Bar (PB_High)
SL no debe modificarse después de colocado.
7. Take Profit (TP)
TP siempre es 1:2.
-
riesgo = abs(entrada - SL)
-
TP = entrada + (riesgo × 2) para BUY
-
TP = entrada – (riesgo × 2) para SELL
Sin trailing-stop y sin parcialidades.
8. Gestión de Trade
-
Solo una operación a la vez.
-
Si la Pin Bar se forma mientras hay una operación abierta → ignorarla.
-
Si pasan 3 velas (M5) desde la Pin Bar y el precio NO activa la entrada → descartar señal.
-
Opcional: parámetro para limitar máximo de trades por día (1–3).
9. Condiciones de Mercado
-
Spread máximo configurable (ejemplo: 30–50 puntos).
-
Si el spread excede → NO abrir trades.
-
El EA debe verificar que existan ticks válidos.
10. Parámetros configurables
-
Lote fijo
-
Riesgo % por operación (opcional)
-
Buffer de entrada
-
Spread máximo permitido
-
Número máximo de operaciones/día
-
Activar/Desactivar cierre automático al final del horario
-
Activar/Desactivar logs detallados
11. Logs requeridos (imprescindible para pruebas)
El EA debe registrar:
-
“Pin Bar detectada (BUY/SELL)”
-
“Pin Bar no válida (motivo)”
-
“Entrada activada — precio — SL — TP”
-
“Señal cancelada por pasar 3 velas”
-
“Fuera de horario”
-
“Spread demasiado alto”
-
“Filtro EMA50 no cumplido”
12. Requisitos del desarrollador
-
Experiencia demostrable en programación de EA para MT5
-
Conocimiento sólido de:
-
Manejo de tiempos (TimeTradeServer)
-
Órdenes por BID/ASK
-
Calculo preciso de velas y mechas
-
Manejo de spread y volatilidad en índices
-
-
Entrega del código fuente (.mq5)
13. Entregables
-
Archivo .mq5 (código fuente completo)
-
Archivo .ex5 compilado
-
Manual breve de parámetros
-
Soporte para correcciones menores post-entrega
14. Contacto
Estoy disponible para responder preguntas y aclarar la lógica de la estrategia durante el desarrollo.