Pregunta fácil NINJA

Todo sobre el trading en los mercados financieros: funcionamiento, dudas, noticias, etc.
Responder
Avatar de Usuario
nicolasez
Mensajes: 85
Registrado: 14 Feb 2011 06:57

Pregunta fácil NINJA

Mensaje por nicolasez »

Buenas gente, estoy programando en NINJA tengo un sistema que entra en una posición cuando se cumplen unas condiciones y sale cundo OPEN es mayor que el precio de entrada, necesito que salga en la misma barra en la que se cumple que OPEN > PRECIO DE ENTRADA y no en la siguiente ¿alguien sabe como puedo hacerlo?

Un saludo! gracias ;)
Avatar de Usuario
andriuking
Mensajes: 231
Registrado: 06 Nov 2010 18:37
Ubicación: Madrid
Contactar:

Re: Pregunta fácil NINJA

Mensaje por andriuking »

Hola.

Yo he tenido el mismo problema en PRT, y he llegado a la conclusión de que en PRT no es posible, ignoro si en el ninja si, pero pienso que debería poder hacerse.

Ese problema se da porque si estás trabajando en diario, hasta que no se dibuja completamente la vela, es decir, a cierre de sesión, no se descargan los datos a la plataforma. Por lo tanto la plataforma no conoce el dato de precio de apetura hasta que no ha cerrado la sesión, que es cuando ha cargado el dato, por lo que no puede entrar en esa sesión y entra en cuanto puede: al comienzo de la siguiente.

A mi para solucionar esto se me ha ocurrido una cosa que no sé si es factible, suponniendo que en NT no pueda hacerse debido al problema anteriormente comentado, es la siguiente: trabajar en velas de menor timming. Si trabajas en velas de minutos, en cuanto pase el primer minuto dubujará la primera vela y por lo tanto descargará el dato de la apertura. El problema de todo esto es adaptar un sistema que trabaja en diario a un timeframe más granulado, cosa que no sé si es posible.

Seguiré muy de cerca este hilo a ver qué se comenta al respecto.

Un saludo.
http://www.sistemasdebolsa.com/" onclick="window.open(this.href);return false;
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Pregunta fácil NINJA

Mensaje por cls »

Avatar de Usuario
andriuking
Mensajes: 231
Registrado: 06 Nov 2010 18:37
Ubicación: Madrid
Contactar:

Re: Pregunta fácil NINJA

Mensaje por andriuking »

Muchas gracias cls.

Me parece una pena, además de una carencia, que no se puedan hacer estas cosas en backtest, deberían pues no son de dificil programación para la plataforma.

Algún software debería porder hacerlo...
http://www.sistemasdebolsa.com/" onclick="window.open(this.href);return false;
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Pregunta fácil NINJA

Mensaje por cls »

Hay dos maneras de lograr una simulación "exacta" en Ninja:

- el más preciso es con el Market Replay. Simulación exacta a cómo ocurriría en real. La única diferencia es con las órdenes limitadas. Ninja tiene un algoritmo interno para simular el filled de las órdenes limitadas que obviamente no coincidirá con lo que hubiera ocurrido en real, pero puedes forzar a que las limitadas sólo se hagan cuando el precio las supere con lo que te pones en el peor de los escenarios (aunque esto puede ser bueno o malo según los ratios de tu sistema).
El problema es el tiempo que se tarda en reproducir una sesión (sobre el minuto más o menos).

- con una estrategia multi-timeframe. Un timeframe de trabajo para las señales de entrada y salida y otro timeframe de 1-tick para la gestión de órdenes. En esencia es un backtesting sobre 1-tick pero las señales se cogen de otro timeframe.
Mucho más rápido que el otro método pero más difícil de programar correctamente.

S2

Avatar de Usuario
nicolasez
Mensajes: 85
Registrado: 14 Feb 2011 06:57

Re: Pregunta fácil NINJA

Mensaje por nicolasez »

Es la pregunta del millón !!!! como puede ser tan fácil con otros programas como Amibroker y tan difícil en Ninja?????
la verdad es que no lo entiendo, Ninja tiene funciones que son una pasada pero al mismo tiempo no es capaz de hacer algo tan simple...

La única forma que he conseguido después de dos días intentando es, usar distintos timeframes:
-en 15min se cruzan las medias entonces damos la orden de entrar pero para un timeframe de 1 minuto...
deja pasar la barra de rigor :x y entra en la siguiente pero en un timeframe de un minuto...
Cuando se cumple la condición de salida en este caso OPEN > precio de entrada, sale en un timeframe de un minuto en la barra siguiente por supuesto a la que se cumple la condición :x
Esto es mejor a que deje pasar una barra de 15 minutos...

Esto es casi viable si quieres operar con barras de 5 min o 15 min, pero vamos que escomo aplicar la estrategia con un minuto de retraso... no se hasta que punto seria fiable un Backtest en estas condiciones...

Lo suyo seria poder utilizar un time frame mas pequeño pero teniendo en cuenta que para hacer un backtest mas o menos en "bueno" hacen falta mínimo dos años de históricos (que de un minuto los hay, pero de menos de un minuto a ver de donde lo sacas)...

Kinetick ofrece 2 años de barras 1min y 120 días de tick que no son suficientes para comprobar la estrategia correctamente....

pero vamos que me parece totalmente surrealista que una cosa tan simple no se pueda hacer...

Todavia no entiendo como hacen los que operan en Ninja para hacer backtest "buenos"...

PorEJ:
tengo un sistema simple:
1-si el precio cruza al alza la media de 20 sesiones compro...
2- si el precio cruza al baja la media de 20 sesiones vendo...
trabajamos en barras de 1 hora

