Backtesting/Optimización - página 28

 

¡Imagina que todos los días a las 00.00 el ea (durante su trabajo normal) comienza una optimización (con algoritmos genéticos) para una cantidad x de datos (1 mes, 2 meses, 1 año, 1 día), y al final de la optimización comprueba los resultados, y elige los valores que dieron los mejores resultados (alto beneficio, bajo drawdown), y modifica su valor con los nuevos, sin detener su trabajo!

Se puede hacer manualmente, pero si se puede hacer automático también puede ser mejor no?

 

Mis experiencias

Asumiendo, que tienes un %90 de calidad de garrapata, y no eres un principiante,

1. Tester es una gran arma. Funciona si usted sabe cómo utilizar. De lo contrario, usted pasa de su vida para las pruebas de EA, por lo menos 2-3 años que necesita para esperar en los datos en vivo.

2. 2. El probador no es adecuado para el sistema de multi-marco de tiempo y multi-moneda. Si su sistema de forzar los puntos complejos, pedir a los productores.

3. No hay ningún experto valioso en la red. Así que esto no es problema del probador. Pero la gente dice que los probadores son malos. No, nosotros somos malos.

4. Las olas del mercado de divisas cambian año tras año. Si un sistema funciona un año, al año siguiente puede fallar. Por lo tanto, un experto debe ser educado durante muchos años.

5. 5. La única tendencia fiable es (mensual) incluso (5 años) las tendencias en este mercado. Pero estas tendencias no son adecuadas para un alto apalancamiento. Esto está reduciendo nuestra oportunidad para los EA de alto apalancamiento.

Gracias

Cengiz

 

los pequeños detalles en el aprendizaje automático

w4rn1ng:
¡Imagínese, todos los días a las 00.00 el ea (durante su trabajo normal) iniciar una optimización (con algoritmos genéticos) para una cantidad x de datos (1 mes, 2 meses, 1 año, 1 día), y al final de la optimización que comprobar los resultados, y elegir los valores que dio los mejores resultados (alta ganancia, drawdown bajo), y modificar su valor con los nuevos, sin detener su trabajo! Se puede hacer manualmente, pero si se puede hacer automático también puede ser mejor no?

todo lo que se puede describir exactamente, también se puede programar. Quizás mq4 no sea la herramienta más adecuada para hacerlo, pero se puede hacer.

Un detalle práctico: dependiendo de tu EA/tus indicadores/tu intervalo de optimización, las optimizaciones automáticas pueden comer mucho tiempo. Quiero decir: para reoptimizar los parámetros para el día siguiente, no necesitas 5 minutos sino 5 días :-(.

Preguntas:

1.) ¿has probado tu idea a mano? ¿Fue un éxito?

2.) ¿Por qué 2 meses de intervalo de reoptimización? ¿Por qué no 1,5 o 2,5?

3.) ¿Qué significa exactamente "mejor resultado"? ¿Prefieres 1000$ de beneficio después de 500$ de reducción, o mejor 600$ de beneficio con 100$ de reducción? ¿Prefiere un sistema que ha hecho 2000 $ (la primera semana a 2200, las siguientes 7 semanas a 2000), o prefiere otro sistema que ha hecho 100..200 $ cada semana (totalmente 1300 $)?

 

Creo que lo mejor es optimizar a mano y encontrar los mejores parámetros para 2006 y luego probarlos en 2007. Si ambos muestran resultados similares, compruebo el periodo 2004-2007. Si eso va bien, mantengo estos parámetros.

Si optimizas todos los meses, el EA no será capaz de operar normalmente - ya lo he comprobado. El mejor resultado de optimización se obtuvo en una optimización anual.

También puede optimizar para las condiciones del mercado. Los periodos de tendencia deben utilizar un conjunto de parámetros, los periodos de mercado lento/mercado lateral - otro conjunto. Pero, ¿quién va a decir qué período es ahora?

La reoptimización diaria da un resultado deficiente.

Ah y sobre los datos que hicieron que el EA funcionara mal - no te preocupes. Tuve el mismo resultado cuando cargué los datos de EUR/USD en los datos de GBP/USD. El resultado fue una mezcla de cotizaciones. Si borras las cotizaciones y reinicias MT4 en modo offline y luego subes sólo un conjunto de cotizaciones (las correctas), debería funcionar bien.

