Sobre barras y tiempos

Foro genérico sobre programas relacionados con el trading: gráficos, ejecución de órdenes, automatización, etc.
Responder
victorag
Mensajes: 56
Registrado: 23 May 2009 13:36

Sobre barras y tiempos

Mensaje por victorag »

Buenas tardes,

Haciendo mis primeros "matojos" con el Visual Chart (qué lento y feo) y el Ninja Trader (mucho más chulo :) ). Estaba pensando en el famoso evento "CambioEnLaBarraQueEstamosMirando".

Este evento te informa de que ha pasado algo en la barra actual, o que la barra actual ha terminado, dependiendo de lo que le hayas dicho que te informe.
En el Ninja Trader, en concreto, este código:

/// <summary>
/// This method is used to configure the strategy and is called once before any strategy method is called.
/// </summary>
protected override void Initialize()
{
CalculateOnBarClose = false; // Avísame cada dos por tres...
}

/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
Print(DateTime.Now.ToLongTimeString() + " - " + Time[0].ToLongTimeString() + " " + Close[0] + " - " + Time[1].ToLongTimeString() + " " + Close[1]);
}

No es más que imprimir la hora del sistema, la hora de la barra actual, el precio de cierre de la barra actual, la hora de la barra anterior y el precio de cierre de la barra anterior.

Cuando lo aplico al futuro del ESX en barras de 5 minutos, genera una salida como ésta en la pantalla de Output:
...
17:04:57 - 17:00:00 2353 - 16:55:00 2352
17:04:58 - 17:00:00 2353 - 16:55:00 2352
17:05:03 - 17:00:00 2353 - 16:55:00 2352
17:05:04 - 17:00:00 2353 - 16:55:00 2352
17:05:05 - 17:00:00 2352 - 16:55:00 2352
17:05:06 - 17:05:00 2352 - 17:00:00 2352
17:05:06 - 17:05:00 2352 - 17:00:00 2352
17:05:07 - 17:05:00 2352 - 17:00:00 2352
17:05:07 - 17:05:00 2353 - 17:00:00 2352
17:05:08 - 17:05:00 2353 - 17:00:00 2352
17:05:08 - 17:05:00 2353 - 17:00:00 2352
17:05:09 - 17:05:00 2352 - 17:00:00 2352
17:05:09 - 17:05:00 2353 - 17:00:00 2352
17:05:10 - 17:05:00 2352 - 17:00:00 2352
17:05:10 - 17:05:00 2353 - 17:00:00 2352
17:05:11 - 17:05:00 2352 - 17:00:00 2352
17:05:13 - 17:05:00 2352 - 17:00:00 2352
17:05:16 - 17:05:00 2353 - 17:00:00 2352
17:05:21 - 17:05:00 2353 - 17:00:00 2352
17:05:22 - 17:05:00 2353 - 17:00:00 2352
17:05:28 - 17:05:00 2353 - 17:00:00 2352
17:05:28 - 17:05:00 2353 - 17:00:00 2352
17:05:31 - 17:05:00 2353 - 17:00:00 2352
17:05:31 - 17:05:00 2353 - 17:00:00 2352
17:05:34 - 17:05:00 2353 - 17:00:00 2352
17:05:35 - 17:05:00 2353 - 17:00:00 2352
...


Entiendo que todos los indicadores que pida en estos momentos se basan exactamente en las barras fijas marcadas cada 5 minutos desde el inicio de la sesión. Imagino que en todos los programas de trading programables, el comportamiento es el mismo.


¿No sería más interesante, para poder trabajar con indicadores sobre barras COMPLETAS de cinco minutos en este caso, o de otro número de minutos en otros, que tuviéramos los datos de las barras partiendo del momento actual hacia atrás?

O sea, que si estamos en el momento 17:07:20, pueda saber cómo estaban las barras e indicadores de cinco minutos con inicio en las 17:03:20, 16:58:20...

