Sobre backtesting... Unas dudillas...

Foro dedicado a todo lo relacionado con la versión 4 de la plataforma de Metaquotes.
Avatar de Usuario
MaLiBoO
Mensajes: 346
Registrado: 09 Mar 2009 02:19

Sobre backtesting... Unas dudillas...

Mensaje por MaLiBoO »

El caso es q todo esto es un poco nuevo para mi y como es tanto, se me hace un poco dificil de digerir...

A ver si me podeis echar una manita...

Estoy haciendo (o intentando) hacer backtesting sobre EA´s , pero claro, no tengo resultados como espero, y no me refiero a los resultados de los EA´s en si, sino del mismo test...

Al parecer cuando hago backtesting no se si es que me falta un historial o algo, pero hago lo siguiente:

Crt + R

Se me abre la ventana para hacer el backtesting... Bien, agrego el EA, el par de divisas, y ya empiezo a perderme en:

Modelo: Cada tick (lo dejo tal cual está, supongo q debo dejar este...)

Periodo: Vale, sin problemas...

Optimizacion? Si? No? Pq?

Utilizar datos... Mmm tiene pinta q se refiere al historial... Se supone q tengo el historial años atras, quiero decir, la plataforma tiene esos historiales?

Mmm propiedades del experto... Abro y me salen Deposito inicial, ok, posiciones, ok...

