Discusión sobre el artículo "Optimizando la optimización: algunas sencillas ideas"

 

Artículo publicado Optimizando la optimización: algunas sencillas ideas:

El proceso de optimización consume muchos recursos del ordenador o del crédito que tengamos en nuestra cuenta de MQL5-Community y, por otra parte, MT5 no permite optimizar variables de cadena. Este artículo apunta algunas ideas sencillas que pongo en práctica para simplificar o completar el fabuloso sistema optimizador que ofrece MT5, extraídas de mil lecturas en la documentación, en el foro y en artículos.

Una vez que hemos definido la estrategia con la que nuestro EA da órdenes de compra y de venta, ¿ejecutamos el EA en EURUSD... como siempre?. ¿Habrá otro par de divisas en el que la estrategia sea más rentable?. ¿Habrá un conjunto de pares que aproveche la estrategia y multiplique los resultados sin necesidad de recurrir a volumen de lote en progresión geométrica?.…

¿Y si elegimos por inercia EURUSD, elegimos también por inercia como marco temporal del gráfico H1 y luego, si nos defraudan los resultados, cambiamos a EURJPY y H4?.

Además, si pensamos que un 64 bit nos permite despreocuparnos del consumo computacional, ¿nos olvidamos de las combinaciones de parámetros que son ilógicas pero que producen pasos completos del EA en el optimizador y cuyos resultados tenemos que borrar en la hoja de cálculo generada posteriormente?.

Estos "problemillas" los he ido resolviendo en la soledad del programador y, humildemente, apunto las soluciones que uso y que me funcionan, sabiendo de antemano que habrá otras más optimas.

Autor: Jose Miguel Soriano Trujillo

 
A pleasure to read an article in a Spanish developer.
His proposal would also apply for an optimization of the times of entry ?. If I understood the article well. Is that I am a relative novice in the electronic programming.
A greeting and thanks
 
decolimper:
A pleasure to read an article in a Spanish developer.
His proposal would also apply for an optimization of the times of entry ?. If I understood the article well. Is that I am a relative novice in the electronic programming.
A greeting and thanks

Si eres español... hablamos en español.

Entiendo que preguntas si optimizo los periodos de entrada.

Así es y por eso se trata el asunto; el problema es que todas las funciones del código deben tener un parámetro que le informe del marco temporal en que trabaja el EA. No vale dejar PERIOD_CURRENT por defecto, hay que pasar a todas las funciones que usan el periodo de tiempo una variable global (marcoTF, por ejemplo) que almacena el marco temporal en que trabaja el EA.

Para mi código es indiferente en qué gráfico cargues el EA. Siempre trabaja en el marco que le indico en el parámetro de entrada que informa posteriormente a "marcoTF".  

 

If you are Spanish ... speak in Spanish.

I understand that questions if I optimize input periods.

So it is and why the matter is; the problem is that all functions of the code must have a parameter to report to the timeframe in which the EA works. You can not use PERIOD_CURRENT default, pass all functions using the time a global variable (marcoTF, for example) that stores the time frame in which the EA works.

For my code is indifferent under what graphic upload the EA. Always work within the framework indicating on the input parameter subsequently informs "marcoTF". 

 
josemiguel1812:

Si eres español... hablamos en español.

Entiendo que preguntas si optimizo los periodos de entrada.

Así es y por eso se trata el asunto; el problema es que todas las funciones del código deben tener un parámetro que le informe del marco temporal en que trabaja el EA. No vale dejar PERIOD_CURRENT por defecto, hay que pasar a todas las funciones que usan el periodo de tiempo una variable global (marcoTF, por ejemplo) que almacena el marco temporal en que trabaja el EA.

Para mi código es indiferente en qué gráfico cargues el EA. Siempre trabaja en el marco que le indico en el parámetro de entrada que informa posteriormente a "marcoTF".  

 

If you are Spanish ... speak in Spanish.

I understand that questions if I optimize input periods.

So it is and why the matter is; the problem is that all functions of the code must have a parameter to report to the timeframe in which the EA works. You can not use PERIOD_CURRENT default, pass all functions using the time a global variable (marcoTF, for example) that stores the time frame in which the EA works.

For my code is indifferent under what graphic upload the EA. Always work within the framework indicating on the input parameter subsequently informs "marcoTF". 

 
hola, Jose miguel, Me gustaría poder ponerme en contacto por correo contigo, es posible?, un saludo
 

Un buen artículo. Me resulta curioso que yo he enfrentado este problema también con soluciones muy parecidas a las tuyas. Otra línea interesante es la optimización "virtual" que se presenta en este artículo:

https://www.mql5.com/en/articles/143 

En cualquier caso, gracias por luchar contra la soledad del programador :) 

Adaptive Trading Systems and Their Use in the MetaTrader 5 Client Terminal
Adaptive Trading Systems and Their Use in the MetaTrader 5 Client Terminal
  • 2010.09.14
  • MetaQuotes Software Corp.
  • www.mql5.com
This article suggests a variant of an adaptive system that consists of many strategies, each of which performs its own "virtual" trade operations. Real trading is performed in accordance with the signals of a most profitable strategy at the moment. Thanks to using of the object-oriented approach, classes for working with data and trade classes of the Standard library, the architecture of the system appeared to be simple and scalable; now you can easily create and analyze the adaptive systems that include hundreds of trade strategies.
 
Jose:

Un buen artículo. Me resulta curioso que yo he enfrentado este problema también con soluciones muy parecidas a las tuyas. Otra línea interesante es la optimización "virtual" que se presenta en este artículo:

https://www.mql5.com/en/articles/143 

En cualquier caso, gracias por luchar contra la soledad del programador :) 

Hago programación estructurada y no "leo" bien la orientada a objetos.

No entiendo la estrategia en si porque no veo cómo obtiene el resultado virtual de todas las estrategias en la vela 1 para elegir lo que hago al abrir la vela 0. En la vela 100 (numerando del presente al pasado), por ejemplo, si puedo estimar el resultado en la vela 98 "avanzando" hacia el futuro con el historial conocido y el precioBID que me dará el sistema probador de MT5... ¿pero en la vela1 cómo estimo el resultado virtual?

 

Hola Jose, 

Excelente publicaciòn!

Me gustaria ponerme en comunicacion contigo con relacion a esta publicacion la cual estoy tratando de replicar ya que la veo super util y necesaria jeje.

Saludos.