¿Es esto una limitación?, ¿una desventaja?, ¿un error de concepto que venimos arrastrando de cuando los PCs eran más lentos?, ¿o de cuando la gente hacía "Elliot con ábaco"?... ¿o es que al final da igual?


Saludos,

Paco
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Mensaje por cls »

Hola Paco,
en ese caso todas las barras estarían recalculándose continuamente. No tendrías ninguna barra fija, nunca.
Y las lecturas de los indicadores de barras pasadas tampoco serían fijas y estarían continuamente cambiando.

No parece muy práctico, no?

S2
victorag
Mensajes: 56
Registrado: 23 May 2009 13:36

Mensaje por victorag »

Buenas tardes de nuevo, gracias por la contestación :)

El hecho es que veía dos problemas; uno es que no parece lógico tener a un sistema con los ojos tapados durante 5, 10 o 15 minutos y otro que parece que cuando acaba un minuto, a montones de sistemas se les quita la venda y empiezan a lanzar órdenes.

Por tanto, parece que lo mejor es usar siempre:

CalculateOnBarClose = false;

Aunque sea más "cpu-intensive", jojo, que tenemos cuatro núcleos :)

Porque veo que los datos de la barra actual se van actualizando:

Print(DateTime.Now.ToLongTimeString() + " - " + Time[0].ToLongTimeString() + " " + Close[0] + " - " + Time[1].ToLongTimeString() + " " + Close[1]);
Print("Medias de 10: " + SMA(10)[0].ToString() + " " + SMA(10)[1].ToString());
Print(".");

Produce:

17:34:50 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:50 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:50 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:50 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:51 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:51 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:51 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:51 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:51 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:52 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:34:52 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:54 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:55 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:55 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:56 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:34:57 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:34:57 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:58 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:58 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:59 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:34:59 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:00 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:00 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:01 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:01 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:02 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:02 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:02 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:02 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:03 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:03 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:03 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:03 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:03 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:03 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:03 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:03 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:03 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:03 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:03 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:04 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:04 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:04 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:04 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:04 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:04 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:04 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:05 - 17:30:00 2444 - 17:25:00 2443
Medias de 10: 2438,1 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:05 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:06 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:06 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:06 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:06 - 17:30:00 2442 - 17:25:00 2443
Medias de 10: 2437,9 2437,6
.
17:35:06 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:06 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:07 - 17:30:00 2442 - 17:25:00 2443
Medias de 10: 2437,9 2437,6
.
17:35:07 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:07 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:07 - 17:30:00 2442 - 17:25:00 2443
Medias de 10: 2437,9 2437,6
.
17:35:07 - 17:30:00 2442 - 17:25:00 2443
Medias de 10: 2437,9 2437,6
.
17:35:07 - 17:30:00 2442 - 17:25:00 2443
Medias de 10: 2437,9 2437,6
.
17:35:08 - 17:30:00 2443 - 17:25:00 2443
Medias de 10: 2438 2437,6
.
17:35:08 - 17:30:00 2442 - 17:25:00 2443
Medias de 10: 2437,9 2437,6
.
17:35:08 - 17:35:00 2442 - 17:30:00 2442
Medias de 10: 2438,1 2437,9
.
17:35:08 - 17:35:00 2442 - 17:30:00 2442
Medias de 10: 2438,1 2437,9
.
17:35:08 - 17:35:00 2442 - 17:30:00 2442
Medias de 10: 2438,1 2437,9
.
17:35:08 - 17:35:00 2443 - 17:30:00 2442
Medias de 10: 2438,2 2437,9
.
17:35:08 - 17:35:00 2442 - 17:30:00 2442
Medias de 10: 2438,1 2437,9
.
17:35:08 - 17:35:00 2443 - 17:30:00 2442
Medias de 10: 2438,2 2437,9
.


No sé si es por casualidad, pero se nota un incremento de llamadas pasado el minuto 35.


Lo que va a molar de verdad es ver el Ninja 7 en marcha, contra SQL Server, vamos a poder ver las consultas que hace a la base de datos en tiempo real... :D


Saludos,

Paco
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Software”