Backtesting/Optimización - página 15

 
Ducati:
Herbert,

Sí, cambió inmediatamente después de descargar la versión 200. Me olvidé por completo de que había descargado una nueva versión.

Yo también acabo de descargar una nueva versión de metatrader de la web de metatrader y es la versión 4 build 200 y no me deja importar los datos históricos de Alpari. Selecciono el archivo, pero no pasa nada. ¡Esto es una mierda!

Puedes repetirlo.

Presenté un informe de error en MetaQuote, pero no recibí ninguna respuesta al respecto.

A preguntas similares en el foro de MetaQuote sólo se responde con: "Se ha mejorado" bueno dudo que seamos solo nosotros los que tenemos problemas con este comportamiento.

Para ser honesto: Si realmente se ha mejorado algo y debo rehacer toda la optimización de mis expertos, respiraría hondo y lo haría, pero estos datos importados no son compatibles con todas mis pruebas anteriores.

Todavía debería permitirnos elegir entre el nuevo método de descarga (desde MetaQuote?) y la importación desde otra fuente como Alpari.

 

Por suerte todavía tengo la compilación 198 en mi ordenador. Sólo voy a copiar esa carpeta.

 

Obtenga un 99% de calidad de modelado

He visto esto en otro foro. ¿Es algo que podemos utilizar?

Paul Dawidowicz 16.11.06 05:46

Slawa,

Yo solía generar un archivo fxt a partir de los datos de los ticks y luego lo movía al directorio del historial, así conseguía un 99% de calidad de modelado.

con la nueva actualización ignora el archivo fxt generado, y la calidad en el mismo EA, M1 bajó al 25%

la ultima version 198 era buena ahora no se que hacer con los datos de tick que tengo y me gustaria usar para hacer backtest

Slawa 16.11.06 10:32

Cambiar la versión de fxt a 403.

 

El hilo de Phoenix tiene una excelente guía sobre backtesting EA también.

Ahora que la versión 200 ha salido, ya no tienes que preocuparte de descargar el historial de cotizaciones manualmente.

https://c.mql5.com/forextsd/forum/162/phoenix-2007-how-to-optimize-phoenix.pdf

 

es un error: metatrader lo sobrescribe.

haz clic con el botón derecho del ratón en tu archivo de datos fxt y establece "sólo lectura" en la pestaña de propiedades, esto evitará que se borre, de esta manera soy capaz de conseguir que los datos de tick funcionen también con la build 200.

¿sabéis como puedo conseguir un tf mayor de 1 minuto? ¿algún script?

 

La forma correcta de hacer backtest desde el banco de datos de Alpari

Conseguí esto de otro sitio y quiero asegurarme de que ustedes están haciendo backtesting con los datos correctos del banco de datos de Alpari;

Parece que hay mucha confusión acerca de los problemas de fiabilidad y la forma de lograr los resultados más precisos posibles. No soy un gurú de la programación o el comercio, pero creo que puedo proporcionar un pequeño FAQ útil en backtesting utilizando MT4.

Un buen backtesting es importante cuando se considera un enfoque de comercio de sistemas, porque usted quiere tener una idea de la viabilidad de su idea antes de ir en vivo con ella [al menos yo]. Si haces backtesting con una calidad de modelo del 50%, eh... no puedes estar seguro de lo que pasa. Si tienes una calidad de modelado del 90%, puedes tener más confianza en cómo habría funcionado realmente tu sistema.

+=========================+

|FAQ MT4 Backtesting v1.0 de CMBoogs

+=========================+

Contenido:

- Sección 1: ¿Es fiable el Backtesting de MT4?

- Sección 2: Descargar/Importar/Convertir datos de 1M

- Sección 3: Configuración del Backtester

- Sección 4: Otras cuestiones

Sección 1: ¿Es fiable el Backtesting de MT4?

Esta pregunta suele ser bastante acalorada y la gente llega incluso a flamearse por ello. El backtesting en MT4 puede ser fiable, pero su fiabilidad depende de los datos con los que se realiza el backtesting. Los datos de la cuenta de demostración que se transmiten a través de un corredor de cuenta de demostración tiene lagunas, agujeros, y básicamente no es adecuado para las pruebas.

