PASAR HISTORICO TICKS A NINJA TRADER
PASAR HISTORICO TICKS A NINJA TRADER
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.
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.
Re: PASAR HISTORICO TICKS A NINJA TRADER
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
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á.
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))
Elimina la columna A
Guarda el nuevo archivo como archivo CSV y ya está.
Re: PASAR HISTORICO TICKS A NINJA TRADER
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.
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.
Re: PASAR HISTORICO TICKS A NINJA TRADER
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!!!
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!!!
Re: PASAR HISTORICO TICKS A NINJA TRADER
A ver si esto te sirve. Es un archivo de lotes para MS-DOS, más sencillo imposible.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.
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
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.
-
- Mensajes: 55
- Registrado: 02 Mar 2009 18:08
- Ubicación: Barcelona
Re: PASAR HISTORICO TICKS A NINJA TRADER
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,
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,
Re: PASAR HISTORICO TICKS A NINJA TRADER
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.
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.
Re: PASAR HISTORICO TICKS A NINJA TRADER
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.
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.
Re: PASAR HISTORICO TICKS A NINJA TRADER
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
Y si tienes 5000 ticks que cumplen esa condición te los saca todos listaditos. Hacer eso procesando archivos es mucho más engorroso.
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;
Re: PASAR HISTORICO TICKS A NINJA 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
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."
Re: PASAR HISTORICO TICKS A NINJA TRADER
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...
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...

Re: PASAR HISTORICO TICKS A NINJA TRADER
Joder pues estamos apañados...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...

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: PASAR HISTORICO TICKS A NINJA TRADER
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
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
Re: PASAR HISTORICO TICKS A NINJA TRADER
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.
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.
Re: PASAR HISTORICO TICKS A NINJA TRADER
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!