Los resultados de la optimización difieren de los de las pruebas individuales

 

Optimizo el EA. Luego hago una prueba única basada en los resultados. Los resultados de la optimización y las pruebas individuales no siempre coinciden.

Secuencia de acciones:
1. Selecciono un par (por ejemplo, AudUsd) en el optimizador y establezco el periodo 2010.08.23 - 2010.10.30. El Asesor Experto en la lista y el marco de tiempo H1 ya están seleccionados - ahora sólo pruebo un Asesor Experto.
2. Introduzco rangos de optimización de parámetros.
3. Abro el historial de minutos de AudUsd haciendo doble clic en el archivo de citas. Haga clic en Descargar. Después de la descarga, abro el reloj y hago clic en Descargar de nuevo. Pregunta: "¿Recalculará todos los plazos? Respondo que sí.
4. Optimizo 4 o 5 parámetros y espero unas horas. Me gustaría ver los resultados de la optimización en "AudUsd_1_optim.txt" adjunto al archivo.
5. Seleccioné la línea que me convenía en "Resultados de la optimización" (en mi ejemplo es la número 2183 en el archivo "AudUsd_1_optim.txt") y hice doble clic en sus parámetros en el probador. No cambio y no toco nada más.
6. Comienzo la prueba única. Miro la pestaña Informe y veo un beneficio y una reducción completamente diferentes (201,78/-116,28), que no coinciden con los resultados de la optimización (162,36/-34,25) para esta combinación de parámetros. Hay un error de desajuste de volúmenes en los registros, pero mi estrategia no utiliza volúmenes de ninguna manera, por lo que creo que este error no es crítico y no puede afectar mucho a los resultados. El número de operaciones y todo lo demás también es diferente. La lista de pedidos de esta prueba está disponible en el archivo "AudUsd_2_Orders.txt" y el registro se puede encontrar en "AudUsd_2.log".
7. Estoy muy sorprendido. Aunque poco a poco me voy acostumbrando.
8. Repito el paso 3.
9. Comienzo de nuevo las pruebas individuales utilizando los mismos parámetros. Ahora obtengo beneficios y reducciones que coinciden con la optimización. La lista de pedidos de esta prueba está contenida en "AudUsd_1_Orders.txt" y el registro está en "AudUsd_1.log".

Lleva así más de dos meses (optimizo cada semana). Este fallo es periódico, no he encontrado ningún patrón claro. No depende de la hora de inicio de la optimización y una pareja. A veces, los resultados de la optimización y de las siguientes pruebas coinciden, pero otras veces no.
Francamente, ya estoy cansado de ello. Toda la noche está contando y optimizando algo. Y luego tengo que volver a optimizarlo porque no puedo entender en qué resultados debo confiar. Además, no estoy seguro de que incluso una coincidencia haya pasado a ser una variante correcta y no un glitchy del trabajo del probador.

Quiero decirte de entrada que he buscado y leído temas similares en foros. Los he buscado y leído tanto en el foro de Alpari como aquí. Y en Yandex también. Llevo varias semanas tratando de encontrar información. Pero lo único que encontré fueron las palabras de los desarrolladores sobre la "dispersión flotante" de la que dependen los resultados de las pruebas. Y consejos para probar las estrategias en los fines de semana (eso es exactamente lo que hago - no funciona). Aunque, a mi entender, no parece más que una excusa para no querer resolver de alguna manera este asunto. Al fin y al cabo, para cerrar el tema del "spread flotante" basta con añadir el campo "Spread" en los parámetros del optimizador rellenado por los usuarios a su discreción, y ya se puede realizar una adecuada optimización y comparación de estrategias por parámetros. No veo ningún sentido en memorizar el último spread del mercado para optimizarlo.

