El slippage es la diferencia entre el precio al que tu bot de trading quiere ejecutar una orden y el precio al que se ejecuta de verdad. Puede caer a tu favor o en tu contra, y se dispara con las noticias, en el rollover diario y cuando el mercado reabre tras el fin de semana. Con 0,10 lotes de oro, cada 10 céntimos de slippage te cuestan exactamente 1 dólar. Para un bot swing eso es ruido. Para un scalper que busca unos pocos dólares por operación, puede comerse todo el margen.
Tu backtest no lo enseña y una demo apenas. Solo aparece en real, repartido en cientos de ejecuciones. Por eso tanta gente cree que su bróker le roba, cuando casi siempre es un coste que nadie se ha molestado en sumar.
¿Por qué tu bot ejecuta distinto en real que en el backtest?
Porque un backtest reproduce un mundo perfecto. En el Strategy Tester de MT5 eliges tú el retraso de ejecución. Si lo dejas sin retraso, según el propio manual de MT5 cada orden se ejecuta al precio solicitado y sin recotizaciones. Estás probando un bot que nunca paga ni un céntimo de slippage.
En real la cosa cambia. Tu bot ve un precio, manda la orden, y entre ese momento y la ejecución pasan milisegundos, a veces más. En ese hueco el precio se puede mover. O la liquidez de ese nivel ya se la han llevado otras órdenes. El bróker te ejecuta entonces al siguiente precio disponible.
La demo solo te lleva a medio camino. Las ejecuciones en demo son simuladas y nunca tienen que pasar por liquidez real, y es uno de los motivos por los que un bot puede ser rentable en demo y perder en real. El tester de MT5 sí tiene un retraso aleatorio: un 90 por ciento de probabilidad de 0 a 8 segundos y un 10 por ciento de 9 a 18. Tosco. Pero más honesto que cero.
El slippage va en las dos direcciones
El slippage negativo es un precio peor del que pediste. El positivo, uno mejor. Una compra que se ejecuta 20 céntimos por debajo de lo que pidió tu bot es dinero que te llevas.
FXCM publica sus propias cifras. De todas las órdenes stop, limit, a mercado y de entrada que ejecutó entre el 1 de enero y el 30 de noviembre de 2025, el 30,83 por ciento tuvo slippage positivo y el 14,64 por ciento negativo. El positivo salió más del doble de veces. Es un bróker y un periodo, pero desmonta la idea de que el slippage siempre va contra ti.
Lo que más pesa es el tipo de orden. En FXCM, el 74,58 por ciento de las órdenes limit recibió slippage positivo, mientras que el 57,42 por ciento de las órdenes stop sufrió slippage negativo. Una limit dice: este precio o mejor, así que según FXCM no puede ir en tu contra. Un stop se convierte en una orden a mercado normal en cuanto se toca su nivel y coge el primer precio disponible. ¿Y cuándo se toca un stop? Justo cuando el precio se mueve con fuerza hacia ese lado. Por eso el stop loss es donde más duele el slippage. Entrar con una limit sale más barato, solo que a veces te quedas sin la operación porque el precio no vuelve.
Cuándo se dispara el slippage
Un martes tranquilo por la tarde, en plena sesión de Londres, en el EURUSD muchas veces no notas nada. Hay cuatro momentos en los que eso cambia:
- Noticias. Con el NFP o una decisión de tipos, los bancos retiran sus cotizaciones un instante. El precio salta, y un stop que estaba en un nivel se ejecuta varios niveles más allá.
- El rollover. Hacia las 17:00 de Nueva York, las 23:00 en España casi todo el año, los proveedores de liquidez cierran su día. Los spreads se abren y apenas hay volumen en el mercado.
- La reapertura tras el fin de semana. Las noticias del fin de semana todavía no están en el precio. Un stop bien colocado el viernes se ejecuta al primer precio después del gap, y ese precio puede quedar lejos.
- Mercados con poca liquidez. Agosto, festivos, la sesión asiática para los pares europeos. Menos contrapartes significa saltos más grandes entre precios.
Un bot que opera en esas ventanas paga más. Y justo ahí es donde un backtest con cero slippage más se equivoca.
¿Qué hace de verdad la desviación en MT5?
La desviación es la diferencia máxima entre el precio pedido y el ejecutado que acepta tu bot, expresada en puntos. Si la diferencia es mayor, la orden debería rechazarse. Suena a solución. En la mayoría de cuentas no hace nada.
La desviación solo cuenta con Instant Execution y Request Execution. La documentación de MQL5 sobre MqlTradeRequest la marca como campo obligatorio únicamente para esos dos modos. Con Market Execution el precio lo decide el bróker, y con Exchange Execution la bolsa. En los dos casos el campo no pinta nada. Casi todas las cuentas ECN, STP y raw funcionan con Market Execution. Un moderador del foro de MQL5 lo dijo sin rodeos: ejecución a mercado significa aceptar el precio que el mercado te dé en el momento de la ejecución.
Qué modo tienes lo ves en la especificación del contrato del símbolo. Haz clic derecho sobre él en Observación del mercado, abre Especificación y mira la línea de ejecución. Si pone Market, puedes poner la desviación de tu EA en 5 o en 500 y no cambia nada.
Ojo también con la unidad. Un punto es el paso de precio más pequeño del símbolo. En un oro cotizado con dos decimales es 1 céntimo, así que una desviación de 30 son 0,30 dólares, o 3 pips de oro.
Lo que sí funciona con Market Execution es un control antes de que salga la orden. Un bot puede leer el spread y no entrar si está por encima de un límite, o dejar de abrir operaciones en los minutos alrededor de una noticia fuerte. Así quitas las peores ejecuciones antes de que existan.
Cómo medir el slippage de tu bot de trading y pasarlo a dinero
Medir es más aburrido que quejarse, pero sale a cuenta. Con órdenes pendientes y stops es sencillo. Abre la pestaña Historial en MT5, elige la vista de órdenes y transacciones, y pon el precio de la orden al lado del precio de la transacción. En una posición que cerró por stop loss verás el nivel del S/L y el precio de cierre uno junto al otro. La diferencia es tu slippage.
Con órdenes a mercado cuesta más, porque MT5 normalmente solo te enseña el precio de ejecución. Un EA bien hecho escribe en el registro de Expertos la cotización que vio al enviar la orden, y tú la comparas con la ejecución en el Diario. Si tu bot no lo hace, pídelo. Cincuenta operaciones reales te dicen más que cincuenta hilos de foro.
Vamos al dinero. Un lote de oro son 100 onzas troy, así que 0,10 lotes son 10 onzas y cada 10 céntimos de slippage cuestan 1 dólar. Pongamos que tu bot compra 0,10 lotes de XAUUSD y se ejecuta 25 céntimos por encima del precio pedido. Son 2,50 dólares. Una hora después sale una noticia, salta el stop y se ejecuta 40 céntimos por debajo de su nivel. Otros 4 dólares. En total, 6,50 dólares en una sola operación, encima del spread que ya pagabas.
Para un scalper que saca un movimiento de 3 dólares, 30 dólares con 0,10 lotes, esos 6,50 son casi el 22 por ciento de su objetivo por operación. Para un bot swing que apunta a un movimiento de 30 dólares, 300 con la misma posición, es algo más del 2 por ciento. El mismo slippage pesa diez veces más. Y el scalper lo paga decenas de veces por semana. La diferencia completa entre los dos la tienes en bot de scalping vs bot swing.
En el EURUSD, 0,10 lotes son 10.000 euros y un pip vale 1 dólar. Medio pip de slippage al entrar y medio al salir cuestan 1 dólar por operación. Si tu bot busca 5 pips, se va una quinta parte. Una cuenta raw baja tu spread y con él tu coste total. El slippage en sí va aparte. Cómo sale esa cuenta lo explicamos en cuenta raw ECN o standard.
Una ventaja más pequeña que tu slippage medio solo existe en el backtest.
Así que mídelo. Con cincuenta operaciones reales sabes si de media el slippage te va a favor o en contra. Si se queda en unos céntimos en el oro o en una fracción de pip en el EURUSD, es un coste más. Si se va una y otra vez a dólares por operación, mira a tu bróker o a las horas en las que opera tu bot.
Un bot que puedes comprobar ejecución a ejecución
Una cuenta MT5 a tu nombre, con tu propia contraseña. Cada ejecución aparece en tu historial y puedes parar cuando quieras. Cobramos un 30 por ciento de tu beneficio y nada cuando pierdes.
Empezar