InverMind → Guías → Estrategia distinta en real vs analizador
Guía
Por qué tu estrategia entra distinto en real que en el analizador (y cómo saber si tiene arreglo)
Por InverMind · Publicado julio 2026 · Lectura: 7 minutos
La escena es siempre la misma: activas la estrategia en cuenta real (o en demo en vivo), esperas la entrada que el Strategy Analyzer habría hecho… y entra otra. O no entra. O entra tarde. O entra donde no era. Y te preguntas si el backtest era mentira.
Antes de tirar la estrategia — o el ordenador — te cuento algo: en la gran mayoría de casos no es que el backtest "mienta", es que hay un problema técnico concreto y localizable. Estas son las cinco causas que explican casi todos los casos que he visto, incluidas mis propias estrategias.
Causa 1 — Barras en formación vs barras cerradas
El Strategy Analyzer procesa barras ya cerradas: cuando tu código lee la barra, la barra está completa. En tiempo real, en cambio, tu código recibe ticks de una barra en formación: el High, el Low y el Close de "esta barra" están cambiando en cada tick.
Si la lógica construye niveles (un rango de apertura, un máximo de sesión, una media) leyendo la barra actual sin controlar si está cerrada, en vivo estará usando datos que el backtest nunca vio. El síntoma típico: entradas sistemáticamente adelantadas o atrasadas una barra, o niveles de ruptura que no cuadran con los del análisis. El parámetro Calculate (OnBarClose, OnPriceChange, OnEachTick) decide cuándo se ejecuta tu código, y cambiarlo cambia la estrategia.
Causa 2 — Los fills de cuento del backtest
El analizador rellena las órdenes al precio exacto del cruce, sin deslizamiento y sin cola. En real, una orden a mercado se ejecuta con slippage, y una limitada a veces ni se ejecuta aunque el precio la toque. Esto no cambia las horas de las operaciones: ensucia los precios y el resultado. Si tus operaciones coinciden en hora y dirección pero los números no cuadran del todo, estás aquí — y esto no es un bug, es el peaje de operar de verdad.
Causa 3 — No estás mirando los mismos datos
El histórico de tu proveedor y el feed en vivo no siempre cuentan la misma película: plantilla de sesión distinta (RTH vs 24 horas), política de empalme del contrato, backtest sobre barras de minuto vs realidad tick a tick… La misma lógica sobre datos distintos es otra estrategia. Comprueba que el análisis usa el mismo instrumento, la misma plantilla de sesión y — si es posible — tick replay.
Causa 4 — Reconexiones y estados
En vivo existen cosas que el backtest no conoce: microcortes de conexión, reinicios, fines de semana. Los parámetros de NinjaTrader que gestionan esto (ConnectionLossHandling, StartBehavior, los reintentos máximos) deciden si tras un corte la estrategia recalcula, espera a estar plana o directamente se desactiva sola. El síntoma típico: "hoy no entró y en el backtest sí" justo después de un corte, o descubrir la estrategia apagada sin saber desde cuándo.
Causa 5 — La gestión de órdenes no se comporta igual
Los stops y targets gestionados (SetStopLoss, SetProfitTarget) se anclan al fill real y suelen portarse bien. Los problemas llegan con la gestión manual: breakevens calculados con precios teóricos en vez del fill real, salidas con la llamada o el overload equivocado, órdenes que se pisan entre sí. El backtest perdona construcciones que el real castiga.
Checklist para diagnosticarlo
1.Reproduce los mismos días en Market Replay (tick a tick) y compara con el log real, operación a operación.
2.Haz que la estrategia imprima sus niveles y disparos en el Log (rango, niveles de ruptura, hora del disparo).
3.Verifica que análisis y real usan el mismo instrumento, la misma plantilla de sesión y la misma serie de datos.
4.Localiza la primera divergencia: ¿difieren las horas o solo los precios?
5.Horas o dirección distintas → causas 1, 3 o 4 (bug o configuración). Solo precios → causas 2 o 5 (peaje o gestión de órdenes).
¿Cuándo es un bug y cuándo es "la vida real"?
Diferencias pequeñas de precio van a existir siempre: eso es slippage y latencia, y ningún arreglo del mundo las elimina. Lo que no es normal — y sí se arregla — es que las operaciones sean distintas: horas diferentes, dirección diferente, entradas que el análisis hace y el real no (o al revés). Eso es estructural, tiene una causa concreta en el código o en la configuración, y se localiza.
🔧 ¿Tu estrategia hace exactamente esto y no encuentras dónde? Es literalmente mi trabajo: reparación de estrategias NinjaScript — diagnóstico gratuito, presupuesto cerrado (pago por adelantado) y reembolso íntegro si no lo arreglo.
Preguntas frecuentes
Pequeñas diferencias de precio sí son normales: slippage, latencia y la cola del mercado existen y el backtest no las ve. Lo que no es normal es que las operaciones sean distintas: otras horas, otra dirección, entradas que faltan. Eso es estructural y tiene arreglo.
Compara la hora y la dirección de cada operación, no el precio. Si el real y el análisis del mismo día coinciden en cuándo y hacia dónde entran pero difieren unos ticks en el precio, es slippage. Si entran en momentos distintos, en dirección distinta o uno entra y el otro no, es un problema de código o de configuración.
Casi siempre. La mayoría de estos fallos se concentran en puntos concretos: cómo se leen las barras, cómo se gestionan las órdenes o cómo se configura la reconexión. Se corrige el punto exacto y la lógica de la estrategia queda intacta.
¿Aún no tienes NinjaTrader 8? Es gratuito para simulación y backtesting.
Descárgalo aquí →
Declaración de Riesgo: La operación de futuros y forex conlleva riesgos substanciales y no es para todos los inversionistas. Un inversionista podría potencialmente perder todo o más de la inversión inicial. Capital de Riesgo es dinero que puede ser perdido, sin poner en juego la seguridad financiera o estilo de vida de la persona. Solo capital de riesgo debe ser utilizado para trading, y solo aquellas personas con suficiente capital de riesgo deben considerar trading. Resultados pasados no son necesariamente indicativos de resultados futuros.
Declaración de Resultados Hipotéticos: Resultados hipotéticos de rendimiento deben tener muchas limitaciones inherentes, algunas de las cuales se describen a continuación. No se debe hacer representación de que alguna de las cuentas va o es probable que tenga resultados similares a los mostrados; de hecho, hay diferencias frecuentes entre los resultados hipotéticos y los resultados actuales obtenidos por cualquier programa de trading. Una de las limitaciones de resultados hipotéticos de rendimiento es el hecho de que son preparados con los beneficios en retrospectiva. Además, trading hipotético no involucra riesgo financiero, y ningún record de trading hipotético puede considerar el riesgo financiero de operaciones reales. Por ejemplo, la capacidad de resistir pérdidas o de adherirse a un programa de trading particular sin importar pérdidas son puntos materiales los cuales pueden afectar de manera substancial resultados de trading real. Hay muchos factores relacionados a los mercados en general, o a la implementación de cualquier programa de trading especifico, los cuales no pueden ser todos considerados en la preparación de resultados hipotéticos, todos estos, pueden afectar los resultados de trading de forma adversa.
NinjaTrader® NinjaTrader® es una marca registrada de NinjaTrader Group, LLC. Ninguna compañía de NinjaTrader tiene afiliación alguna con el dueño, desarrollador o proveedor de los productos descritos aquí, ni interés alguno, ni apoya, promueve o recomienda ningún producto o servicio.
¿Quieres ver esta lógica funcionando con dinero real? Mira la estrategia ORB y sus resultados en cuenta real, publicados semana a semana — también los malos.