Tengo la última versión de Metatrader descargada del sitio web de Alpari - 4.00.226. Se observa exactamente el mismo fallo en otros dos ordenadores, con la misma versión, pero instalados en momentos diferentes con algunos meses de diferencia. Los ajustes y la puntuación son los mismos que en la primera MT.
Sólo hago pruebas y optimización en una cuenta demo en Alpari. No he conectado ninguna otra cuenta. El servidor Alpari-Demo se encuentra en la configuración - Alpari NZ Limited. Tampoco he tocado el servidor. No he cambiado las comillas manualmente, no he añadido las mías. Metatrader está siempre en línea (siempre tengo Internet en mi ordenador). Realizo la optimización el sábado y el domingo. El spread, en teoría, en esos días no debería cambiar y el fallo con el "último spread" probablemente no tenga nada que ver. Los registros adjuntos son del sábado 30 de octubre.
El periodo de prueba siempre se indica explícitamente.

Las preguntas son:
1. ¿Cómo puede ocurrir? ¿Cuál es la razón?
2. Si se trata de un fallo de los probadores, ¿cuándo lo arreglarán? ¿Y qué debo hacer para que todo coincida ahora, en esta versión?
3. Si es culpa mía, ¿qué estoy haciendo mal y cómo debo hacerlo?

Estoy dispuesto a proporcionar el código real completo del Asesor Experto (de todos modos es sólo una versión muy truncada para la optimización) y un conjunto de parámetros de prueba al desarrollador de Metatrader en su mensaje personal.

Archivos adjuntos:
audusd.zip  116 kb
 

He aquí otro ejemplo. Acabo de empezar a revisar la optimización nocturna del UsdJpy. Justo después de la optimización, sin cambiar las comillas y sin tocarlas, he hecho doble clic en los valores de los parámetros seleccionados del resultado 2631 (profit 117.07 y drawdown 34.86) en el probador y he ejecutado una única prueba utilizando estos parámetros. Obtuve un beneficio de -3925 y una reducción de -4049,04. La diferencia es notable...
El informe dice que hay unos 51 desajustes en los gráficos. Hay 51 entradas en el registro al respecto. Pero todas las entradas se refieren sólo a los volúmenes, y no los uso en ninguna parte, ni siquiera en los indicadores (no uso indicadores).
El periodo de optimización y prueba es el mismo que en mi primer post. Secuencia de acciones - lo mismo, pero con la adición de la ejecución del probador de control después de p.3 para comprobar la ausencia de errores desajuste. Todas las demás condiciones son las mismas. La optimización se llevó a cabo en la noche del sábado al domingo - el mercado, y por lo tanto la propagación debe ser congelado.

Me sorprendió de nuevo. Abrí el "Archivo de Cotizaciones", pulsé Subir en este par y permití recalcular todos los plazos.
Vuelvo a hacer doble clic para insertar los parámetros en el probador desde los resultados de la optimización y empiezo a probar. Los resultados son ahora los mismos que en la optimización. No hay errores de desajuste en el informe y el registro.

Estoy añadiendo preguntas (las sigo numerando):
4. ¿Dónde aparecieron las discrepancias después de la optimización (y tal vez durante la misma) si antes de la optimización hice una prueba a propósito y me aseguré de que después de cargar el par en "Quotes Archive" (entre el punto 3 y el punto 4 de mi mensaje anterior) no había discrepancias?
5. ¿Cómo puedo asegurarme de que todos los resultados de la optimización se obtienen en las cotizaciones correctas y de que no ha habido ningún fallo en el proceso de optimización?
6. ¿Cómo es que los desajustes de volumen tienen un impacto tan crítico en los resultados de las pruebas que los volúmenes no utilizan?

Z.I. Tengo el antivirus instalado y funcionando. Pero tanto el ejecutable de Metatrader como toda su carpeta con todas las subcarpetas y archivos están en excepciones. Mi otro ordenador no tiene ningún antivirus, pero esos fallos están presentes. Significa que excluimos el antivirus. El mismo fallo en tres ordenadores diferentes. Excluimos los problemas de disco y hardware y la posible influencia de los programas circundantes. Algo está mal en Metatrader, hace algo mal con las cotizaciones.

He visto los mismos fallos de optimización en otras estrategias fundamentalmente diferentes. Así que, en esencia, no depende realmente de mi Asesor Experto. Es que antes no era tan importante para mí y no lo probaba lo suficiente. Ahora hago docenas de optimizaciones a la semana, y aún haré más. Y ya estamos hablando de dinero real. Por favor, aconséjeme sobre las acciones correctas o modifique el probador y el optimizador. Gracias.

El archivo contiene los siguientes ficheros:
UsdJpy_1_optim.txt - resultados de la optimización
UsdJpy_1_Orders.txt - lista de órdenes (resultados) de una única ejecución coincidente con la optimización
UsdJpy_1.log - registro de esta prueba
UsdJpy_1.htm - informe al respecto
UsdJpy_2_Orders.txt - lista de órdenes (resultados) de una sola ejecución con una gran pérdida (con desajustes)
UsdJpy_2.log - registro de esta prueba
UsdJpy_2.htm - informe al respecto

Archivos adjuntos:
usdjpy.zip  179 kb
 

Ahora es aún más interesante. Esto es en el tercer ordenador y en un par diferente. Lo hago todo según el esquema de mi primer post. Tras varias horas de optimización, compruebo los resultados. Pego el conjunto de parámetros seleccionados haciendo doble clic (sin tocar ni cambiar nada más) y obtengo resultados absolutamente diferentes a los de la cadena de optimización con los mismos parámetros. Compruebo el desajuste de las cotizaciones. Aunque he descargado y recalculado las cotizaciones en "Archivo" antes de la optimización. Ok, creo que, tal vez el recálculo de la cotización ayudará. Lanzo "Recalcular todos los plazos" y lo pruebo de nuevo. Las discrepancias han desaparecido. Pero ahora he calculado una tercera variante de los resultados que no coincide en absoluto con las dos primeras. *smiley_with_great_eyes*

Algunos intentos más de recalcular las cotizaciones en el Archivo y de hacer pruebas. Todos los resultados coinciden ahora con la última y tercera opción. ¡Hurra, hemos encontrado la variante correcta! Pero se ha desperdiciado medio día de trabajo en la optimización y los resultados de ésta son obviamente incorrectos. Es decir, tengo que reinstalar la optimización por la noche y tener tiempo de levantarme temprano por la mañana para elegir los parámetros adecuados para la semana siguiente. Además, no puede estar seguro de que sean correctas.

Me he dado cuenta de algunos detalles más. En primer lugar, el número de "Barras en el historial" difiere en los informes de los probadores para las distintas variantes. En segundo lugar, incluso con la misma cantidad de barras en el historial, los resultados pueden ser diferentes. En tercer lugar, mi Asesor Experto trabaja en velas horarias y abre las primeras órdenes de la serie estrictamente a una hora y 00 minutos determinados, es decir, en una vela de apertura. Pero estas órdenes se abren a diferentes precios en diferentes resultados. Esto se puede ver en los informes que adjunté en mis primeros mensajes, así que no voy a escribir más registros por el momento. Si necesitas algo más, lo publicaré.

¿Soy el único que tiene este problema con el probador?

 

Y más preguntas sobre el "Archivo de citas", ya que se ha tocado el tema de su conversión. Puede decirme dónde leerlo en detalle o responder a mis preguntas aquí.

Hago todas las acciones en sábado-domingo, es decir, el archivo de citas no debe ser cambiado.

Abro un par con una ventana gráfica no abierta durante la última semana, es decir, entiendo que las cotizaciones de esta semana no se han descargado en el archivo local. Pulso Descargar. El monitor de tráfico instalado en este ordenador muestra las peticiones de MT al servidor y los bloques de datos devueltos desde el servidor. Todo es correcto. Tras la descarga, vuelvo a hacer clic en Descargar. Pero aquí tengo dos opciones: o sigo contando todos los plazos (lo cual es lógico cuando la descarga se completa por completo) o vuelvo a descargar algo (y el monitor de tráfico lo confirma) - no está claro por qué no se descargó al principio. Y si lo pulsas varias veces, la descarga del servidor puede ser después de un recálculo, lo cual no es para nada lógico y comprensible. Si ya se ha descargado, se ha recalculado, ¿qué más se está descargando? No cierro el archivo entre descargas, no cambio el par.

A veces ocurre que después de abrir el archivo pulsando el botón de descarga varias veces seguidas (5 o más), sigue descargando algo del servidor y no sugiere recalcular todos los plazos, sin importar si el archivo con el par se descargó antes (en la apertura anterior del archivo) y si se recalculó entonces. Es como si no se hubiera cargado todo la primera vez, y ahora cada vez que se hace clic, lo que falta se va subiendo poco a poco, pero no todo a la vez. En el monitor se puede ver que no sólo se trata de peticiones al servidor, sino también de bloques de datos devueltos por éste. ¿Por qué y qué no se ha cargado la primera vez? ¿Cuántas veces debemos pulsar el botón de carga para asegurarnos de que se descargan todas las cotizaciones de un par?

Si cierro el Archivo, lo abro de nuevo y hago clic en Recargar, no cargará las cotizaciones ni la primera ni la segunda vez, sino que ofrecerá un recálculo. Se restablece la secuencia lógica de trabajo. ¿Y por qué ocurre esto? ¿Cómo lo entiende? ¿Quizás después de cada descarga debería cerrar el archivo, abrirlo de nuevo y luego hacer el recálculo? Por favor, explique.

¿Se puede hacer que cuando se haga clic para cargar, se comprueben los archivos locales y se carguen todos los archivos necesarios de una sola vez, y luego se recalculen automáticamente todos los plazos? ¿Y puede incorporar el botón "Validar" en el archivo, que mostrará todas las lagunas en el historial, las incoherencias y demás? Y luego, al confirmar el usuario, todo se sacaría automáticamente del servidor y se repararía. Me gustaría utilizar la versión MT4 ya que la migración a la versión 5 va a durar mucho tiempo, y la versión 4 es muy popular y demandada. Y el dinero que tenemos que hacer ahora, en el 4.

Una vez más, MT está conectado a los servidores de demostración de Alpari desde la instalación y nunca han cambiado. En la carpeta del historial del programa sólo hay dos carpetas: Alpari-Demo y descargas. La configuración del número de barras en el historial y en la ventana del gráfico no se ha modificado y sigue siendo la predeterminada también desde la instalación de MT en el ordenador. Pero los resultados de pulsar el botón de descarga son inesperadamente diferentes. ¿Qué ocurre realmente en el Archivo y por qué es tan imprevisible?

 
Lo siento, algo terrible está sucediendo allí
 

Hay un debate paralelo sobre este tema en el foro de Alpari http://forum.alpari.ru/thread58122.html

¿Nadie aquí tiene respuestas o incluso preguntas? ¿Y los desarrolladores también?

 

1. Hay que eliminar los errores de concordancia de los gráficos. Borrar todo el historial de cotizaciones, subir una nueva.
2. Si el corredor tiene un spread flotante, entonces es necesario optimizar y probar en un spread. Preferiblemente en una típica.
3. Comience durante la noche o la noche en una cuenta demo del Asesor Experto y compare los resultados de la demo y del probador. Si las órdenes coinciden aproximadamente, y el número de órdenes no es significativamente diferente, entonces se puede confiar en el probador. Si el comercio no se corresponde con el probador, no debe optimizar en el probador.

Estaría bien ver al menos un informe de los probadores.

 

Para la moneda de diez centavos:

1. Probado en tres ordenadores diferentes, tres instancias diferentes de MT4. Los síntomas son los mismos. Después de cargar las cotizaciones en el "Archivo" lo compruebo ejecutando el probador - no hay discrepancias para el período requerido. Luego lanzo la optimización por el mismo período. Y luego hago pruebas de optimización. Aquí es donde pueden surgir las discrepancias. Es decir, aparecen después de que el Archivo haya descargado y recalculado todo el historial, tras (o durante) la optimización. Es poco probable que borrar el historial sirva de algo en este caso.

