Inicio › Guías › Automatización › Cómo funciona un EA
Cómo funciona un EA por dentro
Saber qué hace un experto entre tick y tick quita mucho miedo y resuelve la mitad de los problemas. Un EA no es una caja negra: es un programa al que el terminal le avisa cuando pasa algo. Aquí está el recorrido completo, desde que se adjunta al gráfico hasta que envía una orden, con las referencias oficiales para comprobarlo.
El ciclo de vida: a qué eventos responde
MetaTrader 5 llama a una serie de funciones del experto según lo que ocurre en el terminal. Casi todo el trabajo
de un EA vive en OnTick (documentación oficial).
| Función | Cuándo se ejecuta | Para qué se usa |
|---|---|---|
OnInit() | Una sola vez, al cargar el experto en el gráfico | Preparar variables, validar parámetros, crear manejadores de indicadores |
OnTick() | Cada vez que llega un tick nuevo del símbolo | El corazón: leer datos, decidir y, si toca, enviar órdenes |
OnTimer() | Al intervalo que se fije con EventSetTimer() | Tareas periódicas: refrescar un panel, comprobar horarios, publicar datos |
OnTradeTransaction() | Cuando cambia algo en las operaciones o posiciones | Reaccionar a ejecuciones, cierres parciales o cancelaciones |
OnDeinit() | Al descargar el experto del gráfico | Limpiar objetos, liberar recursos, dejar rastro |
OnTick. Un EA muy activo en M1 puede
estar mucho rato sin ejecutarse en un índice con ticks espaciados, y eso no es un fallo: es cómo funciona el
terminal.
Qué mira en cada tick
Antes de decidir nada, un experto lee del terminal. Toda la información viene de funciones de consulta (especificación del símbolo y series temporales):
- Precio actual y spread del símbolo, además del valor del tick
(
SymbolInfoDoubleconSYMBOL_TRADE_TICK_VALUE), que es imprescindible para calcular el lote por riesgo. - Velas del histórico, para cualquier cálculo de estructura (CopyRates) o valores de indicadores a través de sus manejadores.
- Estado de la cuenta: saldo, equidad, margen libre, apalancamiento.
- Posiciones y órdenes abiertas, filtrando por el identificador del experto (magic number) para no tocar lo que no es suyo.
Cómo envía una operación
Para operar, el experto construye una petición y la manda al servidor con
OrderSend() (documentación oficial).
La petición lleva símbolo, volumen, precio, stop, objetivo y el magic number. El servidor puede
aceptarla o rechazarla, y ahí están la mayoría de las sorpresas:
- Stops mínimos: cada símbolo tiene una distancia mínima entre precio y stop. Si el experto propone un stop más corto, el servidor rechaza la orden.
- Volumen: hay un mínimo, un máximo y un paso (por ejemplo 0,01). Un lote calculado más pequeño que el mínimo no se puede enviar.
- Modo de ejecución: el símbolo admite ciertos modos de llenado; usar uno no soportado produce error y el experto debe reintentar con otro.
- Margen: si no hay margen libre suficiente para ese volumen, la orden no entra aunque haya señal.
La lógica, en cuatro líneas
Despojado de adornos, casi todo experto de gestión de riesgo hace esto en cada tick. Verlo escrito ayuda a entender por qué el orden de los pasos importa:
2 · ¿Se cumple mi condición de entrada y no estoy fuera de horario? → seguir.
3 · Calcular el lote con el riesgo y la distancia al stop. Si sale menor que el mínimo, NO operar.
4 · Enviar la orden con stop y objetivo; si el servidor la rechaza, registrar el motivo y no insistir en bucle.
El paso 3 es el que separa un bot de riesgo controlado de una máquina de quemar cuentas. Un experto que envía «0,10 lotes» porque sí está ignorando lo único que sí conviene automatizar: el tamaño de la posición.
Por qué a veces «no hace nada»
Antes de sospechar de la estrategia, descarta estas causas. En nuestra experiencia, la mayoría de las consultas de «mi EA no opera» se resuelven aquí:
| Síntoma | Causa habitual |
|---|---|
| No aparece la carita sonriente en el gráfico | El botón Trading algorítmico está desactivado, o el experto no tiene permiso para operar en la solapa «Común» |
| Carita sonriente pero cero operaciones | Filtro de horario, spread por encima del máximo permitido o condición de entrada que no se cumple |
| Errores en el registro con números | Volumen por debajo del mínimo, stop más corto que el mínimo del símbolo o margen insuficiente |
| Indicadores con valores extraños o el experto no calcula nada | Histórico del símbolo sin descargar: el terminal aún no tiene velas suficientes |
| Opera en demo y no en real (o al revés) | Permisos de la solapa «Común» del experto |
Cómo comprobar que hace lo que crees
- Pestaña «Expertos» del terminal: mensajes de
Print, errores de envío y avisos. - Strategy Tester en modo visual: lo ves operar sobre el gráfico, entrada a entrada, con la lista de operaciones al lado.
- Cuenta demo con el mismo bróker durante un periodo que incluya días malos: es donde aparecen los rechazos reales, el deslizamiento y el spread de cada hora.
- Informe de resultados en R, no en dinero: para comparar el sistema contigo mismo cuando el tamaño cambie (cómo se mide).
Preguntas frecuentes
¿Qué es OnTick y cada cuánto se ejecuta?
Es la función que se llama cada vez que llega un tick nuevo del símbolo del gráfico. No se ejecuta a intervalos fijos: depende de la frecuencia real de ticks del instrumento, que en sintéticos puede ser de varios por segundo o de uno cada varios segundos según el índice.
¿Por qué mi EA no hace nada aunque el mercado esté abierto?
Por causas ajenas a la estrategia, casi siempre: «Trading algorítmico» desactivado, símbolo sin historial, lote por debajo del mínimo, stop por debajo del mínimo permitido, spread por encima del filtro, una posición ya abierta, o la pausa diaria del instrumento. El registro de Expertos dice cuál.
¿Un EA puede operar varios símbolos a la vez?
Sí. Un experto recibe solo los ticks del gráfico donde está, así que se usan dos enfoques: consultar los demás símbolos desde un único gráfico, o abrir una instancia en cada gráfico con un magic number distinto para que cada una gestione únicamente sus posiciones.
¿Cómo sé qué está haciendo mi EA en cada momento?
Con Print hacia la pestaña «Expertos», con el Strategy Tester en modo visual y con la pestaña
«Operaciones» del terminal. Un experto que no deja rastro es imposible de auditar.
¿Funciona igual en real que en el probador?
No. El probador reconstruye el pasado con un modelo de ejecución simplificado: sin latencia real, con deslizamiento aproximado y con un spread que no refleja cada hora del día. Por eso se prueba también en demo antes de arriesgar dinero.
Entender lo que ejecuta, antes de dejarlo suelto
En la academia se revisa primero qué hace el experto y por qué, y solo después se le deja operar. Si no sabes explicar una operación del registro, el problema no es el mercado.
Sigue leyendo
- EA y bots para MetaTrader 5Qué se puede automatizar de verdad y qué no, antes de programar nada.
- Instalar un EA en MetaTrader 5 paso a pasoDónde va el archivo, cómo activarlo y los errores típicos.
- Copy trading con MT5Qué se copia, qué no, y cómo se ajusta el tamaño en cada cuenta.
- Martingala en índices sintéticosEl error que más se automatiza sin querer: doblar tras perder.
- Todas las guíasÍndice completo de contenidos: sintéticos, operativa, automatización, forex y oro.