También para comprobar si el modelado está bien, tengo unas cuantas copias separadas de MTs, y compruebo los EAs en diferentes MTs de diferentes brokers. Da un poco de resultados diferentes, pero nada especial (ayuda a identificar los problemas)

 
autopips:
todo lo que se puede describir exactamente, también se puede programar. Quizás mq4 no sea la herramienta más adecuada para hacerlo, pero se puede hacer.

Un detalle práctico: dependiendo de su EA/sus indicadores/su intervalo de optimización, las optimizaciones automáticas pueden consumir mucho tiempo. Quiero decir: para reoptimizar los parámetros para el día siguiente, no necesitas 5 minutos sino 5 días :-(.

Preguntas:

1.) ¿has probado tu idea a mano? ¿Fue un éxito?

2.) ¿Por qué 2 meses de intervalo de reoptimización? ¿Por qué no 1,5 o 2,5?

3.) ¿Qué significa exactamente "mejor resultado"? ¿Prefieres 1000$ de beneficio después de 500$ de drawdown, o mejor 600$ de beneficio con 100$ de drawdown? ¿Prefiere un sistema que ha hecho 2000 $ (la primera semana a 2200, las siguientes 7 semanas a 2000), o prefiere otro sistema que ha hecho 100..200 $ cada semana (totalmente 1300 $)?

¡Si, probablemente es necesario codificar un nuevo programa para ayudar a mt4 en este proceso, de todas formas estoy de acuerdo en que se puede hacer! La idea no es mala, pero como usted sabe el mercado está cambiando continuamente, por lo que una buena manera de dejar un EA estar siempre en juego es volver a optimizar todos los días, y aquí vienen la necesidad de un proceso automático. Mi EA hace una operación cada 4 horas (o cada 8 o 12 o 16..etc..), al comienzo de la vela de 4 horas mira si es el caso de entrar o salir del mercado, y tan pronto como se tomó o salió de la posición que esperar otros 4 horas o más, por lo que no necesitamos un tickbytick 90% modeiling calidad, la optimización (que uno puede requerir 1days de trabajo de la CPU) requieren 5-10 minutos y no más (y los resultados son los mismos que el 90% mod calidad o forwardtest), mi idea es dejar que el EA se overoptimized todos los días, una buena manera puede ser dejar que el EA comprobar en el 00.¡00 (por ejemplo) un archivo xml en un servidor remoto (el servidor de mi oficina) y descargar la configuración de ese archivo (como el indicador de noticias), obviamente en el otro lado (el servidor que dará el xml al EA) estaré yo que haga la optimización día a día, o puede haber otro programa que en conjunto con mt4 optimice y ponga los resultados en el archivo xml de forma totalmente automática!

 
mcbalta:

4. Las olas del mercado de divisas cambian año tras año. Si un sistema funciona un año, al año siguiente puede fallar. Por lo tanto, un experto debe ser educado durante muchos años.

Exactamente tienes razón, creo que son cambiantes mes a mes también (tal vez hay un mes de baja volatilidad y poderosa tendencia a la baja, el siguiente mes es de mercado totalmente agitado con alta volatilidad, etc.. un EA si esta optimizado para el mes anterior, en el mes siguiente tendra una mentalidad de seguir la tendencia, y desperdiciara mucho dinero en el mes agitado), pero si te fijas, el "cambio" de la condicion del mercado a otra no es algo que ocurra en 1 minuto, si el mercado esta cambiando continuamente pero cambia lentamente, aquel trader que sea bueno y note que está terminando el periodo de tendencia y comenzando el periodo de choppy (que puede durar un mes o una semana o un año, no hay diferencia) cambiará su estrategia y tendrá beneficios, aquel otro trader que no entienda el cambio y continúe operando con mentalidad de seguir la tendencia (solo en este ejemplo) perderá mucho dinero, y al final del mes mirará el gráfico y dirá: "bueno, el mercado ha picado todo este mes, el último mes iba en tendencia bajista sin picado.. ahora lo veo claro, he operado el mes picado como si fuera un mes en tendencia! que estúpido soy!".

¡Si optimizamos el ea día a día, el ea entenderá y cambiará día a día su estrategia de trading, de trending a choppy, y tendrá beneficios en el primer y en el segundo mes también! (asumiendo que usted tiene un buen ea adecuado para operar tanto con tendencia como con choppy [obviamente con diferentes configuraciones]).

Esto es lo que quiero decir, el mercado cambia continuamente, es un mercado dinámico, los ea's fallan porque no son dinámicos. ¿Pero qué pasa si un EA se vuelve dinámico?

 

