Discusión sobre el artículo "Visualizando la optimización de una estrategia comercial en MetaTrader 5"

 

Artículo publicado Visualizando la optimización de una estrategia comercial en MetaTrader 5:

En el artículo se ha implementado una aplicación MQL con interfaz gráfica para la visualización ampliada del proceso de optimización. La interfaz gráfica ha sido creada con la ayuda de la última versión de la biblioteca EasyAndFast. En ocasiones, a muchos usarios les surge la siguiente pregunta: ¿para qué necesitamos las interfaces gráficas en las aplicaciones MQL? En este artículo se muestra uno de los numerosos casos en los que pueden resultar útiles para los tráders.

Vamos a intentar optimizar los parámetros y ver qué aspecto tienen en el gráfico en el terminal. Ajustes del simulador: símbolo EURUSD, marco temporal H1, rango temporal 2017.01.01 – 2018.01.01.

Fig. 5 – Demostración del resultado del experto Moving Average del paquete estándar.

Fig. 5.  Demostración del resultado del experto Moving Average del paquete estándar.

Como vemos, ha resultado bastante informativo. Casi todos los resultados de este algoritmo comercial son negativos (95.23%). Si aumentamos el rango temporal, los resultados serán aún peores. Pero sabemos que, a la hora de desarrollar un sistema comercial, debemos intentar que la mayoría de los resultados sean positivos. De lo contrario, el algoritmo dará pérdidas, y no será recomendable utilizarlo. Hay que optimizar los parámetros con la mayor cantidad de datos posible e intentar que las transacciones sean cuantas más, mejor. 

Autor: Anatoli Kazharski

 

Es interesante analizar el motivo de la falta de comentarios sobre este artículo.

De hecho, el artículo es otra demostración de una biblioteca gráfica muy buena. Y se muestra una más de sus aplicaciones.

Pero la aplicación en sí, en términos de utilidad en comparación con los artículos anteriores, no aporta nada nuevo.

Hermosa - sí! código fuente - sí! soluciones interesantes - no! Descripción de la conveniencia de la aplicación práctica - no. Es decir, se obtiene una visualización bonita por el mero hecho de serlo. Y qué visualizar no es importante. Lo principal es que exista la posibilidad de hacerlo.

Por eso es incluso difícil decir algo después del artículo. El autor es muy bueno. Su biblioteca ha demostrado una vez más que puede hacer frente a las tareas de visualización. Resulta que el artículo pretende demostrar las posibilidades gráficas de MT5 a aquellos que no las conocen - los principiantes. Pero es difícil para los principiantes, y los no principiantes ya saben de gráficos muy bien. En cuanto a los marcos - muy poco aquí acerca de ellos.

De alguna manera. Una vez más, el autor ha intentado muy duro, no se puede pasar por alto. Pero el resultado final es una imagen animada.

 
al eliminar un Asesor Experto del gráfico, no se activa la desinicialización en la función OnDeinit(), lo que impide procesar correctamente este evento.

¿De qué procesamiento estamos hablando? Yo uso el modo marco todo el tiempo, no he sentido ningún problema con él.

La inicialización del núcleo gráfico significa que el movimiento del cursor del ratón será rastreado y el temporizador se activará. Desafortunadamente, en la versión actual de MetaTrader 5, el temporizador no se activa cuando la optimización se ha completado.

En modo frame, OnInit, OnDeinit, OnTick, OnTrade, OnTradeTransaction y OnTimer son ignorados. Sólo OnChartEvent funciona. ¿Cuáles son los escenarios de uso de OnTimer en modo frame?

Por supuesto, debido a OnChartEvent-exception, requiere la comprobación obligatoria de la presencia de la bandera frame-mode. Usted no tiene MQL_FRAME_MODE.


Curiosamente, si haces una búsqueda general CTRL+SHIFT+F de la palabra "MQL_FRAME_MODE" en ME, estará vacía. Incluso en el ejemplo oficial no hay ninguna palabra al respecto.

Пример обработки результатов оптимизации в тестере стратегий
Пример обработки результатов оптимизации в тестере стратегий
  • votos: 44
  • 2012.06.11
  • MetaQuotes Software Corp.
  • www.mql5.com
Тестер торговых стратегий терминала MetaTrader 5 позволяет получить статистические характеристики торговой системы после окончания каждого прохода тестирования. С введением функций для работы с результатами оптимизации FrameFirst(), FrameFilter(), FrameNext(), FrameInputs() и FrameAdd(), трейдеры получили возможность проводить визуальную...
 
He ejecutado los dos robots de los ejemplos en modo de optimización. No se renderiza nada...
 
El artículo es ciertamente útil y muestra nuevas posibilidades de visualización, pero creo que los gráficos rojos y verdes no son informativos. Sí, se puede decir de ellos que el Asesor Experto fue rentable o no rentable, pero no se puede determinar cuando se hizo un comercio en particular. Sería más conveniente si las operaciones se superpusieran en un gráfico de tiempo con velas y fuera posible ver varios resultados en un gráfico, cuando, dependiendo de los valores de los parámetros optimizados, se abrió y cerró la misma operación. En general, creo que todavía hay margen para el desarrollo de la biblioteca EasyAndFast.
 
Инициализация графического ядра significa que se seguirá el movimiento del cursor del ratón y se activará el temporizador. Desafortunadamente, en la versión actual de MetaTrader 5 , el temporizador no se activa después de completar la optimización. Esperemos que esta característica aparezca en el futuro.

¿No hay manera de iniciar el temporizador desde OnChartEvent?


fxsaber:

¿Cuáles son los escenarios de aplicación de OnTimer en modo frame?

Interfaz.

 
Andrey Khatimlianskii:

¿No se puede iniciar el temporizador desde OnChartEvent?

Sí.

 
Dennis Kirichenko:
He ejecutado los dos robots de los ejemplos en modo de optimización. No se renderiza nada...

Necesito la última versión de la biblioteca.

 
fxsaber:

Sobre este artículo, es interesante analizar el motivo de la falta de comentarios al respecto.

...

No hay problema en que escribas tu versión y demuestres como lo ves, con todo lo que personalmente te falta o con lo que crees que le falta a alguien más. Estaré encantado de leerla.

 
Andrey Khatimlianskii:

¿No se puede iniciar el temporizador desde OnChartEvent?

No lo he probado. Me gustaría tener el resultado esperado, no "funciona así, pero por alguna razón no lo hace".

 
Anatoli Kazharski:

No hay ningún problema en que escribas tu propia versión y demuestres cómo lo ves, con todo lo que te falta personalmente o lo que crees que le falta a otro. Me encantaría leerla.

He publicado parte de ella en QB.