PASAR HISTORICO TICKS A NINJA TRADER

Foro dedicado a esta excelente herramienta de desarrollo e implementación de sistemas de trading
Responder
anscari70
Mensajes: 18
Registrado: 06 Dic 2007 19:55
Ubicación: Caldes

PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por anscari70 »

Hola, buenas.

Tengo historicos de ticks de varios años y me gustaria saber como poder pasarlos del formato que tienen ahora al formato de Ninja para poder importarlos.

Formato de archivo actual:
2007.03.30 16:01:15,1,33755,1,3374,18100000,35200000

Formato de archivo Ninja:
20070330 160115;1.3374;1

Parece ser que el formato de archivo en ticks para Ninja, necesita solo el bid o el ask (normalmente el bid) y un volumen (por defecto con el historico de Gain siempre sale 1). En mi caso, tengo el archivo un poco liado, ya que la parte decimal del precio tiene una coma(,) en lugar de un punto(.) lo que puede confundir con la coma(,) del cambio de columna.

Creo recordar que alguien del foro (POLXX) ya hizo en su dia un conversor de archivos VisualChart a Ninja para historicos de minutos, que dicho sea de paso, es una gran aportación por el tiempo que nos ha ahorrado en conversiones. Como no tengo ni pajolera idea de programación, quisiera saber si alguien (o el mismo POLXX) podria programar un nuevo conversor que deje el archivo en formato ticks de Ninja. Si conseguimos obtener estos historicos en ticks, podriamos colgar un post explicando como obtener los historicos en ticks y adjuntar el conversor para quien le interese.

Como dato final, decir que por ejemplo el archivo que tengo del EURUSD en ticks de todo el año 2007, pesa 1,5Gb. No sé si esto es un inconveniente a la hora de trabajar con el archivo.

Gracias de antemano y saludos.
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por Spirit »

Guarda el archivo de Gain con extenxión csv o txt.
Abre el Excel y buscas el archivo, si está en txt debes seleccionar "ver todos los archivos *.*"
Te saldrá un menú de importación de datos en formato CSV.

Selecciona "Delimitados - Caracteres como comas o tabulaciones separan campos"
Siguiente
Desselecciona "Tabulación" y selecciona "coma"
Siguiente
Pulsa en el botón "Avanzadas"
Selecciona como separador decimal el punto.
Selecciona como separador de miles la coma.
Pulsa "Aceptar"
Pulsa "Finalizar"

Ahora ya tienes los datos cargados en formato Excel

