Backtesting/Optimización - página 27

 

¿El backtesting corrompe los datos históricos?

Hola chicos,

Hace unas semanas he descargado datos de 1 minuto de: http://www.alpari-idc.com/en/dc/databank.html

Y backtested muchos EAs en él.

Hoy he encontrado un EA que me ha dado estos resultados:

Decidí acelerar el proceso de backtesting así que instalé metatrader en mi nuevo ordenador, descargué los datos más recientes de 1 minuto, subí mi EA

y obtuve estos resultados:

Los ajustes para el EA son los mismos, la única diferencia que puedo ver es que los Ticks modelados son mucho más altos en los datos más recientes de 1 minuto.

He notado que otros EAs que han estado generando buenos resultados en los datos antiguos dejaron de "funcionar" cuando uso los datos más nuevos.

¿Alguien sabe la razón de esto?

¿Estaban mis datos antiguos de 1 minuto corrompidos?

Gracias de antemano, Drue

 

EA utilizó 14416 ticks en el primer caso y 14391 ticks en el segundo 90%. Así que puede ser lo siguiente

- usted seleccionó más período de lobngher para backtesting en el primer caso;

o

- usted mantuvo el primer Metatrader en vivo para operar y Metatrader descargó nuevos datos y se mezclaron. Importe datos adicionales en modo fooline (si abre la carpeta con los datos probablemente verá muchos archivos con el mismo marco temporal y pares, así que impórtelos al archivo principal).

Y si usted está backtesting EAs muy a menudo por lo que puede ser bueno para mantener una copia de Metatrader sólo para backtesting sólo y este Metatrader debe ser apagar desde el corredor de forma permanente.

 

Optimizador de estrategias usando la GPU

Hola. Últimamente he estado utilizando mucho el optimizador de pruebas de estrategia, y me he dado cuenta de que tarda mucho tiempo en otimizar una estrategia, y hay un límite en el número de variables con las que se puede hacer trabajar. He descubierto que ahora existe un software que permite utilizar la GPU de la tarjeta de vídeo para realizar trabajos de computación, y la GPU es enormemente más rápida que la CPU. En algunas pruebas, mi CPU tiene unos 5 GFlops, y mi GPU unos 550 GFlops. ¡Eso es un aumento de más de cien veces! Así que estoy interesado en modificar Metatrader4 para utilizar la GPU en lugar de la CPU, y quiero deshacerme del límite de variables para que pueda calcular en base a muchas más variables. He encontrado una empresa que hará las modificaciones aquí:

http://www.gpucomputing.eu/

Así que me pregunto si alguien aquí está interesado en esto? Estoy seguro de que no voy a ser capaz de pagar esto a mí mismo (soy un estudiante universitario en paro), así que estoy esperando que podamos hacer una especie de grupo de compra en esto. El sistema de control de calidad de la empresa es muy sencillo, y se puede utilizar en cualquier momento.

 
triwebb1:
Hola. He estado utilizando el optimizador de prueba de estrategia en gran medida recientemente, y he encontrado que se necesita mucho tiempo para otimize una estrategia, y hay un límite en el número de variables que uno puede tener que trabajar con. He descubierto que ahora existe un software que permite utilizar la GPU de la tarjeta de vídeo para realizar trabajos de computación, y la GPU es enormemente más rápida que la CPU. En algunas pruebas, mi CPU tiene unos 5 GFlops, y mi GPU unos 550 GFlops. ¡Eso es un aumento de más de cien veces! Así que estoy interesado en modificar Metatrader4 para utilizar la GPU en lugar de la CPU, y quiero deshacerme del límite de variables para que pueda calcular en base a muchas más variables. He encontrado una empresa que va a hacer las modificaciones aquí:

http://www.gpucomputing.eu/

Así que me pregunto si alguien aquí está interesado en esto? Estoy seguro de que no voy a ser capaz de pagar esto a mí mismo (soy un estudiante universitario en paro), así que estoy esperando que podamos hacer una especie de grupo de compra en esto. El sistema de control de calidad de los productos de la empresa es el mismo que el de los productos de la empresa.

Antes de empezar a comentar, ¿podría explicar más sobre este límite variable que tiene...?

Gracias.

 

Una idea interesante, pero...

Una desafortunada restricción de MetaTrader4 es que no hay una API disponible, por lo que estás un poco limitado en lo que puedes hacer. La única posibilidad que permite MT4 es llamar a DLLs externas, pero eso no ayudaría mucho creo. La mayor parte de la parte que consume tiempo del probador de estrategias, por ejemplo, se mantendría residente dentro de MT4.

 

Sí, sé que sería difícil, por eso estoy mirando a esta empresa para que lo haga :P Creo que tendrían que descompilar Metatrader, si es posible, y reescribir parte de él.

Sobre el límite de las variables: tengo un EA de varias etapas que estoy probando, y uso múltiples indicadores con diferentes valores para cada etapa, y quiero que el optimizador los recorra todos y encuentre los mejores valores. Parece estar limitado a algo así como 20 variables con 10 etapas cada una. Quiero que soporte unas 80 variables con 50 pasos cada una... Esa cantidad de variables tomaría mucho tiempo para computar, y para eso quiero que funcione lo de la GPU, o la capacidad de usar un cluster de PCs para hacerlo y que no tome 2 años en mi pc. Pero Metatrader no admite ninguna de las dos cosas, así que ahora mismo estoy atascado probando diferentes métodos para el funcionamiento del EA, pero tengo muchas ganas de probar el de la enorme cantidad de variables y ver qué sale.

 

Hola, esto es lo que quiero hacer:

Quiero dejar que mi EA se optimice a sí mismo (una optimización de los últimos 2 meses), y que tenga que cambiar sus variables automáticamente si encuentra mejores variables durante la optimización (estará optimizando 24h/24, todo el día, todos los días).

¿Crees que es posible codificar algo así? tal vez un script o algo que no sé, ¿qué piensas?

 

Ya

Creo que esta mmmmmmmmm Oky Oky

 

¿Cree que puede ser posible?

 
w4rn1ng:
Hola, esto es lo que quiero hacer:

Quiero dejar que mi EA se optimice a sí mismo (una optimización de los últimos 2 meses), y que tenga que cambiar sus variables automáticamente si encontró mejores variables durante la optimización (estará optimizando 24h/24, todo el día, todos los días).

¿Crees que es posible codificar algo como esto? tal vez una secuencia de comandos o algo que no sé, ¿qué te parece?

No sé. Es muy buena idea sobre todo para los EAs de cruce de ema. Pero no veo ninguna implementación. Codersguru i tener el hilo sobre auto-aprendizaje EA o algo así, pero el desarrollo no terminó todavía.