Cuando se hace un backtesting, usted quiere usar el MODELO DE CADA TICK y tener datos precisos de 1M para obtener la prueba más precisa posible. Los datos de 1M son importantes, porque el MODELO DE CADA TICK utiliza el marco de tiempo más pequeño disponible y "falsifica" el movimiento del precio dentro de las barras más pequeñas disponibles. Tener datos de 1M permite que la interpolación fractal dentro de las barras ocurra sólo dentro del rango muy estrecho de las barras de 1M.

La solución más fácil [y única] para esto es utilizar buenos datos de 1M. Los datos más completos que se pueden obtener [al menos de forma gratuita] son los del banco de datos de Alpari. Tienen datos en formato nativo MT, en el marco temporal de 1M hasta mediados de 2004. Sin embargo, la configuración de los datos para su uso requiere algo de trabajo.

---------------------------------------------------------------------------

Sección 2: Descarga/importación/conversión de datos del 1M

(1) Necesita modificar MT4 para permitir más barras. Vaya al menú de Herramientas, luego vaya a Opciones [o simplemente presione C+O]. Vaya a la pestaña de gráficos y ponga 9999999999999 para las barras en el historial. MT4 por defecto pondrá el máximo.

[Nota: La razón por la que MT4 tiene un conteo limitado de barras para empezar es porque más barras (particularmente cuando se usa en modelos de backtesting) significa que MT4 va a comer más espacio de HD].

(2) Descargue los datos de 1M del banco de datos de Alpari en cualquier moneda que vaya a probar.

(3) Importe los datos a MT4 utilizando el Centro de Historia. Vaya a Herramientas => Centro de Historia [o pulse F2]. Asegúrese de importarlos en la divisa adecuada y en el marco temporal M1. No querrá que los datos de EURUSD sean importantes en USDCAD por ejemplo.

(4) Convierte los datos usando el script de conversión de periodos incluido en MT4 [sólo tienes 1M de barras ahora mismo]. Tiene que abrir los gráficos fuera de línea para hacer esto.

-Vaya al Menú Archivo, luego Abrir Offline, seleccione los datos de 1M de la moneda que necesita convertir. Aparecerá un gráfico con esos datos.

-Luego arrastre y suelte el script period_converter en el gráfico offline. El int ExtPeriodMultiplier que puede modificar es el multiplicador que está aplicando al gráfico. Así que si lo hace 5, convertirá datos de 1M en datos de 5M.

-Para simplificar, es necesario ejecutar el convertidor de período con los siguientes enteros para obtener todos los marcos de tiempo de backtesting: 5,15,30,60,240, y 1440.

[NOTA: también puede convertir los datos de 1M a marcos de tiempo no nativos de MT4 si quiere hacer algún análisis de indicadores o algo en otro marco de tiempo].

Enhorabuena, ya ha importado y convertido los datos en MT4. Ahora, para ilustrar uno de mis puntos anteriores, abra una divisa de la que haya importado datos. Observe la diferencia en las barras de los datos descargados en comparación con los datos transmitidos desde un corredor de demostración [Por lo tanto, si usted descargó datos de 1M de julio 04 a agosto 05, mire el gráfico al final de agosto 05 y al principio de septiembre 05]. Notará que las barras (en cada franja de tiempo si las ha convertido correctamente) de su período de tiempo descargado serán más completas.

------------------------------------------------------------------

Sección 3: Configuración del Backtester

Ahora que ha importado con éxito los datos completos, hay algunas cosas más que debe hacer para ejecutar un backtest fiable.

(1) Marque la opción de recalcular la próxima vez que ejecute un backtest, porque necesita que el backtester utilice sus nuevos y felices datos (lo que no hará a menos que usted se lo indique). Cada vez que importas nuevos datos, necesitas recalcular (yo recalculo cada pocas pruebas sólo para sentirme seguro, tal vez es un reflejo de los problemas de confianza internos, pero eso es para otro FAQ).

(2) Marque la opción de utilizar la fecha y establezca el rango de fechas sólo en un período de tiempo en el que tenga buenos datos fiables. De este modo, sólo se hace backtesting de lo bueno. Esto se reflejará en el porcentaje de calidad del modelo.

(3) Asegúrese de que el modelo está ajustado a TODOS LOS TICK. Si no lo está, todo este trabajo duro que acabamos de hacer fue para nada. He abordado por qué hacemos esto antes en el FAQ.

------------------------------------------------------------------------

Sección 4: Otras cuestiones

