NQ · LIVE ENGINE Algomyth
ES
Plataformas

NinjaTrader 8 va lento o se cierra: cómo arreglarlo

La plataforma no se pone lenta sola. Los seis ajustes que consumen la memoria, cómo leer el Log cuando se cierra y el mantenimiento que evita el 90 % de los cuelgues.

Publicado el 9 min de lectura Por la mesa de Algomyth

Escritorio de trading con varios monitores encendidos y un portátil, el equipo donde NinjaTrader 8 empieza a ir lento cuando hay demasiados gráficos abiertos

NinjaTrader 8 tarda quince segundos en abrir un gráfico, el ratón se arrastra al mover una línea y a mitad de la sesión americana la ventana se congela. O directamente desaparece de la pantalla sin avisar. No es que tu ordenador sea viejo: casi siempre es una combinación de tres o cuatro ajustes que nadie revisa desde que instaló la plataforma.

Esta guía va por orden de probabilidad, de lo que falla más a lo que falla menos. Si vas con prisa, empieza por el diagnóstico de cinco minutos y luego vuelves al resto.

Por qué NinjaTrader 8 se pone lento

NinjaTrader 8 es una aplicación de escritorio de .NET con la interfaz en un solo hilo. Todo lo que dibuja un gráfico, todo lo que calcula un indicador al recibir un tick y todo lo que responde al ratón pasa por ese hilo. Si una sola de esas tareas se atasca, se atasca la ventana entera.

Eso tiene dos consecuencias prácticas que conviene tener claras antes de tocar nada:

  • Más núcleos no arreglan casi nada. Un procesador de 16 núcleos a 3,0 GHz va peor que uno de 6 núcleos a 4,8 GHz para esta plataforma. Lo que manda es la velocidad de un solo hilo.
  • El cuello de botella suele ser tuyo, no del programa. Un gráfico de ticks con 30 días cargados son varios millones de barras en memoria. Multiplícalo por ocho gráficos abiertos y ya sabes por qué se arrastra.

En un día normal de MNQ se cruzan cientos de miles de operaciones. Cada una es un evento que la plataforma reparte entre todos los indicadores de todos los gráficos abiertos. La lentitud aparece justo cuando más volumen hay, que es exactamente cuando la necesitas rápida.

Dos monitores negros mostrando líneas de código fuente, el NinjaScript que la plataforma recompila y ejecuta en cada tick recibido
Cada tick pasa por todo el código personalizado que tengas cargado. Un bucle mal escrito se nota en el ratón.

Diagnóstico en cinco minutos

Antes de cambiar ajustes a ciegas, averigua dónde se va el tiempo. Cuatro pasos.

Pantalla de trading que ilustra ninjatrader 8 va lento o se cierra: cómo arreglarlo
Donde se toma la decisión de verdad: en la pantalla, no en la teoría.

1. Mira el Administrador de tareas mientras opera

Ctrl + Mayús + Esc, pestaña Detalles, busca NinjaTrader.exe. Anota dos cifras durante la sesión americana: memoria y CPU. Referencias reales de un equipo sano con cuatro gráficos y order flow: entre 1,5 y 3 GB de memoria y picos de CPU del 20 al 40 % en un solo núcleo. Si ves 8 GB de memoria o un núcleo clavado al 100 %, tienes el problema localizado.

2. Cierra todo y abre un gráfico limpio

Espacio de trabajo nuevo, un solo gráfico de MNQ de 5 minutos, sin indicadores. ¿Va fluido? Entonces el problema no es la plataforma ni el ordenador: es algo que tú has añadido. ¿Sigue lento con un gráfico vacío? Salta directo al apartado de base de datos.

3. Añade tus indicadores de uno en uno

Uno, mueves el gráfico, compruebas. Otro, mueves, compruebas. Es aburrido y funciona. En la mayoría de los casos hay un indicador concreto que se lleva el 80 % de la culpa, y casi siempre es uno descargado de un foro hace años.

4. Abre la pestaña Log

En el Control Center, pestaña Log. Filtra por errores. Un indicador que lanza una excepción cien veces por minuto no da error visible, pero consume. Los mensajes repetidos en rojo o naranja te señalan el archivo exacto.

Los seis ajustes que se comen la memoria

Estos son los valores que traen los gráficos por defecto o que la gente pone sin pensar, y lo que deberían valer. Cámbialos y notarás la diferencia en la misma sesión.