Parametro optimizado... Mmm... Cualdeberia poner? (supongo q la respuesta es... "Depenede de lo que busques" , pero me refiero, qué es lo mas usual en los backtesting...

Algoritmo genetico ...eing? Marco o desmarco esa casilla? pq?

Bueno... Mmm... me dejo mil cosas atras, pero le doy a iniciar test y solo me sale un resultado de 1 dia de operaciones nada mas...


Me siento un tanto mediocre...

He estao buscando, por ahi algun tuto...pero na...

Alguien me echa un cable?
Avatar de Usuario
nstrader
Mensajes: 257
Registrado: 24 Mar 2007 19:33

Re: Sobre backtesting... Unas dudillas...

Mensaje por nstrader »

Se me abre la ventana para hacer el backtesting... Bien, agrego el EA, el par de divisas, y ya empiezo a perderme en:

Modelo: Cada tick (lo dejo tal cual está, supongo q debo dejar este...)
Para los test lógicamente el cada tick, el resto es para acelerar en otro tipo de búsquedas
Optimizacion? Si? No? Pq?
Si la seleccionas, hará una optimización de los valores que selecciones en Propiedades del experto, luego con los valores que te dé haces el test sin selecionar la optimización.
Utilizar datos... Mmm tiene pinta q se refiere al historial... Se supone q tengo el historial años atras, quiero decir, la plataforma tiene esos historiales?
Mejor delimitar las fechas, si no utilizará todo el historial que tenga.
Evidentemente no tendrá todos esos historiales, depende del broker y de las gráficas que hayas abierto.
Pulsa F2 y descarga todos los historiales de cada periodo.
Parametro optimizado... Mmm... Cualdeberia poner? (supongo q la respuesta es... "Depenede de lo que busques" , pero me refiero, qué es lo mas usual en los backtesting...
Hombre, lo más usual es el Balance, porque primero buscarás una estrategia que salga positivo, luego una vez tengas las estrategia buscas los mejores valores del resto si te interesan.
Algoritmo genetico ...eing? Marco o desmarco esa casilla? pq?
Es una forma de acelerar la optimización, el programa busca los mejores valores y cercanos (familiares, genético) y descarta el resto.

Y ya para terminar, lo más importante es trabajar con un buen historial y que concuerden todos los datos en todos los periodos, algunos brokers utilizan parte del historial de su centro de datos y parte de metaquotes por ejemplo.
Entonces se puede dar el caso que un periodo de 15 min no concuerde con el equivalente a 30 min, en sus volumenes, maximos, mínimos etc, por tanto yo recomiendo coger un historial de 1 minuto de calidad y convertirlo a todos los periodos para luego importarlos a nuestro centro de historiales (F2) y así hacer un buen backtesting

Creo que hay por ahí un programa en mql que convierte los periodos al que quieras, yo suelo utilizar uno que me he hecho con matlab, cuando tenga tiempo desarrollaré uno por mi cuenta en mql.

Aquí tienes un data center con historiales desde el 2004 de 1 minuto y diarios
http://www.alpari-idc.com/en/dc/databank.html
Avatar de Usuario
MaLiBoO
Mensajes: 346
Registrado: 09 Mar 2009 02:19

Mensaje por MaLiBoO »

nstrader... Sin palabras...

Muchisimas gracias por la ayuda...

Ya sabia yo q estaban fallando los historiales...

De nuevo, un millon de gracias!
Avatar de Usuario
MaLiBoO
Mensajes: 346
Registrado: 09 Mar 2009 02:19

Mensaje por MaLiBoO »

Con esto de la entrada en vigor de euro...bla bla bla... Cuando haceis el inicio del backtesting? En enero del 2002?

Buf tengo juego para rato... A ver si busco el progama para convertir los historiales de minutos en otros frame rates...

Y encima hace poco enlazaron una pagina con muchisimos EA´s... No voy a salir de mi casa xD
Avatar de Usuario
ledzep
Mensajes: 410
Registrado: 25 Sep 2006 03:19
Ubicación: Colombia

Re: Sobre backtesting... Unas dudillas...

Mensaje por ledzep »

nstrader escribió:
Y ya para terminar, lo más importante es trabajar con un buen historial y que concuerden todos los datos en todos los periodos, algunos brokers utilizan parte del historial de su centro de datos y parte de metaquotes por ejemplo.
Entonces se puede dar el caso que un periodo de 15 min no concuerde con el equivalente a 30 min, en sus volumenes, maximos, mínimos etc, por tanto yo recomiendo coger un historial de 1 minuto de calidad y convertirlo a todos los periodos para luego importarlos a nuestro centro de historiales (F2) y así hacer un buen backtesting

Creo que hay por ahí un programa en mql que convierte los periodos al que quieras, yo suelo utilizar uno que me he hecho con matlab, cuando tenga tiempo desarrollaré uno por mi cuenta en mql.

Aquí tienes un data center con historiales desde el 2004 de 1 minuto y diarios
http://www.alpari-idc.com/en/dc/databank.html
Absolutamente de acuerdo, hacer un buen backtesting requiere de un gran cuidado en una serie de detalles. Si las operaciones son intrabarra la calidad del modelo no debe ser inferior al 90%, la cual reflejara que resolución de tiempo tienes por debajo del TF que trabajes igualmente no confies en nada mas que en el modo "every tick" . En cuanto a lo de convertir los periodos de tiempo, en mi humilde opinión el script que trae la plataforma (period_converter) trabaja bastante bien.

s2.

Avatar de Usuario
MaLiBoO
Mensajes: 346
Registrado: 09 Mar 2009 02:19

Mensaje por MaLiBoO »

Por cierto, indagando por ahi he visto esta pagina q a lo mejor os puede interesar, ya q no se me ocurre otra forma de devolveros el favor...

Creo q es tick data...

Ya me contais...

http://ratedata.gaincapital.com/
Avatar de Usuario
MaLiBoO
Mensajes: 346
Registrado: 09 Mar 2009 02:19

Mensaje por MaLiBoO »

Buff... Mi modelado no pasa de 25% :lol:

Creo q tengo mal los historiales o algo pasa...

Voy a ver si los borro en la carpeta de history y vuevlo a importar los de alpari...
Avatar de Usuario
MaLiBoO
Mensajes: 346
Registrado: 09 Mar 2009 02:19

Mensaje por MaLiBoO »

Parece q el historial está escondido en otra parte, o bien con otra extension...
Avatar de Usuario
MaLiBoO
Mensajes: 346
Registrado: 09 Mar 2009 02:19

Mensaje por MaLiBoO »

Existe algun programa gratis q haga backtesting que no sea el meta?
Avatar de Usuario
rtrader
Mensajes: 611
Registrado: 07 Oct 2006 05:02
Ubicación: Argentina

Mensaje por rtrader »

MaLiBoO escribió:Parece q el historial está escondido en otra parte, o bien con otra extension...
Al bajarlo, lo guardas en el escritorio, luego extract al escritorio; ahora tienes que abrir el meta, click en tools, history center,seleccionas el par en 1 minuto o daily y le das a import, con browse buscas al archivo que está en el escritorio das ok y listo.

Saludos
No intente predecir la dirección del mercado de valores, de la economía, de los tipos de interés o de las elecciones (Warren Buffet)
Avatar de Usuario
rtrader
Mensajes: 611
Registrado: 07 Oct 2006 05:02
Ubicación: Argentina

Mensaje por rtrader »

rtrader escribió:
MaLiBoO escribió:Parece q el historial está escondido en otra parte, o bien con otra extension...
Al bajarlo, lo guardas en el escritorio, luego extract al escritorio; ahora tienes que abrir el meta, click en tools, history center,seleccionas el par en 1 minuto o daily y le das a import, con browse buscas al archivo que está en el escritorio das ok y listo.

Saludos
y listo nada, no se guardan los datos.

Alguien puede hechar una mano? gracias
No intente predecir la dirección del mercado de valores, de la economía, de los tipos de interés o de las elecciones (Warren Buffet)
Avatar de Usuario
MaLiBoO
Mensajes: 346
Registrado: 09 Mar 2009 02:19

Mensaje por MaLiBoO »

Bueno, despues de pegarme sin exagerar 12 horas haciendo backtesting de diferentes EA´s q he pillado (y las que me quedan, q vicio por dios xD) he deducido algunas cosillas, seguramente no es nada nuevo, pero así quien busque algo sobre esto, lo encuentra...

Sobre MT4:

Decir q me gana la batalla, no sé q le pasa a los historiales q a veces dan un salto de un mes, supongo q no estan los correctos(sin el "supongo"...) Intento borrarlos de la carpeta de history, pero cuando abro el meta, siguen habiendo historiales, e intentando borrarlos manualmente, tengo q hacerlos uno por uno... :shock:

Sobre el periodo del testeo, los resultados son practicamente los mismos, pero quizá sea el time frame 1M el mejor ya q es el mas cercano a 1 tick

Sobre la calidad del modelado ... :lol: Vamos, no supero nunca el 25%... O sea q de ahi supongo q depende muy y mucho el resultado del test en veracidad... Aparte me reafirma sobre la pobre calidad de los historiales q tengo...


Sobre los EA´s:

Qué gozada, se pueden modificar, dentro de lo que el autor, o el q lo ha tocado antes q yo, permite...
Hay opciones de cambiar el volumen de los lotes, por minilotes, microlotes, cambiar el stop loss, activarlo desactivarlo, tp, MM, horarios en los que trabaja el EA, hacer q no trabaje los viernes... Unas cuantas configuraciones para poder mejorar o adaptar el EA a las exigencias del usuario, dentro de lo q el programador ha permitido, claro.

LA COÑA, es q aunque lo cambie, hace lo q le sale de los eggs, por ejemplo, quise cambiar de microlotes a minilotes, y nada, los resultados eran operaciones de microlotes :lol:

Tambien hay q observar q me pone "lots" y al lado 4 casillas, q corresponden a "Valor" "Iniciar" "Paso" y "Detener", entonces, claro, yo en las 4 casillas pongo 0.1 q sería el volumen del lote, pero ni caso
Entonces, creo q antes de tocar nada, habria q saber a que se refieren esas 4 casillas y sobre el comportamiento del EA en base a su configuracion, me pasa tb lo mismo con el stop loss, que por defecto viene desactivado, lo activo y lo mismo, 4 casillas y ponga lo q ponga, el stop loss sigue desactivado...


Seguiré investigando sobre como poner bien los parametros para q me obedezca el puñetero EA :lol: , si alguno de los presentes me quiere dar unas pistillas, pues oye, tan agradecido!
Avatar de Usuario
ledzep
Mensajes: 410
Registrado: 25 Sep 2006 03:19
Ubicación: Colombia

Mensaje por ledzep »

Maliboo,

Un buen backtest tiene sus trucos...... Primero abrete una cuenta exclusivamente para probar tus EAs, el truco esta en nunca registrate de forma que nunca accese datos del servidor que puedan contaminar tus datos, luego de esto trabajar siempre en modalidad offline, cargas tus datos con f2 y abres siempre en modo offline. los datos en otros TF diferentes de m1 con el script period converter. Espero te sirva.

s2.
Avatar de Usuario
nstrader
Mensajes: 257
Registrado: 24 Mar 2007 19:33

Mensaje por nstrader »

Aqui teneis los periodos del EURUSD en formato csv, M1, M5, M15, M30, M60, M240, M1440, desde el 16/06/2004 hasta 27/03/2009 http://www.megaupload.com/?d=9AO7SRD0 pesa 14,12Mb, los he convertido a partir de 1M de http://www.alpari-idc.com/en/dc/databank.html

El método de conversión es mediante un programa de Matlab que diseñé, así que de paso me probais si todo está bien, jejeje.

Decir que alpari utiliza 5 dígitos desde 2009 en los decimales de los pares pero en el databank solo lo guarda en 4 dígitos.

En los meses de este 2009 he visto que los decimales los normaliza a 4 dígitos, osea, 1.31569 = 1,3157

Para los scalpers decir también que los ticks en el test son modelados a partir del volumen de la barra

Por ejemplo la barra de un minuto (2004.06.16,10:55,1.21130,1.21150,1.21120,1.21150,15) tiene 15 de volumen, por tanto los tick de esa barra se modelaran de forma que tenga que hacer 15 movimientos hasta formar el OCHL, esto lo he deducido porque no hay más información que esa.

En alpari con 5 dígitos, el 5 dígito es el tick y en el caso anterior el volumen podría ser alrededor de unos 150 o mucho más con lo cual el modelado para los scalpers sería ideal, pero esto no lo guarda en su data center.

Para una estrategia en periodos de 15M por ejemplo o periodos mayores y teniendo el historial de 1M, el test es muy realista.

Cuando hacemos el test, elegir en Modelo, cada tick(el método más preciso basado en los periodos menores disponibles para generar cada tick), por tanto en una estrategia por ejemplo en H4 y teniendo este periodo y el de 1M los tick serán muy precisos.

Los Brokers (MM) tienen los ticks del mercado filtrados pero algunos dan historiales sin filtrar, y ahí pican los scalpers por que le sacan una rentabilidad bestial con un sistema automático y cuando pasa a tiempo real no funciona, otra cosa sería si se tuviera un acceso a historiales de un ECN con todos sus ticks, no sería dificil encontrar un sistema scalper ganador.

Nota, en megaupload, la imagen de verificación humana son letras superpuestas, a lo mejor cuesta un poco de verlas :lol:
Avatar de Usuario
nstrader
Mensajes: 257
Registrado: 24 Mar 2007 19:33

Mensaje por nstrader »

ledzep escribió:Maliboo,

Un buen backtest tiene sus trucos...... Primero abrete una cuenta exclusivamente para probar tus EAs, el truco esta en nunca registrate de forma que nunca accese datos del servidor que puedan contaminar tus datos, luego de esto trabajar siempre en modalidad offline, cargas tus datos con f2 y abres siempre en modo offline. los datos en otros TF diferentes de m1 con el script period converter. Espero te sirva.

s2.
Jeje es buena idea, yo ademas tengo instalado un sincronizador de archivos para que la carpeta experts donde está todo de la cuenta real se copie a la carpeta donde está instalado la cuenta Backtest, asi solo hay que darle al botón de sincronizar y ya pruebo el experto rápidamente en la cuenta Backtest sin contaminar historial del real y sin tener que copiar manualmente los archivos que modifique.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Metatrader 4”