se cumple la condición, ....entro una hora mas tarde, osea si hay un gap bajista "perdemos un montón de pasta"
se cumple la condición de salida... salgo una hora mas tarde... en esa hora puede pasar de todo...

Resultados de backtest... totalmente irreales...

----------plan B
nos curramos el mismo sistema y lo hacemos en un marco de una hora con otro timeframe de un minuto:

se cumple la condición, ....entro una minuto mas tarde, aumenta el riesgo
se cumple la condición de salida... salgo una minuto mas tarde... estamos un minuto expuestos

Los resultados de Backtest no son de confianza....

¿Que opináis?

Yo no me lo termino de creer...
Al final optare por seguir con Ami para los backtest y solo utilizar Ninja para operar...

TENGO LA CABEZA QUE ME HECHA HUMO, ALGUIEN ME PUEDE CONFIRMAR SI ESTE COMPORTAMIENTO ES ASI???????? o sera que ya no me funciona el coco y no veo la solucion...
...
CJS
Mensajes: 174
Registrado: 01 May 2008 16:54
Ubicación: Barcelona

Re: Pregunta fácil NINJA

Mensaje por CJS »

Hola,
No puedo comparar con otras plataformas, ya que programo desde hace poco, y solo lo he hecho con NT.

Sí te puedo decir que NT tiene sus carencias que dificultan la simulación de una estrategia real.

Como mis estrategias se basan en órdenes stop y limitadas, mis mayores dolores de cabeza han sido con las Internal Handling Rules de NT. Al final lo he solucionado programando con el Unmanaged Approach.
A ver, sobra decir que el trading de sistemas no es fácil, y las herramientas que tenemos, aunque son una gran ayuda, tienen enormes carencias a la hora de simular la operativa real. Yo compenso estas carencias con estrategias de alta cadencia operativa en las que unos pocos trades mal simulados no supongan una gran diferencia, y siempre intento que las desviaciones vayan siempre en contra, nunca a favor.

Por lo que he visto, cada plataforma tiene sus virtudes y desventajas, Para dedicarse en serio al trading de sistemas hay dominar al menos 2 de ellas y escoger en cada momento la que mejor simula la estrategia en cuestión.

Te aseguro que lo que está pasando es normal. La última decisión la tienes tú.

En mi opinión, para el retail trader, tener dominio del NT es un activo de valor en este mundillo, aunque a veces se choque con limitaciones que a priori parecen algo absurdas.

Como consejo, te diría que sigas con el NT y que si ves que la simulación de una estrategia en concreto no te transmite confianza, lo hagas en otra plataforma. Con NT podrás simular la mayoría de estrategias y las herramientas de optimización, prueba externa, ect. son muy buenas.

Ánimo y saludos
___________________________

El trading puede aportar beneficios mucho más valiosos que el dinero.
CJS
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Pregunta fácil NINJA

Mensaje por cls »

nicolasez escribió:Es la pregunta del millón !!!! como puede ser tan fácil con otros programas como Amibroker y tan difícil en Ninja?????
la verdad es que no lo entiendo, Ninja tiene funciones que son una pasada pero al mismo tiempo no es capaz de hacer algo tan simple...
...
No sé dónde ves el problema. Lo que quieres hacer lo estás enfocando erróneamente. A veces (casi siempre) el problema no es del soft sino de nuestra interpretación del problema.

Un backtest (en ninja, ami, meta o lo que sea) se ejecuta al cierre de barra (1d, 1h, 30min o lo que sea). Y si quieres procesar todos los ticks tendrás que hacerlo en timeframe de 1tick para lograr la máxima confianza en los resultados.

Ahora bien, tú quieres que cuando cierre la barra (en backtesting funciona así) te lance una orden sobre el precio de apertura de esa misma barra que ya ha cerrado. O sea, sobre el pasado. Y que la ganancia se contabilice sobre el desarrollo de esa barra
pasada. Bueno, pues si tu soft te permite hacer eso la fiabilidad que puede tener ese backtest es nula.

Lo que tienes que hacer es rediseñar tu sistema para el backtesting. A menudo, un sistema para backtesting tiene que tener distinto código que cuando funciona en real.

En tu caso, si te he entendido bien, podrías hacer lo siguiente: sabes el precio de la orden de entrada. Cuando cierre la barra pon una orden de salida limitada a ese precio de cierre (siempre que sea mayor que el precio de la entrada). Si compraste en 1.540 y la barra cierra en 1.560, lanzas al cierre de la barra una orden de venta limitada en 1.560. Si la siguiente barra abre con gap por ej. en 1.580 será filled en 1.580 que es lo que querías.

S2
Avatar de Usuario
nicolasez
Mensajes: 85
Registrado: 14 Feb 2011 06:57

Re: Pregunta fácil NINJA

Mensaje por nicolasez »

Ok cls voy a programar esto ultimo a ver que tal.
Seguire usando Ami tambien para contrastar resultados.

Gracias ;)
Avatar de Usuario
andriuking
Mensajes: 231
Registrado: 06 Nov 2010 18:37
Ubicación: Madrid
Contactar:

Re: Pregunta fácil NINJA

Mensaje por andriuking »

cls escribió: No sé dónde ves el problema. Lo que quieres hacer lo estás enfocando erróneamente. A veces (casi siempre) el problema no es del soft sino de nuestra interpretación del problema.

Para mí si es un problema que teniendo la información necesaria en el histórico el backtest no sea capaz de simular los resultados de una estrategia que es perfectamente viable.

Estoy convencido de que se tiene que poder hacer.
http://www.sistemasdebolsa.com/" onclick="window.open(this.href);return false;
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Trading en General”