AjusteValor que rompeValor recomendadoPor qué
Days to load (gráfico de ticks)20 a 30 días3 a 5 díasUn gráfico de 1.000 ticks con 30 días son millones de barras en RAM
Max bars look backInfinite256Infinite obliga a guardar toda la serie de cada indicador
Tick ReplayActivado en todos los gráficosSolo donde lo necesitasReprocesa cada tick histórico al cargar: multiplica el tiempo de apertura
Gráficos abiertos a la vez10 o más3 o 4Cada uno recalcula todos sus indicadores en cada tick
Market Depth / Nivel 26 u 8 instrumentos1 o 2El libro de órdenes genera decenas de eventos por segundo por instrumento
Objetos de dibujo acumuladosCientos de líneas viejasLimpiar cada viernesSe redibujan todos en cada refresco de pantalla

El de Tick Replay merece un aviso aparte. Es imprescindible para reconstruir order flow histórico y para que ciertos cálculos den los mismos números que en directo, pero activarlo en seis gráficos a la vez es la forma más rápida de convertir la apertura del espacio de trabajo en un café. Déjalo en el gráfico donde miras el flujo y quítalo del resto.

Menos gráficos, no más pantallas

La gente resuelve la lentitud comprando un tercer monitor y abriendo cuatro gráficos más. Va peor. Si operas MNQ y MES, con dos gráficos de precio y uno de contexto vas sobrado. La distribución que funciona está en la guía para configurar NinjaTrader 8 desde cero.

Indicadores mal escritos: el culpable más frecuente

Aquí está la causa número uno de los cuelgues. Y no se ve, porque un indicador lento no da ningún mensaje de error: simplemente hace que todo vaya pastoso.

Puesto de trading de futuros relacionado con ninjatrader 8 va lento o se cierra: cómo arreglarlo
El número que no calculaste es el que acaba costándote la cuenta.

Lo que hace lento a un indicador de NinjaScript, en orden de gravedad:

  • Bucles que recorren el histórico en cada tick. Un indicador que recalcula 5.000 barras cada vez que llega un dato hace 5.000 operaciones por tick. Con 300 ticks por minuto son un millón y medio de cálculos por minuto. Por indicador.
  • Dibujar objetos sin borrarlos. Cada línea, texto o rectángulo que se añade se queda en memoria y se redibuja siempre. Un indicador que pinta una etiqueta por barra lleva 20.000 etiquetas al cabo de una semana.
  • Trabajo pesado dentro del render. Cálculos, consultas o formateo de texto en el método que pinta la pantalla. Se ejecuta decenas de veces por segundo.
  • Código fuente sin compilar bien. Un indicador que arrastra avisos de compilación puede estar lanzando excepciones silenciosas en cada barra.

Cómo quitar un paquete entero

Si el indicador problemático viene en un paquete importado, no basta con borrarlo del gráfico. Ve a Tools > Remove NinjaScript Assembly, selecciona el paquete y elimínalo. Reinicia después. El proceso completo de importar y quitar está en la guía de instalación de indicadores.

Persona escribiendo en un portátil sobre una mesa blanca, revisando los ajustes de conexión y rendimiento de NinjaTrader 8
Diez minutos revisando ajustes ahorran meses de plataforma pastosa.

Base de datos, logs y Market Replay

NinjaTrader guarda todo lo que descarga en tu disco, y no lo limpia solo. Con la plataforma cerrada, abre el explorador y mira estas carpetas dentro de Documentos\NinjaTrader 8:

  • db\replay: los datos de Market Replay. Es la carpeta que más crece. Cada día de datos de un instrumento ocupa entre 50 y 300 MB. Si llevas dos años bajando sesiones, aquí hay decenas de gigas.
  • db\tick y db\minute: histórico descargado. Crece despacio pero no para.
  • log y trace: archivos de texto de diagnóstico. Se pueden borrar enteros con la plataforma cerrada, sin ningún riesgo. Si llevas años sin tocarlos, pueden ser miles de archivos.

Borrar los días de replay que ya no usas es la limpieza que más se nota en el arranque. Si practicas con sesiones grabadas, guarda las semanas que estés trabajando y borra el resto: siempre puedes volver a descargarlas. En Market Replay en NinjaTrader 8 está cómo gestionarlas sin perder lo que te sirve.

Un aviso: haz copia antes de borrar nada dentro de db. Y no toques db\NinjaTrader.sdf, que es la base de datos con tus cuentas, órdenes e histórico de operaciones.

Cuando se cierra solo: cómo leer el crash

