Página 1 de 1
Automatizar con Ninja
Publicado: 23 Jun 2016 14:03
por agtlgtar
Estoy teniendo muchos problemas para automatizar mi estrategia con Ninja. Después de muchos esfuerzos, contactos y pruebas he conseguido escribirla y que funcione...aparentemente: Se producen entradas y salidas más o menos correctas (no siempre exactas) y de repente no entra (en un punto claro, igual que los anteriores, etc, etc). O sale mal, desobedeciendo las instrucciones de salida.
Ellos acaban respondiendo que es cuestión de depuración (hay fallos en órdenes que no admiten duda, pero si ellos lo dicen...). ¿Es la plataforma realmente fiable?¿Os han pasado estas cosas?
Re: Automatizar con Ninja
Publicado: 23 Jun 2016 14:27
por Vidmar
Hola agtlgtar. Yo estoy en la misma situación que tu. Estoy intentando automatizar, pero a mi lo que me pasa es que las entradas las hace bien, pero luego las salida no las hace directamente. En simulado va bien y grafica todas las ordenes y todo perfecto. Pero al pasarlo a real, lo dicho, entra pero no sale. Estoy haciendo pruebas a ver si es problema del ninja o de mi broker.
Que proveedor de datos tienes?, entiendo que estas automatizando pero el sistema está andando en simulado, no en real.
En mi caso, en simulado todo bien, el problema es en real.
Re: Automatizar con Ninja
Publicado: 23 Jun 2016 18:40
por cls
Pon en el Initialize TraceOrders = true para que en la ventana Output te saque el log del estado de todas las órdenes. Así podrás detectar si alguna orden es rechazada.
También puedes sobrescribir el método OnOrderUpdate y añadir un simple Print para crear tu propio Log y así monitorizar todos los cambios de estado de las órdenes; envío, aceptación, cancelación, filled, rechazo, etc.
De este modo podrás saber lo que le ocurre a cada orden en todo momento.
Un causa frecuente de rechazo es que el precio de la orden no esté ajustado al del mercado. Por ejemplo una limitada de compra por encima del precio corriente. Es una situación "errónea" y el bróker puede proceder de manera diferente al simulador. Puede aceptarla y enviarla a mercado, o directamente rechazarla. Depende de cómo funcione el bróker, lo que puede provocar que si el sistema lo usas simultáneamente en brókers diferentes, te puedes encontrar también con resultados diferentes para estos casos de error.
Como anécdota, un sistema que se basaba en entrada + bracket OCO para la salida. En simulado funcionaba perfectamente. Pero al ponerlo en real contra InterActive Brokers sólo hacía la primera orden. El problema estaba en que no se podía reutilizar el mismo texto para las etiquetas de las OCOs. Lo curioso es que con órdenes manuales sí valía. Podías etiquetar con el texto OCO que quisieras y una vez resuelto el trade, usar la misma etiqueta OCO para el siguiente trade. Pero en automático no. Un sinsentido pero era así.
Saludos
Re: Automatizar con Ninja
Publicado: 24 Jun 2016 13:56
por agtlgtar
Gracias a los dos. Estoy pasando datos de €$ que me he ido bajando desde extrernal data feed . Los reproduzco con market replay.
Lo que resumidamente hago es: Si Renko4 (R4) y R5 cortan hacia arriba su HMA25 y en R3 hay una vela roja y luego una verde comprar a Close[0] de la verde.
Y en una onda grande alzista entra. Luego sale. Se mantiene R4y5. Y cuando acaba el recorte (p.e. 1 vela roja) y se produce otra verde, puede entrar o no.
En output veo que detecta la compra entered internal place order, etc., pero como decía, a veces no entra. Hay más entradas (casi todas) con EnterLong(); que con EnterLongLimit(Close[0]);, pero con enterlong nunca sé a que precio voy a entrar.
Luego vendría el problema de las salidas.
Os agradezco vuestras respuestas. He de decir que a base de ensayo-error y algunas indicaciones de los NT he llegado aquí. Pero mis conocimientos son limitados y me veo a veces apurado para seguir vuestras explicaciones.
CLS ¿es cierto que haces formación o hay tutoriales tuyos?
Re: Automatizar con Ninja
Publicado: 24 Jun 2016 15:07
por Gator
Hola:
Vaya por delante que no soy usuario de NT, pero.. has probado a lanzar tus compras contra el Ask y tus ventas contra el Bid en vez de contra el ultimo cierre? En MT4 si se puede, no se si se podra en Ninja.
Saludos
Re: Automatizar con Ninja
Publicado: 24 Jun 2016 18:52
por cls
agtlgtar escribió:
CLS ¿es cierto que haces formación o hay tutoriales tuyos?
Sí, doy cursos de programación para NinjaTrader. Si quieres envíame un privado y te informo.
Las EnterLong te entrarán todas porque son compras a mercado.
Las EnterLongLimit te entrarán a veces. En backtesting puedes establecer que te entren con que el precio las toque, o bien
que el precio tenga que superarlas (es como si en real estuvieran en el final de la cola de limitadas). Pero es un comportamiento esperado.
En cuanto a Renko es un tipo de barra totalmente desaconsejable para testear estrategias ya que las barras pueden no representar todos los precios realmente visitados. Lo que en backtesting provoca que no te salten stoplosses que en real sí hubieran saltado, por ejemplo. Usa barras Range mejor.
Saludos.
Re: Automatizar con Ninja
Publicado: 24 Jun 2016 22:12
por agtlgtar
Gracias Gator. En NT tbn se puede. Solo que con bid/ask tampoco sé el precio exacto de entrada y salida. Y lo veía arriesgado para estrategias cortas como alguna de las mías, próximas al escalping. Pero puede que tengas razón, si facilita la operativa...Gracias. A tener en cuenta.
Gracias tbn cls. Recuerdo que hice alguna prueba con barras de range y me quitaba menos ruído que renko. Pero igual todo lo demás son ventajas. Volveré a probar. Sobretodo si puedo hacer un backtest, que me permitiría testear muy rápido períodos largos.
Las pruebas de backtest no me han dado resultado: Testeaban muy pocas operaciones en relación con lo que operaban las estrategias en el gráfico. En NT me decían que en backtest solo entraba ohcl y que no podía salir como en real o market replay. ¿Puedo hacer backtest fiable de alguna forma?
Ahora me encuentro con esto escrito y no veo tu dirección privada. Lo voy a enviar para no perderlo y en cuanto te mande el mensaje te aviso.
Re: Automatizar con Ninja
Publicado: 28 Jun 2016 17:36
por agtlgtar
cls, no encuentro la forma de enviar un mensaje por privado ¿me puedes decir como?
Re: Automatizar con Ninja
Publicado: 28 Jun 2016 19:03
por X-Trader
agtlgtar escribió:cls, no encuentro la forma de enviar un mensaje por privado ¿me puedes decir como?
Basta con que hagas click sobre su nombre de usuario y selecciones Responder por mensaje privado.
Saludos,
X-Trader
Re: Automatizar con Ninja
Publicado: 29 Mar 2018 21:53
por Eplayan
Yo también quisiera contactar con el usuario cls y no encuentro la manera de hacerlo!
Tengo una consulta de programación para NinjaTrader.
Un saludo.
Re: Automatizar con Ninja
Publicado: 03 Abr 2018 18:03
por cls
Eplayan escribió: 29 Mar 2018 21:53Yo también quisiera contactar con el usuario cls y no encuentro la manera de hacerlo!
Tengo una consulta de programación para NinjaTrader.
Un saludo.
Hola Eplayan, puedes contactarme enviando un mensaje privado desde el foro como comenta X-Trader un post más arriba. Y si no, en la página
http://www.supperia.com tienes un botón de Contacto arriba a la derecha.
Saludos
Re: Automatizar con Ninja
Publicado: 03 Abr 2018 19:32
por Eplayan
Hola, lo he intentado pero no lo he sabido encontrar!!! Lo siento!
Te contacto por la web de supperia!
Muchas gracias, de antemano por tu atención.
Un saludo.