2. Alpari tiene un spread flotante. Estoy de acuerdo contigo, hay que probarlo en igualdad de condiciones de mercado. Pero, ¿cómo probarlo en una extensión seleccionada, dónde especificarlo? No pude encontrarlo en MT4.

Es una buena idea. Probablemente lo pruebe. Sólo que tendré que tomarme al menos unos días. Pero sigue sin resolver la cuestión principal: ¿por qué estos fallos con las comillas?

Los informes de los probadores están en los archivos en mis posts anteriores. Incluso para dos pares diferentes en días distintos. En los mismos posts hay una descripción de los ficheros de los archivos. Echa un vistazo.

 

Descargue el historial, recalcule los plazos. Desconéctese de Internet y pruebe.

Este tipo de basura suele indicar que el EA está extremadamente afilado. Las garrapatas no se descargan, se emulan. Y si se abre en el mercado, el más mínimo cambio de la historia lleva a esta tontería.

Se puede obtener un resultado similar de esta manera:

El ordenador ha estado conectado a Internet durante mucho tiempo y el gráfico está abierto en H1.

Apagamos Internet y empezamos a hacer pruebas. El Asesor Experto nos escribe que descarga el historial de M5, M1 y esto es cuando se desconecta Internet. Por lo tanto, hay muchas trampas. También sabemos qué tipo de historial descarga cuando se conecta a Internet.

 
Gracias, Mislaid. Eso es exactamente lo que intentaré hacer en las próximas optimizaciones. En el foro de Alpari me han hablado hoy también de un algoritmo así. Aunque, francamente, o no entiendo la lógica del programa o los desarrolladores tienen alguna actitud extraña hacia la parte más importante del optimizador - el archivo de citas. Por lo tanto, todavía quiero escuchar las aclaraciones de los desarrolladores sobre este tema y las respuestas a las preguntas. ¿Y qué historial descarga MT de Internet? No sé nada al respecto. Explica, por favor, o dame un enlace donde leer.
 
ReasonMan:
Gracias Mislaid. Eso es exactamente lo que intentaré hacer con las próximas optimizaciones. Hoy también me han hablado de dicho algoritmo en el foro de Alpari. Lo probaré... Aunque, francamente, o bien no entiendo la lógica del programa o los desarrolladores tienen alguna actitud extraña hacia la parte más importante del optimizador: el archivo de citas. Así que todavía quiero escuchar las aclaraciones de los desarrolladores sobre este tema y las respuestas a las preguntas. ¿Y qué tipo de historial descarga MT de Internet? No sé nada al respecto. Explica, por favor, o dame un enlace donde leer.

No lo sé todo, conclusiones de la experiencia personal.

Veo que ya ha puesto en marcha suficientes experimentos para poder formular hipótesis.

Ha subido un archivo de citas sobre las actas. Se descarga desde el servidor MQ. Si te has dado cuenta, ha desaparecido en los últimos días, o incluso semanas. Hipótesis: el archivo de las últimas cotizaciones en el servidor MQ puede no estar formado todavía. El resto del historial se descarga del servidor a través de "Actualizar".

Otro experimento. Matas la historia. Intenta descargar los minutos (cinco minutos) a través de "Actualizar". Una pequeña parte del historial se descargará del servidor. Hipótesis: sólo una parte limitada del último historial se almacena en el servidor del DC.

Hipótesis: el probador descarga М5, М1 del archivo en el ordenador y lo completa desde el servidor MQ. Si el archivo en el servidor aún no se ha generado, estos datos se emulan. Lo mismo si no hay conexión a Internet. ¿Los datos emulados no se guardarán?

Una vez a la semana descargo el historial de 27 pares de divisas utilizando la función "Actualizar". En algunos pares se descargan más de 10000 barras, aunque las nuevas barras de la semana son unas 7000. Hipótesis: la historia ha cambiado.

Por estos motivos, los resultados de las pruebas pueden no coincidir con los datos más recientes.

Los resultados de las pruebas y los resultados de la demo (micro, real) pueden no coincidir debido a otras razones.

Razón de la queja: