Alguien me puede ayudar con IndicatorRelease trabajo con MQL5

Para añadir comentario, por favor Autorícese o regístrese
jbellido
74
jbellido  

Quiero que no se visualicen los indicadores en el probador de estrategia ya me enviaron a esta pagina donde aparece un código que hace lo que necesito pero e utilizado el código y no me funciona

https://www.mql5.com/en/docs/runtime/testing#indicatorrelease

y sale el siguiente ejemplo de como se utiliza

Gracias de antemano y saludos...

Documentation on MQL5: MQL5 programs / Testing Trading Strategies
Documentation on MQL5: MQL5 programs / Testing Trading Strategies
  • www.mql5.com
The idea of automated trading is appealing by the fact that the trading robot can work non-stop for 24 hours a day, seven days a week. The robot does not get tired, doubtful or scared, it's is totally free from any psychological problems. It is sufficient enough to clearly formalize the trading rules and implement them in the algorithms, and...
Jose Francisco Casado Fernandez
6657
Jose Francisco Casado Fernandez  
Por qué crees que IndicatorRelease() no funciona??. 
jbellido
74
jbellido  

Porque lo he hecho tal y como dice en el texto lo compilo todo no me manda ningún error, es mas tomo el .exe5 y lo ejecuto en un servidor vps de metatreader no en la maquina que programo los EA, los indicadores los  he incluidos con resources pero todavía siguen apareciendo cuando utilizo el probador de estrategias y es lo que no quiero que me aparezcan en el probador.

Gracias de antemano Saludos..

 

Jose Francisco Casado Fernandez
6657
Jose Francisco Casado Fernandez  

Has leído lo que dice la documentación al respecto ??:

"Después de la finalización de la simulación, se abre automáticamente el gráfico del instrumento en el cual se muestran las transacciones realizadas y los indicadores que se han utilizado en el EA. Esto ayuda comprobar de forma visual los momentos de entrada y salida, así como compararlos con los valores de los indicadores."

"Desde el principio la función IndicatorRelease() está destinada para liberar la parte de cálculo del indicador, en caso de que ya no es necesario. Esto permite ahorrar la memoria y los recursos de la CPU, porque cada tick activa el cálculo del indicador. Su segundo cometido consiste en prohibir la visualización del indicador en el gráfico de simulación tras finalizarse el repaso único.

Para prohibir la visualización del indicador en el gráfico después de la simulación, invoque la función IndicatorRelease() con el handle del indicador en el manejador OnDeinit(). La función OnDeinit() siempre se invoca después de la finalización y antes de visualización del gráfico de simulación."

https://www.mql5.com/es/docs/runtime/testing#indicatorrelease


Es decir, como sabrás, cuando haces un backtest NO VISUAL, DESPUES de acabar se abre un gráfico con todas las operaciones que ha hecho el EA, y ahí también aparecen los indicadores utilizados. Usando IndicatorRelease() dentro de OnDeinit() evitas que en ese gráfico que se abre después de acabar la simulación, se vean dichos indicadores.

Por tanto, IndicatorRelease() cumple el cometido descrito en la documentación.

Ahora bien, tú lo que quieres es otra cosa, lo que quieres es que los indicadores no se vean MIENTRAS realizas un backtest VISUAL, y eso NO es un cometido de dicha función. Por tanto, tienes que agudizar el ingenio y buscarte otras vías para poder conseguir lo que quieres, o bien deshabilitar el backtest visual en tu EA.

Por eso te dije el otro día que si era para mql4, con la función HideTestIndicators() lo tenías fácil, pero si era para mql5 la cosa no era tan fácil.


Saludos.

jbellido
74
jbellido  

Ok iba por el camino incorrecto básicamente como lo dijiste lo que necesito es des habilitar el backtest visual en tu EA seguiré buscando  

mas sobre el tema. 

Gracias por despejarme la duda.

Saludos.

jbellido
74
jbellido  
Jose Francisco Casado Fernandez:

Has leído lo que dice la documentación al respecto ??:

https://www.mql5.com/es/docs/runtime/testing#indicatorrelease


Es decir, como sabrás, cuando haces un backtest NO VISUAL, DESPUES de acabar se abre un gráfico con todas las operaciones que ha hecho el EA, y ahí también aparecen los indicadores utilizados. Usando IndicatorRelease() dentro de OnDeinit() evitas que en ese gráfico que se abre después de acabar la simulación, se vean dichos indicadores.

Por tanto, IndicatorRelease() cumple el cometido descrito en la documentación.

Ahora bien, tú lo que quieres es otra cosa, lo que quieres es que los indicadores no se vean MIENTRAS realizas un backtest VISUAL, y eso NO es un cometido de dicha función. Por tanto, tienes que agudizar el ingenio y buscarte otras vías para poder conseguir lo que quieres, o bien deshabilitar el backtest visual en tu EA.

Por eso te dije el otro día que si era para mql4, con la función HideTestIndicators() lo tenías fácil, pero si era para mql5 la cosa no era tan fácil.


Saludos.


Yo creo que la forma que lo he planteado no es la correcta pero el fin es el deseado modifique los indicadores para que no imprimieran nada en el grafico estoy haciendo unas pruebas para ver si me funciona todo correctamente.

Gracias y Saludos...

Jose Francisco Casado Fernandez
6657
Jose Francisco Casado Fernandez  
jbellido:

Yo creo que la forma que lo he planteado no es la correcta pero el fin es el deseado modifique los indicadores para que no imprimieran nada en el grafico estoy haciendo unas pruebas para ver si me funciona todo correctamente.

Gracias y Saludos...

Eso sí es una opción. Otra opción sería hacer los cálculos de los indicadores dentro del EA, y no llamar a ningún indicador. Por eso te dije que tenías que agudizar el ingenio para conseguirlo de otra manera, o si no lo lograbas, pues también podías deshabilitar el backtest visual directamente (no dije que era la única opción, solo una de ellas si no lograbas lo que querías por otros medios). Pero el camino que querías llevar a efecto no era una opción. Saludos.
Para añadir comentario, por favor Autorícese o regístrese