Inicio Indicador técnico Publicación

Descubre los Parámetros OnCalculate: Utilidad para Traders en MetaTrader 5

Archivos adjuntos
23841.zip (9.13 KB, Descargar 0 veces)

¡Hola, traders! Hoy vamos a hablar sobre una herramienta muy útil para aquellos que están comenzando a programar indicadores o simplemente quieren entender mejor los valores que se proporcionan a través de OnCalculate y otras funciones en MetaTrader 5.

Este indicador es genial porque muestra:

  • El valor más reciente proporcionado en la última llamada a OnCalculate.
  • El valor anterior de la llamada a OnCalculate anterior.
  • El primer valor desde la primera vez que se ejecutó OnCalculate.
  • El valor de cada serie de arreglos, ya sea como as_series o not_series, y puedes cambiar el valor de la serie con un simple clic en la pantalla.

Con la versión 1.10, se añade la capacidad de cambiar dinámicamente si los arreglos están configurados como series o no; solo tienes que hacer clic en el texto. Además, los valores de Window Bars y First Visible Bar se actualizan automáticamente cuando se realizan cambios en el gráfico. La visualización ON/OFF indica lo que sucederá con sus configuraciones en la próxima ejecución de OnCalculate, en comparación con lo que sucedió en la ejecución más reciente.

La versión 1.20 mejora aún más la herramienta, permitiendo que el indicador establezca los arreglos como as_series o not_series simplemente haciendo clic en el texto. Ahora también muestra ambos extremos del arreglo temporal y ambos extremos del buffer de iMA. Estos cambios están diseñados para resaltar la diferencia entre los arreglos as_series y not_series. Además, la visualización se actualiza según sea necesario utilizando el manejador OnTimeEvent, lo que reduce el tiempo de ejecución de OnCalculate de alrededor de 300 ms a menos de 1 ms. El código para verificar el tiempo de ejecución aún está en OnCalculate y solo necesita ser descomentado para mostrar los milisegundos de ejecución.

La imagen a continuación muestra los valores que la utilidad OnCalculate_Values despliega. Observa los tres valores, delimitados por '/', que separan el Valor Más Reciente, Valor Anterior y Primer Valor. Los valores de OnCalculate se configuran como 'as_series' o 'not_series' con cada evento de OnCalculate; cuando Set Arrays está 'ON', de lo contrario, se dejan en el valor predeterminado del terminal. También puedes notar el valor después de los nombres de los arreglos entre paréntesis, que indica de qué barra proviene el valor, es decir, el valor de índice '0' o el 'valor en el índice máximo'.

Visualización de valores OnCalculate

El código implementa una línea de indicador única, un gráfico del precio de apertura de cada barra proporcionada por iMA; el propósito es ofrecer un buffer para usar la función BarsCalculated y mostrar la visualización de un indicador cuando se establece en 'as_series' o 'not_series'. Haciendo clic en iMA_Val[0] se establece el buffer de iMA como as_series o not_series solo una vez, al hacer clic; el arreglo del indicador iMA no se establece con cada llamada a OnCalculate.

Una colección de arreglos contiene las propiedades de cada uno de los objetos de visualización (OBJ_LABEL) en la pantalla:

La función ArrayGetAsSeries se utiliza para determinar si los arreglos en los parámetros de OnCalculate son arreglos de series temporales o no, y la visualización muestra el resultado (As_Series o Not_Series) - la visualización indica que estos arreglos no son series inicialmente, o de una llamada a otra después de ser establecidos como series (la función SetAsSeries los establece como series solo cuando está activada, permitiendo que regresen a su predeterminado cuando está desactivada, no establece 'as series' en falso).

El arreglo de 3 miembros, ary_OnCalcVals, contiene 1) Valor Más Reciente, 2) Valor Anterior y 3) Primer Valor encontrado en los parámetros de OnCalculate. Las funciones CopyNewToOld y MoveNewTo toman el valor actual para cada parámetro de visualización y lo colocan en el almacenamiento histórico proporcionado por ary_OnCalcVals.


Publicaciones relacionadas

Comentarios (0)