MT4 es un trabajo en progreso, a veces hay errores extraños que surgen en el backtesting. Sin embargo, por lo general, cuando usted piensa que tiene un error en sus manos, hay algo mal con su código. No puedo enfatizar lo suficiente lo importante que es la depuración. Si tienes problemas, revisa primero tu código porque probablemente sea el problema. Si realmente crees que tienes un error legítimo en tus manos, publícalo en los foros de MT4.

Debido a que usted no está realmente haciendo un backtesting sobre cada tick que sucedió [usted está tratando con una interpolación sobre datos de 1M], todavía no es una reproducción perfecta de lo que realmente sucedió en los mercados. Debido a esto, los EAs de scalping de 1M y 5M que entran y salen de las operaciones muy rápidamente se encontrarán con algunos problemas sólo por esta limitación. Cuanto más largo sea el marco de tiempo en el que opera, menos probable es que sus pruebas se vean obstaculizadas por esto.

Bueno, eso es todo lo que puedo pensar ahora. He leído esto de nuevo, creo que lo he dejado todo claro y que tengo los pasos correctamente descritos. Si usted nota un error, hágamelo saber, y lo corregiré en mi próxima versión del MT4 Backtesting FAQ.

 

¿Cómo se hace el backtest?

Cuando cargo mi EA para el backtest y luego voy a la Configuración de Expertos, ¿por qué hay 4 opciones separadas para cada fila?

Por ejemplo: SL tiene Valor, Inicio, Paso y Parada?

Sólo quiero establecer SL a 15

Gracias

 
matrixebiz:
Cuando cargo mi EA para el backtest y luego voy a la Configuración de Expertos, ¿por qué hay 4 opciones separadas para cada fila?

EG: ¿SL tiene valor, inicio, paso y parada?

Sólo quiero establecer SL a 15

Gracias

Es para la optimización de los ajustes. Por ejemplo

sl=15

comienza desde 5 con el paso 1 y se detiene con 20.

Así que si usted está optimizando para encontrar la mejor configuración que se necesita.

En cuanto al backtesting y la optimización de los ajustes tenemos los siguientes enlaces:

- Backtest de la calidad de los modelos;

- MetaTrader Strategy Tester, parte 2;

- MetaTrader Strategy Tester, parte 1;

- M1 Tick by Tick Data for BackTesting.

Asegúrese de que tiene datos suficientes para hacer backtest con una calidad de modelado del 90%.

 

Datos de backtest de MT4 - de dónde provienen

Hola

La versión 200 de MT4 tiene ahora la capacidad de descargar el historial de 1 minuto desde 1999. Maravilloso para probar cualquier estrategia a largo plazo. El problema es que, si hago un backtest con estos datos, ¿puedo duplicar los resultados con cualquier fuente de datos real? ¿Estos datos provienen de un corredor del que podemos obtener un feed en vivo representativo?

Para aclarar, ¿puedo registrarme en un corredor y obtener esos mismos datos como una alimentación en vivo? He descubierto que las pequeñas diferencias en los datos de los distintos corredores pueden suponer grandes diferencias en los niveles de pérdidas y ganancias. Si hago un backtest de algo y obtiene un beneficio, entonces si puedo operar en vivo con los mismos datos, hay una posibilidad de que obtenga un beneficio.

 
tururo:
Hola

La versión 200 de MT4 ahora tiene la capacidad de descargar el historial de 1 minuto desde 1999. Maravilloso para probar cualquier estrategia a largo plazo. El problema es que, si hago un backtest con estos datos, ¿puedo duplicar los resultados con cualquier fuente de datos real? ¿Son estos datos procedentes de un corredor del que podamos obtener una alimentación en vivo representativa?

Para aclarar, ¿puedo inscribirme en un broker y obtener esos mismos datos en directo? He comprobado que pequeñas diferencias en los datos de los distintos brokers pueden suponer grandes diferencias en los niveles de pérdidas y ganancias. Si hago un backtest de algo y obtiene un beneficio, entonces si puedo operar en vivo con los mismos datos, existe la posibilidad de que obtenga un beneficio.

Según tengo entendido este build 200 por lo que creo que los datos provienen de alguna parte. Creo que no son los datos de tu broker o los míos.

Por eso estoy usando los datos de Alpari (para backtesting/optimización) hasta ahora.

La gente que conoce mejor este tema puede corregirme si me equivoco.