Órdenes stop no válidas en MetaTrader: qué significan y cómo solucionarlo
En resumen: tu orden de stop loss o take profit se encuentra en un nivel que el bróker no acepta. Normalmente está demasiado cerca del precio actual; en ocasiones, se encuentra en el lado equivocado del mismo; y, a veces, se trata de un problema de redondeo en un valor con un tamaño de tick inusual. Estos tres casos se pueden consultar en las especificaciones del valor y en el diario de operaciones.
Lo que MetaTrader te está diciendo en realidad
En la pestaña «Diario», la línea tiene este aspecto:
Operación fallida de compra en el mercado: 0,10 EURUSD; stop loss: 1,08420; take profit: 1,08480 [Stops no válidos]
Se compararon las dos cifras con el precio en ese momento. El bróker las comparó con sus propias normas y rechazó la orden. La orden nunca llegó al mercado, por lo que no se abrió ninguna posición y no se perdió nada; sin embargo, se ha impedido silenciosamente que el EA opere, razón por la cual esto suele parecer un fallo del EA en lugar de una orden rechazada.
Causa 1: dentro del nivel de topes
Este es el más habitual. Cada símbolo tiene un Nivel de paradas, en puntos, que es la distancia mínima a la que puede situarse un stop loss o un take profit respecto al precio actual.
Búscalo: Market Watch, haz clic con el botón derecho del ratón, Símbolos, elige el par y lee las especificaciones. Si pone 30, entonces, en un EURUSD de 5 dígitos, tu stop debe estar a una distancia mínima de 3,0 pips.
Ahora compáralo con lo que el EA está intentando establecer. Un «take profit» de 30 pips supera fácilmente un nivel de «stop» de 30 puntos. Un «take profit» de 2 pips no lo hace, y en un instrumento en el que el nivel de «stop» es de 100 puntos, ni siquiera un objetivo de 5 pips es posible.
La solución consiste en ampliar el stop loss o el take profit del EA por encima del mínimo del bróker, o bien operar con un valor cuyo mínimo sea inferior.
Causa n.º 2: el lado equivocado del precio
Es menos habitual y suele ser indicio de un EA mal programado o de un precio desfasado.
En una operación de compra, el stop loss debe estar por debajo del precio y el take profit por encima. En una operación de venta, al revés. Si el EA ha calculado sus niveles a partir de un precio que desde entonces ha variado —un mercado volátil, un VPS lento—, lo que antes estaba por debajo del precio puede que ahora esté por encima.
También está el clásico «off-by-one»: en una operación de compra, la entrada se realiza utilizando el precio de venta (Ask), y la distancia del stop debe medirse a partir de ese precio, no del precio de compra (Bid). En un valor con un diferencial amplio, la diferencia es suficiente para que un stop ajustado se sitúe en el lado equivocado.
Causa 3: tamaño de tick y redondeo
Cada símbolo tiene un tamaño del tick, el incremento de precio mínimo que admite. Muchos índices y algunos CFD sobre criptomonedas utilizan un tamaño de tick superior a un solo punto.
Si un EA calcula un precio de stop de 38 412,37 en un símbolo cuyo tamaño de tick es 0,5, el bróker no puede aceptarlo. El nivel debe redondearse primero a un múltiplo del tamaño de tick.
Esto no se puede solucionar en la configuración. Es una tarea que debe realizar el EA, y uno bien programado normaliza todos los precios que envía. Si solo lo observas en un símbolo exótico, esa es probablemente la causa.
Causa 4: el nivel de congelación
Aparte de las paradas, y menos conocido. Nivel de congelación Es la distancia respecto al precio dentro de la cual no se puede modificar ni cerrar una orden existente.
Esto da lugar a la misma queja en una situación diferente: el EA no está abriendo una operación, sino que intenta mover un stop, y el bróker se niega porque el precio está demasiado cerca de él. En las especificaciones aparece justo debajo del nivel de los stops.
Superarlo
- Abre el diario y copia exactamente la línea rechazada, incluyendo los valores de sl y tp.
- Abre la especificación del símbolo: nivel de stop, nivel de congelación, tamaño del tick, dígitos.
- Convierte los ajustes de stop y take profit del EA en puntos para ese símbolo y compáralos con los niveles de stop.
- Si lo superan, fíjate en el lado: ¿el nivel de resistencia está por debajo del precio de compra?
- Si eso también te parece bien, comprueba si el precio es un múltiplo válido del tamaño del tick.
En la práctica, el tercer paso aclara la mayoría de ellas, y la solución consiste en ampliar el rango en lugar de cambiar de corredor.
Por qué las cuentas de demostración ocultan esto
Los servidores de demostración suelen configurarse con un nivel de stop de 0, por lo que un EA con objetivos ajustados funciona perfectamente en ellos, pero es rechazado en cuanto se aplica a una cuenta real con un mínimo real.
Es una de las razones más habituales por las que una estrategia que ha dado excelentes resultados en las pruebas no funciona en la práctica una vez financiada, un tema que se trata con más detalle en La versión de demostración funciona, pero la versión en vivo no.. Si el EA no está realizando ninguna orden y no ves ninguna línea de rechazo, revisa EA no abre operaciones en su lugar.