Trabajo finalizado
Tarea técnica
1. Objetivo del Bot
Desarrollar un Expert Advisor (EA) para MT5 cuya única función sea colocar un Stop Loss automático e inmediato en todas las operaciones abiertas manualmente, utilizando tres parámetros configurables:
-
Capital total (manual)
-
Porcentaje de riesgo
-
Distancia del SL en ticks
El bot no debe abrir operaciones.
El bot no debe colocar Take Profit (el TP siempre lo coloco yo manualmente).
2. Funcionamiento General
El EA debe monitorear de forma continua el flujo de órdenes nuevas.
Cuando el usuario abre una operación manual (BUY o SELL), ya sea desde PC o desde el celular, el bot debe:
-
Detectar la nueva operación.
-
Calcular el lote necesario según el riesgo configurado.
-
Colocar automáticamente el Stop Loss a la distancia exacta en ticks.
IMPORTANTE:
El Stop Loss debe colocarse lo más rápido posible, literalmente en microsegundos o en el menor tiempo permitido por la arquitectura de MT5. El desarrollador debe usar la metodología más eficiente (eventos OnTradeTransaction, manejo directo de ORDER_TYPE y modificación inmediata) para garantizar que el SL se instancia prácticamente al instante en que la operación se abre.
El bot debe funcionar también si la operación se abre desde el MT5 móvil.
3. Parámetros configurables (Inputs)
El EA debe incluir los siguientes campos editables:
-
Capital_Total
-
Tipo: double
-
Ejemplo: 1000
-
Este valor lo ingresa el usuario manualmente para que el riesgo se calcule en base a él.
-
-
Riesgo_Porcentual
-
Tipo: double
-
Ejemplo: 5
-
Riesgo en dólares = Capital_Total * (Riesgo_Porcentual / 100)
-
-
Distancia_SL_Ticks
-
Tipo: entero
-
Ejemplo: 2500
-
Esta distancia define cuánto espacio habrá entre el precio de entrada y el SL.
-
Todos los textos, parámetros y mensajes del EA deben estar en español.
4. Lógica del Bot
4.1 Cálculo del riesgo en dólares
4.2 Cálculo automático del lote
Usando los valores del símbolo:
-
Tick_value
-
Tick_size
-
Distancia_SL_Ticks
El cálculo debe ser:
Costo_por_lote = Distancia_SL_Ticks * Tick_value / Tick_size Lote_Final = Riesgo_USD / Costo_por_lote
Este es el lote final que el bot debe aplicar automáticamente a la operación nueva.
4.3 Colocación inmediata del Stop Loss
Si es una BUY:
Si es una SELL:
SL = PrecioEntrada + (Distancia_SL_Ticks * Tick_size)
El EA debe usar OrderModify() inmediatamente después de detectar la apertura.
4.4 Velocidad absoluta obligatoria
El bot debe ejecutar la modificación sin delay, con lógica optimizada:
-
Trabajar en OnTradeTransaction o el método más rápido disponible.
-
No usar timers lentos ni loops que retrasen el proceso.
-
El SL debe quedar colocado prácticamente de inmediato tras la apertura de la operación.
Esto es requisito obligatorio.
5. Reglas Adicionales
-
El bot no abre operaciones, solo modifica las ya abiertas manualmente.
-
El bot no coloca Take Profit.
-
Si la operación ya tiene SL manual, el EA no la toca.
-
El bot solo actúa en el símbolo donde está cargado.
-
Si abro varias operaciones consecutivas, el bot debe gestionar cada una sin retraso.
-
Compatible con operaciones desde PC y celular.
-
Todo el EA debe estar en español.
6. Ejemplo práctico completo
Parámetros usados:
-
Capital_Total = 1000
-
Riesgo_Porcentual = 5
-
Distancia_SL_Ticks = 2500
Entonces:
-
Riesgo_USD = 50
-
El bot calcula automáticamente el lote donde 2500 ticks equivalen a 50 USD.
-
Abro una operación manual.
-
En microsegundos el bot detecta la operación y coloca el SL exactamente a 2500 ticks.
-
El TP queda vacío porque lo coloco manualmente.
7. Objetivo del desarrollador
Construir un EA para MT5:
-
Simple
-
Directo
-
Totalmente automático
-
Extremadamente rápido
-
Preciso en cálculo de lotes y distancia del SL
-
En español