Borra las columnas que sobran.
Añade una columna junto a la de Fecha (Supongamos que la columna Fecha de Gain es la A y la columna en blanco la B

Copia en la celda B1 la siguiente fúnción

Código: Seleccionar todo

=CONCATENAR(EXTRAE(A1;1;4);EXTRAE(A1;6;2);EXTRAE(A1;9;2);EXTRAE(A1;11;3);EXTRAE(A1;15;2);EXTRAE(A1;18;2))
Copia estirando con el ratón o con doble click sobre la esquina inferior derecha de la celda B1 y ya tienes la fecha convertida.

Elimina la columna A

Guarda el nuevo archivo como archivo CSV y ya está.
anscari70
Mensajes: 18
Registrado: 06 Dic 2007 19:55
Ubicación: Caldes

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por anscari70 »

Gracias Spirit, pero esto no es exactamente lo que necesito. Me explico:

el archivo no es de Gain sino de otro data feed, y cuando digo que pesa 1.5 Gb quiere decir que tiene más de 280 millones de líneas, por lo que abrirlo con Excel es imposible (máx. 65000 líneas), y esto para solo 1 año. El problema es este, si existiese algun editor como Excel para archivos tan grandes, pues la cosa seria mas o menos fácil. Yo no conozco ningun editor de estas características, asi que creo que lo mas rápido y fácil es hacer un pequeño script en java o en el lenguaje que sea y que realice la conversión automáticamente.

Repito, gracias de todas formas. A ver si alguien puede aportar alguna solución más que no se me haya ocurrido.
Calike
Mensajes: 31
Registrado: 31 Ene 2009 16:20

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por Calike »

Hola anscari70 en este otro hilo se habla del tema. viewtopic.php?f=17&t=12012
Cuidado con los historicos de Gain que aparte de faltarles datos van cambiando el formato como les da la gana.. No veas la cara de tonto q se te queda cuando llevas unos meses y de repente ves que te han cambiado el formato.
Los de Dukascopy tienen ticks pero están por dias.. y si ya cuesta por semanas..
Ya diras de donde te los pillaste por años!!!
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por Spirit »

anscari70 escribió:Gracias Spirit, pero esto no es exactamente lo que necesito. Me explico:

el archivo no es de Gain sino de otro data feed, y cuando digo que pesa 1.5 Gb quiere decir que tiene más de 280 millones de líneas, por lo que abrirlo con Excel es imposible (máx. 65000 líneas), y esto para solo 1 año. El problema es este, si existiese algun editor como Excel para archivos tan grandes, pues la cosa seria mas o menos fácil. Yo no conozco ningun editor de estas características, asi que creo que lo mas rápido y fácil es hacer un pequeño script en java o en el lenguaje que sea y que realice la conversión automáticamente.

Repito, gracias de todas formas. A ver si alguien puede aportar alguna solución más que no se me haya ocurrido.
A ver si esto te sirve. Es un archivo de lotes para MS-DOS, más sencillo imposible.

Código: Seleccionar todo

@echo off
set crrFile=c:\Archivo.txt
echo INICIO > ticks.txt
for /f "useback tokens=1-19 delims=." %%a in ("%crrFile%") do (
     set auxi=%%c
     echo %%a%%b%auxi:~0,2% %auxi:~3,2%%auxi:~6,2%%auxi:~9,2%;%auxi:~12,6%;1 >> ticks.txt

)

echo.
echo Terminado
pause>nul
Copia este codigo en un archivo de texto y lo guardas como newticks.bat
Renombra el archivo de Gain como Archivo.txt
Vete a Inicio >> Ejecutar escribes cmd y pulsa en aceptar
Se te abre la consola de MSDOS
Teclea cd ruta siendo ruta el directorio donde se encuentran tus archivos, por ejemplo C:\ticksGain
Teclea newticks.bat
Se te tiene que crear un archivo llamado ticks.txt con el formato que solicitas.

flyscalper
Mensajes: 55
Registrado: 02 Mar 2009 18:08
Ubicación: Barcelona

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por flyscalper »

Hola,

quería añadir mi granito de arena en esto. He encontrado el sitio http://disktrading.is99.com/disktrading/, donde venden todo el historico (tanto en daily, como minute, como tick) de muchos activos de forex y futuros, por unos 80 €. Y lo mejor de todo es que ya te los dan en formato NinjaTrader, con lo que se pueden importar directamente.

Un saludo,
anscari70
Mensajes: 18
Registrado: 06 Dic 2007 19:55
Ubicación: Caldes

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por anscari70 »

Spirit,

he probado lo que me has indicado y no hace nada. No tengo memoria suficiente en el PC. Aparece este mensaje:

"Espacio de almacenamiento insuficiente para procesar este comando.
Memoria insuficiente."


Nada, veo que la cosa esta muy jodida con mi pc de 1Gb de RAM y el Windows XP. Probaré en el portátil, donde tengo el infumable Windows Vista y con un USB de 4Gb usado como memoria anexa. A ver si así puedo hacer algo.

Gracias y luego os digo si ha ido bien.
anscari70
Mensajes: 18
Registrado: 06 Dic 2007 19:55
Ubicación: Caldes

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por anscari70 »

Nada, probado con el Vista y ReadyBoost de 4Gb y el mismo mensaje, pero esta vez no me dice memoria insuficiente, solo "Espacio de almacenamiento insuficiente para procesar este comando".

Bueno, pues nada, parece que con windows no se pueden manejar archivos txt tan grandes.

Gracias a todos por vuestra aportación. Lo dejo aparcado hasta nuevas ideas.
Spirit
Mensajes: 4739
Registrado: 12 Jun 2008 19:49

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por Spirit »

Yo lo he probado con archivos pequeños y funciona.

Comprueba que te funciona con un archivo de 15 ó 20 líneas.

Ahora mismo tengo una duda de porque no te puede funcionar, no se si es por culpa de que no tienes memoria suficiente para abrir un archivo de 1,5 GB o puede que sea algún límite del tamaño de los archivos que puede procesar BATCH (el lenguaje que usamos). Es que hace un porrón de años que no hago nada en BATCH pero creo recordar que si existían límites máximos del tamaño de los archivos procesados.

A ver si alguien te puede ayudar porque yo no se más sobre el tema.

El problema del tamaño de los archivos se me planteó también cuando intenté hace unos meses volcarlos a una Base de Datos MySQL. La base de datos crecía tanto que al final lo dejé sin terminar. La verdad es que es una pena ya que con SQL (lenguaje de consultas de Bases de Datos) se pueden hacer muchas cosas de forma muy sencilla. Por ejemplo si quieres listar los ticks que se han ejecutado a un precio, por ejemplo 1,4567 sólo debes escribir algo tan simple como

Código: Seleccionar todo

SELECT * FROM TablaTicks WHERE Bid=1,4567;
Y si tienes 5000 ticks que cumplen esa condición te los saca todos listaditos. Hacer eso procesando archivos es mucho más engorroso.
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12798
Registrado: 06 Sep 2004 10:18
Contactar:

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por X-Trader »

Has probado a usar Textpad??? Es un excelente editor de texto que permite realizar selecciones rectangulares dentro del texto y lee archivos grandes sin problemas. Si todos los campos tienen la misma longitud, simplemente basta con que selecciones el texto que deseas eliminar y suprimirlo.

http://www.textpad.com/

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."
anscari70
Mensajes: 18
Registrado: 06 Dic 2007 19:55
Ubicación: Caldes

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por anscari70 »

X-Trader,

tengo el UltraEdit que viene a ser como el TextPad, tambien permite seleccionar columnas y borrarlas. Pero como en esta vida no hay nada fácil, resulta que los campos no son de la misma longitud, ya que en el bid o el ask no aparecen los ceros finales cuando tienen números redondos. Es decir por ejemplo,

2007.03.30 10:14:15,1,45235,1,4523,850000,86000000
2007.03.30 10:14:17,1,4524,1,45235,235000,780000
.
.
.
2007.03.30 10:15:26,1,4599,1,46,1300000,200000000

Si es que....hasta en esto, los brokers pa putearnos no se quedan cortos... :)
Avatar de Usuario
X-Trader
Administrador
Mensajes: 12798
Registrado: 06 Sep 2004 10:18
Contactar:

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por X-Trader »

anscari70 escribió:X-Trader,

tengo el UltraEdit que viene a ser como el TextPad, tambien permite seleccionar columnas y borrarlas. Pero como en esta vida no hay nada fácil, resulta que los campos no son de la misma longitud, ya que en el bid o el ask no aparecen los ceros finales cuando tienen números redondos. Es decir por ejemplo,

2007.03.30 10:14:15,1,45235,1,4523,850000,86000000
2007.03.30 10:14:17,1,4524,1,45235,235000,780000
.
.
.
2007.03.30 10:15:26,1,4599,1,46,1300000,200000000

Si es que....hasta en esto, los brokers pa putearnos no se quedan cortos... :)
Joder pues estamos apañados... :( si se me ocurre algo más te digo.

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."
Avatar de Usuario
nstrader
Mensajes: 257
Registrado: 24 Mar 2007 19:33

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por nstrader »

Prueba con http://csved.sjfrancke.nl/index.html es un editor CSV

Tiene versión instalable y portable

Con un click puedes cambiar la coma por el punto y coma o espacio o lo que quieras.
Tiene bastantes opciones de edición, puedes juntar columnas y tambien eliminarlas aunque no he probado todas las opciones porque no me han echo falta.

Creo que me llegó a abrir 300 Mb de Ticks pero supongo que dependerá tambien de la memoria del Pc.

El mejor editor de ticks que he visto es el de Tick Data "TickWrite 7"donde si puedes cambiar el formato de fecha y horario al del ninja, lo que no he probado todavía si se puede importar ficheros de otros brokers, la unica pega que tiene es que la fecha y hora van separados por un ; con lo que hay que editarlo con un editor como el csved.

Un saludo
Calike
Mensajes: 31
Registrado: 31 Ene 2009 16:20

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por Calike »

anscari70 . Si me prometes que lo harás de noche a partir de las 12,30 te creo un usuario ftp para que te bajes los ficheros terminados y listos para importar a NT del eurusd, eurjpy, gbpusd, usdchf y usdjpy desde junio de 1998 hasta el 10-1-2010.
Comprimidos son unos 330 mb por par y están divididos en partes para poder importarlos, por cierto la beta del NT7 se casca a medio proceso.. la 6.5 es capaz de importar archivos de no mas de 15000 lineas.
walson2k
Mensajes: 1
Registrado: 11 Mar 2010 16:42

Re: PASAR HISTORICO TICKS A NINJA TRADER

Mensaje por walson2k »

Soy novato en Forex y me interesa conseguir los historicos. Baje los de Gain, pero ya he leido que ademas de tener que convertirlos, estan en distintos formatos y no son muy fiables. Alguien me puede ayudar a conseguir los datos?
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Ninja Trader”