Optimización de la red de Windows para NinjaTrader

¿Por qué esta guía?

Si su gráfico de NinjaTrader se congela y no recibe más datos (especialmente con Tradovate), una optimización de la configuración de red de Windows puede ayudar. Esta guía también es adecuada para principiantes.

Importante: Estos cambios son seguros y se pueden deshacer en cualquier momento.


Lo que necesita

  • Windows 10 o Windows Server
  • Derechos de administrador en el ordenador/VPS
  • 5-10 minutos de tiempo
  • ¡Es necesario reiniciar al final!

Paso 1: Abra PowerShell como administrador

Cómo se hace:

  1. Pulse la tecla de Windows en su teclado
  2. Escriba PowerShell
  3. Haga clic con el botón derecho en “Windows PowerShell”
  4. Seleccione “Ejecutar como administrador”
  5. Haga clic en “Sí” si Windows pregunta

Así es como se sabe que ha funcionado:

  • La ventana muestra en la parte superior “Administrador: Windows PowerShell”
  • La ruta comienza con C:\Windows\system32> o similar

![PowerShell como administrador]


Paso 2: Activar TCP KeepAlive

¿Qué hace esto?

Windows normalmente solo comprueba cada 2 horas si una conexión sigue activa. ¡Eso es demasiado tiempo! Lo cambiaremos a 30 segundos.

Comandos (copiar y pegar individualmente):

Comando 1: Copie este texto y péguelo en PowerShell, luego pulse Enter:

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "KeepAliveTime" -Value 30000 -PropertyType DWord -Force

Comando 2: Copie este texto y péguelo en PowerShell, luego pulse Enter:

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "KeepAliveInterval" -Value 1000 -PropertyType DWord -Force

Así es como se sabe que ha funcionado:

Después de cada comando, debería aparecer una salida que se parezca a esto:

KeepAliveTime : 30000
PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\...

Sin mensaje de error = ¡Todo bien!


Paso 3: Comprobar si los valores están establecidos

Comando (copiar y pegar):

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" | Select-Object KeepAliveTime, KeepAliveInterval

Así es como debería verse la salida:

KeepAliveTime KeepAliveInterval
------------- -----------------
        30000              1000

Si ve estos números, ¡todo ha funcionado!


Paso 4: Reiniciar

Importante: ¡Los cambios no se activarán hasta después de un reinicio!

Opción A: A través de PowerShell (rápido)

Copie y pegue:

Restart-Computer

Opción B: A través de Windows (normal)

  1. Haga clic en el icono de Windows en la parte inferior izquierda
  2. Haga clic en el icono de encendido
  3. Seleccione “Reiniciar”

Paso 5: Comprobar después del reinicio

  1. Abra de nuevo PowerShell como administrador (ver Paso 1)
  2. Ejecute el comando de comprobación:
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" | Select-Object KeepAliveTime, KeepAliveInterval
  1. La salida debería mostrar de nuevo:
KeepAliveTime KeepAliveInterval
------------- -----------------
        30000              1000

¡Hecho! 🎉


Opcional: Optimizaciones adicionales

Estos pasos son opcionales y pueden ayudar adicionalmente:

Optimización A: TCP Auto-Tuning

Copie y pegue en PowerShell:

netsh int tcp set global autotuninglevel=normal

Salida esperada: OK.

Optimización B: Activar TCP Timestamps

Copie y pegue en PowerShell:

netsh int tcp set global timestamps=enabled

Salida esperada: OK.

Comprobación de la configuración opcional:

netsh int tcp show global

Debería ver:

  • Autom. Abstimmungsgrad für Empfangsfenster: normal
  • TCP-Zeitstempel: enabled

Solución de problemas

Problema: “Acceso denegado” o “Access denied”

Solución: No ha abierto PowerShell como administrador. Vuelva al paso 1.

Problema: Mensaje de error rojo con “Property already exists”

¡Está bien! El valor ya existe. Puede volver a ejecutar el comando con -Force al final (ya está incluido en los comandos de arriba).

Problema: Después de reiniciar, los valores desaparecen

Solución: Vuelva a ejecutar los comandos. A veces, el software antivirus bloquea los cambios en el registro.

Problema: NinjaTrader sigue congelándose

Esta optimización ayuda en aproximadamente el 30% de los casos. Si el problema persiste:

  1. Documente cuándo ocurren exactamente las congelaciones
  2. Compruebe si Rithmic es posible como alternativa
  3. Póngase en contacto con el soporte de su Prop-Firm

Deshacer los cambios

En caso de que desee deshacer los cambios:

Abra PowerShell como administrador, luego:

Remove-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "KeepAliveTime" -ErrorAction SilentlyContinue
Remove-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "KeepAliveInterval" -ErrorAction SilentlyContinue

Luego Reiniciar.


Resumen: Todos los comandos de un vistazo

Para usuarios avanzados: todos los comandos para copiar rápidamente:

# TCP KeepAlive auf 30 Sekunden
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "KeepAliveTime" -Value 30000 -PropertyType DWord -Force

# KeepAlive Retry-Intervall auf 1 Sekunde
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "KeepAliveInterval" -Value 1000 -PropertyType DWord -Force

# Optional: TCP Optimierungen
netsh int tcp set global autotuninglevel=normal
netsh int tcp set global timestamps=enabled

# Überprüfen
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" | Select-Object KeepAliveTime, KeepAliveInterval
netsh int tcp show global

# Neustart erforderlich!
Restart-Computer

Qué hacen estos cambios

ConfiguraciónAntes (Estándar)DespuésEfecto
KeepAliveTime2 horas30 segundosDetección más rápida de conexiones muertas
KeepAliveInterval1 segundo1 segundoRepeticiones rápidas en caso de problemas
TCP TimestampsDesactivadoActivadoMejor seguimiento de la conexión
Auto-TuningNormalNormalTamaños de paquete óptimos

¿Preguntas?

Esta guía fue creada como parte del análisis de problemas de conexión de NinjaTrader VPS.

Nota importante: Esta optimización ayuda con aproximadamente el 30% de los problemas de conexión de Tradovate. La solución más estable es cambiar a un feed de datos basado en Rithmic.


Fecha: enero de 2026