Que la plataforma vaya lenta es molesto. Que se cierre con posiciones abiertas es caro. Y el cierre inesperado casi nunca es aleatorio: deja rastro.

Dónde mirar, en este orden:

  1. Control Center, pestaña Log, nada más volver a abrir. Los últimos mensajes antes del cierre te dan el archivo y a veces la línea.
  2. Carpeta trace dentro de Documentos\NinjaTrader 8. Los archivos del día del cierre contienen la excepción completa. Aunque no entiendas el texto, la primera línea suele llevar el nombre del indicador culpable.
  3. Visor de eventos de Windows, Registros de Windows, Aplicación. Si el cierre lo provocó el sistema (memoria agotada, driver de vídeo), aparece ahí y no en NinjaTrader.

Las tres causas que se repiten:

  • Memoria agotada. Si la plataforma llega a consumir toda la RAM disponible, Windows la mata. Se arregla con los ajustes de la tabla de arriba.
  • Driver gráfico. NinjaTrader 8 dibuja con aceleración por hardware. Un driver de la tarjeta gráfica desactualizado o roto tumba la ventana al mover un gráfico. Actualízalo desde la web del fabricante, no desde Windows Update.
  • Antivirus. Algunos bloquean el archivo compilado a mitad de sesión. Añade la carpeta de NinjaTrader a las excepciones y comprueba si desaparece el problema.

Y una regla de operativa, no de informática: si la plataforma se te ha cerrado alguna vez con posición abierta, opera siempre con stop de protección en el bróker, no solo en la pantalla. Las órdenes ATM lo dejan colocado desde el primer momento, y eso lo explicamos en órdenes ATM en NinjaTrader 8.

Hardware y Windows: lo que sí importa

Antes de gastar dinero, esto es lo que cambia algo y lo que no.

  • Sí: velocidad de un solo núcleo. Un procesador moderno de gama media con frecuencias altas es lo mejor que puedes comprar para NinjaTrader.
  • Sí: SSD. Si la base de datos está en un disco mecánico, la carga de histórico es diez veces más lenta. Es la mejora más barata que existe.
  • Sí: 16 GB de RAM. Con 8 GB vas justo si abres navegador y plataforma. Pasar de 16 a 32 GB no se nota salvo que hagas cosas raras.
  • No: tarjeta gráfica cara. Cualquier gráfica integrada moderna mueve cuatro gráficos sin despeinarse. Lo que importa es que el driver esté al día.
  • No: más monitores. Cada pantalla extra suele traducirse en más gráficos abiertos, que es justo el problema.

Del lado de Windows, tres cosas concretas: plan de energía en Alto rendimiento (en portátiles, enchufado), navegador cerrado durante la sesión (veinte pestañas de Chrome se comen 4 GB) y actualizaciones de Windows programadas fuera del horario de mercado. Que Windows decida reiniciar a las 15:30 hora peninsular ha costado dinero a mucha gente.

Mantenimiento mensual en diez minutos

Hazlo un domingo al mes y no vuelves a tener el problema.

  1. Cierra NinjaTrader del todo.
  2. Vacía las carpetas log y trace.
  3. Borra de db\replay los días que ya no vayas a repetir.
  4. Abre la plataforma y revisa Tools > Remove NinjaScript Assembly: quita todo lo que no reconozcas o no uses.
  5. En cada gráfico, comprueba Days to load y Max bars look back.
  6. Borra los objetos de dibujo viejos: clic derecho, Drawing Objects, seleccionar y quitar.
  7. Guarda el espacio de trabajo y reinicia.

La diferencia entre una plataforma que responde en 50 ms y una que responde en 400 ms no se ve en una captura de pantalla, pero se nota en cada entrada de mercado que llega tarde. Dedica diez minutos al mes a esto y deja de pelearte con la herramienta cuando deberías estar mirando el precio.

Fuentes y dónde comprobarlo

ninjatrader 8 va lento

Contenido educativo, no asesoramiento de inversión. Operar futuros conlleva un riesgo sustancial de pérdida y no es adecuado para todos los inversores. Cualquier referencia a resultados de Algomyth es hipotética, simulada sobre datos históricos y está completa en la página de resultados; la rentabilidad pasada no garantiza resultados futuros. Más detalle en el aviso de riesgo.

Algomyth Live

Tu plataforma para ejecutar, nuestra pantalla para mirar

Algomyth no se conecta a tu cuenta ni a tu plataforma: es una pantalla en directo con cada señal, su stop y su objetivo. Tú ejecutas donde quieras. Desde $149 al mes por mercado.