Ayuda para fusionar datos de ticks

Hola,

Estoy buscando desarrolladores de Delphi (o Java, o C#) para que me ayuden a fusionar los datos de los ticks que he recopilado. Tengo varios ordenadores con diferentes proveedores de internet que registran cada tick de 2 brokers. Quiero fusionar todos estos ticks recogidos de los diferentes ordenadores en 2 bases de datos (para cada uno de los 2 brokers). El desarrollador(es) que quiera ayudarme tendrá acceso a todos los datos de tick que he recogido hasta ahora - desde el 1 de enero de 2007. Por favor, envíeme un mensaje por correo electrónico a: hiller159 [at] yahoo [dot] com

 

Gracias

FX_Babe

holyguy7:
Paso apaso, cómo obtener mejores resultados de Backtesting

1. Vaya a descargar los datos de MT4 para el par de divisas que desea backtest encontrado AQUÍ. Asegúrese de descargar los datos M1. Debe darle datos para cada minuto todo el camino de regreso a 2004 (alrededor de 1,5 años de datos de fondo).

2. Después de descomprimir los datos en su disco duro, necesita importar los datos en Metatrader 4.

3. Abra Metatrader 4 (inicie el programa)

4. 4. Vaya a su Centro de Historia en Metatrader 4. Pulse F2 en su teclado. O haga clic en la parte superior de Metatrader Herramientas y elija Centro de Historial

5. Abra Forex, abra el par de divisas a importar y abra M1

6. Haga clic en Importar y busque la ubicación donde descomprimió los Datos para el par de divisas.

7. 7. Asegúrese de que el tipo de archivo está en Metaquotes files. 8. Haga clic en Abrir y Aceptar. Luego cierre.

8. Ahora, en la ventana del Navegador en el lado izquierdo de su programa Metatrader 4, abra Scripts. Debería estar justo debajo de Indicadores personalizados.

9. Abra el gráfico offline yendo a File- Openoffline - SELECT y abra el Par en M1 Timeframe.

10. Debe tener el gráfico M1 (offline) abierto del par de divisas. Debe hacer doble clic en el script del Conversor de Períodos.

10. Haga clic en la pestaña Input y debería ver el Valor como 3. Necesita cambiar el valor a 5 (M5), 15 (M15), 30 (M30), 60 (H1), 240 (H4), 1440 (D1).

11. Ahora, haga clic en la pestaña Herramientas- Opciones- Gráficos y cambie las barras máximas en el historial y las barras máximas en el gráfico a 999999999999 y haga clic en Aceptar.

Básicamente, está convirtiendo los datos M1 que importó en los diferentes marcos temporales que quiere probar. Usted puede hacer uno a la vez para hacer todos ellos.

Yo suelo empezar y elegir 5 y luego hacer clic en OK. Luego hago doble clic de nuevo en el Convertidor de Período y cambio el valor a 15 y luego hago clic en OK, luego hago clic de nuevo y cambio el valor a 30 y luego hago clic en OK, hasta que haya completado los marcos de tiempo.

NOTA: Le dará una advertencia, "¿Realmente desea detener 'period_converter' y ejecutar 'period_converter' en el gráfico M1?

Simplemente haga clic en SÍ y luego haga doble clic en el period_converter de nuevo para continuar convirtiendo los datos M1 a todos los marcos temporales.

He hecho esto con todos los pares de divisas que puedo descargar en todos los marcos temporales. Es bueno tener esto ya que te da una idea de si algo va a funcionar o no.

Espero que esto ayude.
 
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?

Aquí hay un enlace a un artículo ruso que discute la auto-optimización de EAs.

Автоматическая оптимизация торгового робота в процессе реальной торговли - Статьи по MQL4

y es un enlace a un sitio web para traducir al inglés.

AltaVista - Traducción de Babel Fish

Wackena

 
Wackena:
Aquí hay un enlace a un artículo ruso que habla de la auto-optimización de los EAs.

Автоматическая оптимизация торгового робота в процессе реальной торговли - Статьи по MQL4

y es un enlace a un sitio web para traducir al inglés.

AltaVista - Babel Fish Traducción

Wackena

Hola, gracias por tu respuesta, sí ya lo encontré hace unas semanas, de todas formas gracias por tu ayuda, ¡es algo muy bueno!

Razón de la queja: