MachineLearning & NinjaTrader
MachineLearning & NinjaTrader
He encontrado este artículo en el blog de NinjaTrader para integrar MachineLearning en estrategias automáticas.
ML.NET + NinjaTrader
Después de montar todo el lío, las predicciones - en intradía - del modelo de FastTree que se explica en el artículo son muy erráticas. En la imagen, algunas predicciones del indicador.
Supongo que el tema de seleccionar unas features adecuadas es fundamental (en vez de los típicos OHLC, medias y osciladores).
A lo mejor alguien quiere compartir alguna experiencia real sobre este tema del MachineLearning aplicado al trading automático. Y básicamente sobre todo ... sirve para ganar $$$ o sólo entretiene ???
ML.NET + NinjaTrader
Después de montar todo el lío, las predicciones - en intradía - del modelo de FastTree que se explica en el artículo son muy erráticas. En la imagen, algunas predicciones del indicador.
Supongo que el tema de seleccionar unas features adecuadas es fundamental (en vez de los típicos OHLC, medias y osciladores).
A lo mejor alguien quiere compartir alguna experiencia real sobre este tema del MachineLearning aplicado al trading automático. Y básicamente sobre todo ... sirve para ganar $$$ o sólo entretiene ???
- Optiondreamer
- Mensajes: 345
- Registrado: 28 Mar 2006 08:07
- Ubicación: 40.705571, -74.013432
Re: MachineLearning & NinjaTrader
Hola cls,
Interesante artículo, la verdad que Ninja al cambiar el framework tiene más posibilidades, la pena es que hayan tardado tantos años en hacer el cambio. En su día intentaba usar esa y otras librerías, pero era difícil integrar todo, por lo que lo acabé dejando aparcado. La idea es retomar esa vía ahora que tenemos las IAs. En su día toqué el Adaptrade Builder, y seguía de lejos el Trading System Lab (60K $), de Mike Barna, que usa Linnear Genetic Programming y tenía un par de sistemas en el top de los CTA. Para mi de momento es entretenimiento a largo plazo, llevo bastante desconectado y me está costando volver.
Saludos.
Interesante artículo, la verdad que Ninja al cambiar el framework tiene más posibilidades, la pena es que hayan tardado tantos años en hacer el cambio. En su día intentaba usar esa y otras librerías, pero era difícil integrar todo, por lo que lo acabé dejando aparcado. La idea es retomar esa vía ahora que tenemos las IAs. En su día toqué el Adaptrade Builder, y seguía de lejos el Trading System Lab (60K $), de Mike Barna, que usa Linnear Genetic Programming y tenía un par de sistemas en el top de los CTA. Para mi de momento es entretenimiento a largo plazo, llevo bastante desconectado y me está costando volver.
Saludos.
Re: MachineLearning & NinjaTrader
Hola Optiondreamer,
pues sí, a Ninja le cuesta actualizarse. Es una pena porque creo que es de lo mejor para programar en windows.
El artículo está muy bien para hacerse una idea de cómo montar un modelo de ML completo. El código no está en github a pesar de lo que ponen al final del artículo. También faltan algunas librerías y pasos que no mencionan. A lo mejor en windows11 no son necesarios, pero en windows10 tuve que añadir algunas librerías más a medida que saltaban errores en la compilación y en la ejecución. Pero al final funcionó.
En otro post compartiré los pasos que seguí para integrar ML.NET en NinjaTrader.
Saludos
pues sí, a Ninja le cuesta actualizarse. Es una pena porque creo que es de lo mejor para programar en windows.
El artículo está muy bien para hacerse una idea de cómo montar un modelo de ML completo. El código no está en github a pesar de lo que ponen al final del artículo. También faltan algunas librerías y pasos que no mencionan. A lo mejor en windows11 no son necesarios, pero en windows10 tuve que añadir algunas librerías más a medida que saltaban errores en la compilación y en la ejecución. Pero al final funcionó.
En otro post compartiré los pasos que seguí para integrar ML.NET en NinjaTrader.
Saludos
Re: MachineLearning & NinjaTrader
Dejo aquí todos los pasos que seguí para integrar ML.NET en NinjaTrader en un Windows10 64bits (con otra versión de Windows podría cambiar).
Desde VisualStudio instalar los siguientes paquetes NuGet (todos de la versión 3.0.0):
Microsoft.ML
Microsoft.ML.CpuMath
Microsoft.ML.DataView
Microsoft.ML.FastTree
Que se instalarán de manera automática en las siguientes carpetas:
C:\Users\<usuario>\.nuget\packages\microsoft.ml
C:\Users\<suario>\.nuget\packages\microsoft.ml.dataview
C:\Users\<usuario>\.nuget\packages\microsoft.ml.fasttree
Dentro de cada una de esas carpetas se encuentran los directorios \3.0.0\lib\netstandard2.0\ donde se hallarán los siguientes ficheros:
Microsoft.ML.dll
Microsoft.ML.Core.dll
Microsoft.ML.CpuMath.dll
Microsoft.ML.Data.dll
Microsoft.ML.DataView.dll
Microsoft.ML.FastTree.dll
Esos seis ficheros dll hay que copiarlos y pegarlos en la carpeta bin\Custom\ de NinjaTrader.
También hay que copiar y pegar en esa misma carpeta el fichero netstandard.dll que se encuentra en la carpeta C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\Facades.
Una vez que los siete ficheros están en la carpeta NinjaTrader 8\bin\Custom hay que referenciarlos desde el NinjaScript Editor. Y compilar.
Para que no fallara la ejecución, también tuve que pegar el fichero FastTreeNative.dll que está en C:\Users\<nombreusuario>\.nuget\packages\microsoft.ml.fasttree\3.0.0\runtimes\win-x64\native. Este fichero no hay que referenciarlo.
Supongo que si se utiliza otro algoritmo diferente del FastTree habría que replicar los pasos para integrar ese algoritmo en concreto.
Desde VisualStudio instalar los siguientes paquetes NuGet (todos de la versión 3.0.0):
Microsoft.ML
Microsoft.ML.CpuMath
Microsoft.ML.DataView
Microsoft.ML.FastTree
Que se instalarán de manera automática en las siguientes carpetas:
C:\Users\<usuario>\.nuget\packages\microsoft.ml
C:\Users\<suario>\.nuget\packages\microsoft.ml.dataview
C:\Users\<usuario>\.nuget\packages\microsoft.ml.fasttree
Dentro de cada una de esas carpetas se encuentran los directorios \3.0.0\lib\netstandard2.0\ donde se hallarán los siguientes ficheros:
Microsoft.ML.dll
Microsoft.ML.Core.dll
Microsoft.ML.CpuMath.dll
Microsoft.ML.Data.dll
Microsoft.ML.DataView.dll
Microsoft.ML.FastTree.dll
Esos seis ficheros dll hay que copiarlos y pegarlos en la carpeta bin\Custom\ de NinjaTrader.
También hay que copiar y pegar en esa misma carpeta el fichero netstandard.dll que se encuentra en la carpeta C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\Facades.
Una vez que los siete ficheros están en la carpeta NinjaTrader 8\bin\Custom hay que referenciarlos desde el NinjaScript Editor. Y compilar.
Para que no fallara la ejecución, también tuve que pegar el fichero FastTreeNative.dll que está en C:\Users\<nombreusuario>\.nuget\packages\microsoft.ml.fasttree\3.0.0\runtimes\win-x64\native. Este fichero no hay que referenciarlo.
Supongo que si se utiliza otro algoritmo diferente del FastTree habría que replicar los pasos para integrar ese algoritmo en concreto.
Re: MachineLearning & NinjaTrader
Hola cls:
Recuerdo que por el año 2000 cuando la informática penetraba en los hogares, tener los mejores programas para analizar los mercados, era encontrar el santo grial.
Entre ellos el Advance get (elliot) y sobre todo las redes neuronales, hoy creo que ambos son residuales.
Me cuesta creer que solo con los datos del histórico se pueda predecir el mercado de forma automática.
Por aquí te dejo esto: en los foros de ninja alguno se mueve.
Adición del proyecto ML.NET
Tengo un ejemplo funcional completo de cómo cargar correctamente todos los dll en NinjaTrader y crear una estrategia basada en ML sin tener que llamar fuera de NinjaTrader. Es un poco difícil escribir todos los pasos y puede resultar un poco confuso asegurarse de que todas las cosas adecuadas estén alineadas, pero no dudes en enviarme un correo electrónico y puedo ayudar a guiar a cualquiera a través de ellas [email protected]
Recuerdo que por el año 2000 cuando la informática penetraba en los hogares, tener los mejores programas para analizar los mercados, era encontrar el santo grial.
Entre ellos el Advance get (elliot) y sobre todo las redes neuronales, hoy creo que ambos son residuales.
Me cuesta creer que solo con los datos del histórico se pueda predecir el mercado de forma automática.
Por aquí te dejo esto: en los foros de ninja alguno se mueve.
Adición del proyecto ML.NET
Tengo un ejemplo funcional completo de cómo cargar correctamente todos los dll en NinjaTrader y crear una estrategia basada en ML sin tener que llamar fuera de NinjaTrader. Es un poco difícil escribir todos los pasos y puede resultar un poco confuso asegurarse de que todas las cosas adecuadas estén alineadas, pero no dudes en enviarme un correo electrónico y puedo ayudar a guiar a cualquiera a través de ellas [email protected]
Re: MachineLearning & NinjaTrader
Hola Gibranes,
sí, recuerdo el AdvancedGet de elliot. Lo que ha llovido.
Comparto tu opinión de que no se puede predecir el mercado con histórico OHLC. Pero tenía curiosidad por implementar algo de ML en ninja.
Conocía ese hilo en el foro de ninja, pero gracias. Antes era bastante complejo. Ahora con el .net framework 4.8, y sabiendo los pasos, es más sencillo integrar ML.NET en ninja.
Mayormente, por lo que he visto que no es mucho, la gente trabaja en Python y se bajan datos de yahoo finance o similar con timeframes diarios o como mucho de 1-hora. Se construyen sus dataframes (basados en OHLC y algún indicador básico tipo media, oscilador o atr) y lo montan en plan laboratorio para sacar su report. Y si el análisis les convence montarán su sistema en la plataforma que toque. Grosso modo.
La ventaja que veo con Ninja es que el ML.NET está integrado y puedes entrenar y predecir en tiempo real en la misma estrategia, incluso al cierre de cada barra. No en plan laboratorio como con Python. Además los datos de futuros son de una calidad máxima y con la librería de indicadores disponible te puedes construir cualquier ocurrencia de dataframe en pocos minutos, incluso con datos de orderflow.
sí, recuerdo el AdvancedGet de elliot. Lo que ha llovido.
Comparto tu opinión de que no se puede predecir el mercado con histórico OHLC. Pero tenía curiosidad por implementar algo de ML en ninja.
Conocía ese hilo en el foro de ninja, pero gracias. Antes era bastante complejo. Ahora con el .net framework 4.8, y sabiendo los pasos, es más sencillo integrar ML.NET en ninja.
Mayormente, por lo que he visto que no es mucho, la gente trabaja en Python y se bajan datos de yahoo finance o similar con timeframes diarios o como mucho de 1-hora. Se construyen sus dataframes (basados en OHLC y algún indicador básico tipo media, oscilador o atr) y lo montan en plan laboratorio para sacar su report. Y si el análisis les convence montarán su sistema en la plataforma que toque. Grosso modo.
La ventaja que veo con Ninja es que el ML.NET está integrado y puedes entrenar y predecir en tiempo real en la misma estrategia, incluso al cierre de cada barra. No en plan laboratorio como con Python. Además los datos de futuros son de una calidad máxima y con la librería de indicadores disponible te puedes construir cualquier ocurrencia de dataframe en pocos minutos, incluso con datos de orderflow.
- Optiondreamer
- Mensajes: 345
- Registrado: 28 Mar 2006 08:07
- Ubicación: 40.705571, -74.013432
Re: MachineLearning & NinjaTrader
Hola de nuevo,
Yo estoy pensando en meterme en Python, era bastante reacio, supongo que por la curva de aprendizaje y porque me cuesta horrores salir de los corchetes. Pero veo que con Ninjatrader como pre-procesador de datos para pasarlos a Python puede dar bastante juego...
Llevo un tiempo preparando el entorno, he cambiado de Windows a Proxmox para poder lidiar con todo, maquinas virtuales..., entre otras, una con Ubuntu y correr modelos LLM en local y otra con Windows para el Ninja..., predecir, no, pero para crear, analizar, optimizar, creo que algo haremos...
Yo estoy pensando en meterme en Python, era bastante reacio, supongo que por la curva de aprendizaje y porque me cuesta horrores salir de los corchetes. Pero veo que con Ninjatrader como pre-procesador de datos para pasarlos a Python puede dar bastante juego...
Llevo un tiempo preparando el entorno, he cambiado de Windows a Proxmox para poder lidiar con todo, maquinas virtuales..., entre otras, una con Ubuntu y correr modelos LLM en local y otra con Windows para el Ninja..., predecir, no, pero para crear, analizar, optimizar, creo que algo haremos...
Re: MachineLearning & NinjaTrader
Yo lo veo como una herramienta de rapidez en el entorno de trabajo, que seas tú que pongas tus conocimientos de mercado y la herramienta te agilice al máximo el tiempo de valoración y optimización. Sabéis el tiempo que te puedes ahorrar dándole a la máquina unos objetivos precisos y que te haga el trabajo..
En cambio no lo veo para que te cree sistemas, simplemente porque dejas de tener tú el conocimiento para tenerlo ella (la máquina) y eso nunca acaba bien.
En cambio no lo veo para que te cree sistemas, simplemente porque dejas de tener tú el conocimiento para tenerlo ella (la máquina) y eso nunca acaba bien.

La entrada te da la probabilidad y la salida la rentabilidad...
Re: MachineLearning & NinjaTrader
De todas formas, como uso ninjatrader y sé algo de programar en C# creo que usaré la documentación que aportas para instalarlo e intentar mejorar mi pronóstico sobre el SPY.cls escribió: 18 Mar 2025 11:53 Hola Gibranes,
sí, recuerdo el AdvancedGet de elliot. Lo que ha llovido.
Comparto tu opinión de que no se puede predecir el mercado con histórico OHLC. Pero tenía curiosidad por implementar algo de ML en ninja.
Conocía ese hilo en el foro de ninja, pero gracias. Antes era bastante complejo. Ahora con el .net framework 4.8, y sabiendo los pasos, es más sencillo integrar ML.NET en ninja.
Mayormente, por lo que he visto que no es mucho, la gente trabaja en Python y se bajan datos de yahoo finance o similar con timeframes diarios o como mucho de 1-hora. Se construyen sus dataframes (basados en OHLC y algún indicador básico tipo media, oscilador o atr) y lo montan en plan laboratorio para sacar su report. Y si el análisis les convence montarán su sistema en la plataforma que toque. Grosso modo.
La ventaja que veo con Ninja es que el ML.NET está integrado y puedes entrenar y predecir en tiempo real en la misma estrategia, incluso al cierre de cada barra. No en plan laboratorio como con Python. Además los datos de futuros son de una calidad máxima y con la librería de indicadores disponible te puedes construir cualquier ocurrencia de dataframe en pocos minutos, incluso con datos de orderflow.
Re: MachineLearning & NinjaTrader
Comparto el código del indicador que programé a partir del artículo. Usa el OHLC, ATR y EMA de las últimas cuatro barras. Conociendo un poco de C# y ninjascript es muy fácil cambiar estas features por otros indicadores, o series personalizadas.
- Adjuntos
-
- Zi8ML01Prediction01.txt
- (15.53 KiB) Descargado 38 veces
Re: MachineLearning & NinjaTrader
Gracias por vuestros aportes chicos, hilos como este engrandecen el Foro.
Por cierto, nunca pensé que en 2025 volvería a oír a hablar de Advanced GET!!! El caso es que hace muchos años lo compró eSignal... y ahí que sigue (aparentemente viene de serie con el plan Elite de eSignal).
Por cierto, supongo que os habéis enterado pero... Kraken ha comprado NinjaTrader! Ahora abro hilo sobre el tema, pero la de vueltas que da la vida!!!
Saludos,
X-Trader
Por cierto, nunca pensé que en 2025 volvería a oír a hablar de Advanced GET!!! El caso es que hace muchos años lo compró eSignal... y ahí que sigue (aparentemente viene de serie con el plan Elite de eSignal).
Por cierto, supongo que os habéis enterado pero... Kraken ha comprado NinjaTrader! Ahora abro hilo sobre el tema, pero la de vueltas que da la vida!!!
Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Re: MachineLearning & NinjaTrader
De aquellos tiempos el software más usado era el metastock.X-Trader escribió: 25 Mar 2025 10:22 Gracias por vuestros aportes chicos, hilos como este engrandecen el Foro.
Por cierto, nunca pensé que en 2025 volvería a oír a hablar de Advanced GET!!! El caso es que hace muchos años lo compró eSignal... y ahí que sigue (aparentemente viene de serie con el plan Elite de eSignal).
Por cierto, supongo que os habéis enterado pero... Kraken ha comprado NinjaTrader! Ahora abro hilo sobre el tema, pero la de vueltas que da la vida!!!
Saludos,
X-Trader
Incluso había webs que pagando te dejaban el archivo fin del día listo para su descarga.
Hoy su uso es muy anecdótico, no supieron ver que la competencia les comía el pastel.
Caso parecido a Irobot de crear los roomba a un paso de la quiebra.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!