El problema que todos hemos tenido
Tienes una idea. Una configuración que has visto repetirse en el gráfico, un patrón que reconoces antes de que ocurra, una lógica que en tu cabeza tiene todo el sentido del mundo. El problema es que ejecutarla manualmente implica estar pegado a la pantalla, y ejecutarla de forma automática requiere saber programar.
Durante años esa barrera ha separado a los traders con ideas de los traders con sistemas. Los primeros dependen de su disciplina y su disponibilidad. Los segundos pueden dormir mientras el mercado trabaja para ellos.
La IA está cambiando esa ecuación. No porque sea mágica, sino porque se ha convertido en un traductor entre tu lógica de trading y el código que la ejecuta.
«No necesitas saber escribir código. Necesitas saber describir exactamente qué quieres que haga el mercado para entrar.»
— Lo que aprendí después de semanas desarrollando con IALo que necesitas antes de empezar
La combinación que yo usé, y que funciona especialmente bien para NinjaTrader 8:
Una plataforma de trading con soporte para estrategias
NinjaTrader 8 es ideal porque tiene un editor de código integrado, compilación en tiempo real y un simulador de mercado para testear. Pero la misma metodología aplica a MetaTrader, TradeStation o cualquier plataforma que soporte scripts.
Un modelo de IA de razonamiento avanzado
Claude Sonnet es el que mejor resultado me ha dado para este tipo de trabajo. Entiende contexto largo, recuerda decisiones anteriores dentro de la conversación y genera código C# limpio y comentado. ChatGPT también funciona pero tiende a ser menos consistente en proyectos largos.
Tu lógica de trading bien definida
Este es el único requisito que no puede darte la IA. Necesitas saber qué quieres que haga la estrategia: bajo qué condiciones entra, dónde coloca el stop, dónde toma beneficios. Cuanto más precisa sea tu descripción, mejor será el código resultante.
Paciencia para iterar
No saldrá perfecto a la primera. El proceso es conversacional: pruebas, encuentras errores, los describes a la IA, corriges. Es exactamente como trabajarías con un desarrollador, pero sin esperar respuesta al día siguiente.
Cómo funciona el proceso en la práctica
Voy a describir el proceso usando una estrategia de ejemplo basada en un concepto que cualquier trader con cierta experiencia habrá visto en el mercado: los sweeps de liquidez.
La idea es sencilla: el precio sale del rango donde ha estado operando durante horas, barre los stops que hay por encima o por debajo, y luego revierte. Ese movimiento falso — el sweep — deja una huella que se puede cuantificar y automatizar.
Paso 1: Describir la lógica con precisión
El primer error que comete casi todo el mundo es ser demasiado vago. «Quiero que entre cuando el precio rompa un nivel y vuelva» no es suficiente. La IA necesita respuestas concretas a preguntas muy específicas:
¿En qué timeframe defines el rango de referencia? ¿Cómo determinas que un movimiento es un sweep y no una ruptura real? ¿El stop va en el extremo del sweep o con un buffer? ¿El take profit es un nivel fijo o relativo al rango? ¿Cuántas entradas por día? ¿Hay horario operativo?
En nuestro ejemplo, el rango de referencia se construye con los máximos y mínimos del mercado durante las primeras horas de la sesión europea. Ese rango tiene un High y un Low claros. La estrategia vigila si durante la apertura americana el precio cruza esos niveles.
«Quiero crear una estrategia para NinjaTrader 8 en C#. Debe registrar el High y Low de un período configurable de la sesión (por defecto las primeras 3 horas). Luego detectar si durante una ventana horaria posterior el precio cruza esos niveles con una vela de 15 minutos. Si lo hace, rastrea el extremo del movimiento. Cuando el precio retrocede un 20% desde ese extremo, calcula el punto medio del rango entre el extremo y el nivel cruzado, y entra a mercado en ese punto. Stop en el extremo del sweep, take profit en el extremo opuesto del rango de referencia. Hazme preguntas antes de escribir el código.»
Ese último «hazme preguntas antes de escribir el código» es crucial. La IA necesita confirmar docenas de detalles antes de poder escribir algo útil: qué pasa si hay dos señales en el mismo día, cómo gestiona el break-even, qué hace a las 16:00 con órdenes pendientes, cómo maneja los fines de semana.
Paso 2: Responder las preguntas de la IA con precisión
Aquí es donde el proceso se convierte en algo parecido a una conversación con un analista de sistemas. La IA va a hacerte preguntas que quizás no habías pensado, y responderlas te obliga a concretar aspectos de tu estrategia que dabas por sentados.
Por ejemplo: «¿si el precio cruza el High y el Low de referencia en la misma vela, cuál tiene prioridad?» o «¿el retroceso del 20% lo mides desde el extremo o desde el nivel cruzado?». Estas preguntas no son triviales — cambian el comportamiento de la estrategia en situaciones de mercado específicas.
Responder «como quieras» o «lo que tenga más sentido» a estas preguntas. La IA elegirá algo, pero puede que no sea lo que tú querías. Cada decisión de diseño que delegas en la IA es una fuente potencial de comportamiento inesperado en live.
Paso 3: Iterar sobre el código
La IA genera el primer bloque de código. En NinjaTrader, lo pegas en el editor, pulsas compilar y aparecen errores. Esto es normal y esperado — no te desanimes.
El proceso ahora es sencillo: copias el error exactamente tal como aparece y se lo pegas a la IA. Ella identifica el problema, explica por qué ocurre y te da el código corregido. En proyectos de cierta complejidad esto puede repetirse diez o veinte veces, pero cada iteración avanza.
// Error que aparece en NT8: CS0246: The type or namespace name 'DisplayAttribute' could not be found (are you missing a using directive or an assembly reference?) // Lo que escribes a la IA: "Me da este error al compilar. ¿Qué using falta?"
Rara vez necesitas entender el código para hacer esto. Solo necesitas saber que el error existe, copiarlo fielmente y dejar que la IA lo resuelva.
Qué tipo de estrategias puedes construir
El enfoque que describo aquí funciona para una variedad amplia de lógicas de trading. Algunos ejemplos que he visto implementar con éxito:
| Tipo de estrategia | Complejidad | Viable con IA | Notas |
|---|---|---|---|
| Ruptura de rango horario | Baja | ✓ | Ideal para empezar. Lógica directa. |
| Reversión tras sweep de liquidez | Media | ✓ | Requiere definir bien el extremo del sweep. |
| Estrategia basada en Volume Profile | Media-alta | ✓ | NT8 tiene indicadores nativos de VP que se pueden invocar. |
| Arbitraje entre instrumentos | Alta | ~ | Posible pero requiere muchas iteraciones y conocimiento del bróker. |
| ML/modelos predictivos | Muy alta | ✗ | Fuera del alcance de este enfoque. Requiere infraestructura adicional. |
Los detalles que marcan la diferencia
Después de semanas trabajando en este proceso, hay algunos aprendizajes que me parecen especialmente valiosos y que rara vez aparecen en los tutoriales de «trading algorítmico con IA»:
La zona horaria importa más de lo que crees
Si tu estrategia opera en horarios específicos — apertura europea, apertura americana — necesitas ser muy explícito sobre qué zona horaria usa tu plataforma y cómo quieres que la estrategia gestione los cambios de horario de verano/invierno. Una estrategia que funciona perfectamente en verano puede desfasarse una hora en invierno si no se ha diseñado bien.
La solución que aprendí: trabajar siempre en hora de Nueva York (ET) internamente, porque NinjaTrader puede convertir cualquier timestamp a esa zona de forma nativa. ET gestiona el horario de verano de EEUU automáticamente, y la diferencia con España es siempre predecible.
Pídele a la IA que use TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time") para todas las comparaciones de hora. Así tu estrategia funciona igual en cualquier servidor, independientemente de su configuración local.
OnBarClose vs OnEachTick: una decisión crítica
NinjaTrader puede ejecutar la lógica de tu estrategia al cierre de cada vela (OnBarClose) o en cada tick de precio (OnEachTick). Esta decisión afecta profundamente al comportamiento de la estrategia:
Evalúa condiciones solo cuando la vela cierra. Más lento pero más fiable. Ideal para lógica basada en patrones de velas.
Reacciona en tiempo real a cada movimiento. Esencial si tu entrada depende de que el precio toque un nivel exacto.
En nuestra estrategia de ejemplo, usamos una combinación: la lógica de detección (definir el rango, identificar el sweep) ocurre al cierre de velas de 15 minutos, mientras que la ejecución de la entrada ocurre en cada tick. Lo mejor de ambos mundos.
El backtest no es la realidad
NinjaTrader puede hacer backtest usando datos históricos, pero si no tienes datos de tick reales descargados, simula los ticks interpolando entre los datos de minuto. Esto produce resultados que parecen perfectos en el simulador pero que no replican el comportamiento real del mercado.
Mi recomendación: antes de dar por buena una estrategia, haz al menos una semana de playback con datos reales. El playback reproduce el mercado histórico tick a tick usando datos genuinos, lo que da una imagen mucho más fiel de cómo se comportaría la estrategia en live.
Automatizar la gestión de la posición
Uno de los mayores beneficios de automatizar no es la entrada, sino la gestión una vez que estás dentro. La disciplina que a veces cuesta mantener manualmente se vuelve automática:
Stop loss automático en el extremo del sweep
Se coloca en el momento exacto en que la orden se llena. Sin dudas, sin «le doy un poco más de margen». Si el sweep era falso y el precio vuelve al extremo, la estrategia sale.
Take profit en el extremo opuesto del rango
El objetivo es claro desde el principio: si la reversión se completa, la estrategia captura toda la vuelta. No hay salida prematura por nervios ni por exceso de codicia.
Break-even automático a X ticks
Cuando la posición avanza un número configurable de ticks, el stop se mueve al precio de entrada. A partir de ese momento, la operación no puede perder dinero.
Una buena estrategia automatizada expone todos sus parámetros como variables configurables en la interfaz de NT8: horarios, número de contratos, ticks de break-even, filtros de rango. Puedes cambiar el comportamiento sin recompilar nada.
Errores que vas a cometer (y cómo evitarlos)
No voy a romantizar el proceso. Hubo momentos frustrantes. Estos son los errores más comunes y cómo superarlos:
Dar por buena la primera versión
El código puede compilar sin errores y aun así tener bugs lógicos. Una estrategia que coloca el take profit por debajo del precio de entrada en un long, por ejemplo, se cierra inmediatamente con pérdida aunque el código no tenga ningún error de compilación. El simulador en tiempo real te va a mostrar estos problemas antes de que cuesten dinero real.
No usar el Output de la plataforma
NinjaTrader tiene una ventana de Output donde aparecen todos los mensajes de depuración que tu estrategia imprime. Pídele a la IA que añada mensajes de Print en los momentos clave: cuando detecta el sweep, cuando calcula el nivel de entrada, cuando se ejecuta la orden. Estos mensajes son tu única ventana al comportamiento interno de la estrategia.
Cambiar demasiadas cosas a la vez
Cuando algo no funciona, es tentador pedir a la IA que «lo reescriba todo mejor». Eso suele empeorar las cosas. El enfoque correcto es aislar el problema: ¿falla la detección del sweep? ¿La ejecución de la orden? ¿La colocación del stop? Un problema a la vez.
Ninguna estrategia, por bien diseñada que esté, es una garantía de beneficios. Testea extensamente en simulación antes de arriesgar capital real. El trading algorítmico amplifica tanto las ganancias como las pérdidas.
Lo que ha cambiado realmente
Antes de empezar este proyecto, habría estimado que crear una estrategia de esta complejidad me llevaría meses aprendiendo C# o varios miles de euros pagando a un desarrollador. Con IA, el proceso duró semanas de trabajo intermitente, la mayor parte del tiempo en conversación con el modelo.
Lo que no ha cambiado, y que ninguna IA puede reemplazar, es el conocimiento de trading. La IA puede traducir tu lógica a código, pero no puede inventar la lógica. Si no sabes identificar un sweep de liquidez en el gráfico, no hay prompt que te lo enseñe.
La barrera que ha caído es la técnica. El trader que tiene ideas y conocimiento ya no necesita saber programar para automatizarlas. Eso, en mi opinión, es uno de los cambios más significativos para el trader retail en los últimos años.
«La automatización no te convierte en mejor trader. Convierte a un buen trader en un trader más disciplinado.»
— inveXtromRecursos para empezar
- NinjaTrader 8 — Descarga gratuita, simulación incluida. ninjatrader.com
- Claude (Anthropic) — El modelo que mejor resultado da para este tipo de trabajo. claude.ai
- Documentación NT8 — La referencia de NinjaScript es extensa y bien organizada. Úsala para entender qué le estás pidiendo a la IA.
- Datos históricos de tick — Descárgalos desde el propio NT8 antes de hacer backtest serios. Marca la diferencia.







