Scopri il Valore nei Parametri OnCalculate: Strumento per MetaTrader 5

Mike 2018.12.25 12:11 13 0 0
Allegato

Se sei un trader alle prime armi con la programmazione di indicatori, oppure se vuoi semplicemente dare un'occhiata ai valori forniti dalla funzione OnCalculate, sei nel posto giusto! Questo indicatore è pensato proprio per te e mostra diversi valori chiave:

  • Valore più recente: l'ultimo valore fornito dall'ultima chiamata a OnCalculate.
  • Valore precedente: il valore dall'ultima chiamata a OnCalculate.
  • Primo valore: il valore dalla prima esecuzione di OnCalculate.
  • Valori delle serie: ogni valore delle serie dell'array, sia in modalità as_series che not_series, con la possibilità di cambiarlo con un semplice clic.

La versione 1.10 ha introdotto la possibilità di modificare dinamicamente se gli array sono impostati come serie o meno; basta cliccare sul testo per cambiarlo. Inoltre, i valori delle Window Bars e del First visible Bar sono impostati dinamicamente con le modifiche del grafico. La visualizzazione ON/OFF indica cosa accadrà con le impostazioni nella prossima esecuzione di OnCalculate, a confronto con ciò che è successo nell'ultima esecuzione.

Nella versione 1.20, è stata aggiunta la possibilità di scegliere se l'indicatore deve impostare gli array come as_series o not_series, semplicemente cliccando sul testo. L'indicatore ora visualizza anche entrambe le estremità dell'array temporale e i bordi del buffer iMA. Questi aggiornamenti rendono evidente la differenza tra array as_series e not_series. Inoltre, la visualizzazione viene ora aggiornata quando necessario utilizzando il gestore OnTimeEvent, invece di aggiornarla a ogni quotazione. Questo riduce notevolmente il tempo di esecuzione di OnCalculate, da circa 300 ms a meno di 1 ms. Il codice per controllare il tempo di esecuzione è rimasto in OnCalculate e basta decommentarlo per visualizzare i millisecondi di esecuzione.

Questa immagine mostra i valori visualizzati dall'utilità OnCalculate_Values. Nota i tre valori separati da '/', che rappresentano il Valore più recente, il Valore precedente e il Primo valore. I valori di OnCalculate sono impostati su 'as_series' o 'not_series' a ogni evento OnCalculate; quando Set Arrays è 'ON', altrimenti rimangono al valore predefinito del terminale. Nota anche il valore tra parentesi dopo i nomi degli array, che indica da quale barra proviene il valore: il valore '0' o il 'valore all'indice massimo'.

Visualizzazione Valori OnCalculate

Il codice implementa una singola linea di indicatore, un grafico del prezzo di apertura di ciascuna barra fornito da iMA; lo scopo è fornire un buffer per utilizzare la funzione "BarsCalculated" e mostrare la visualizzazione di un indicatore quando è impostato su 'as_series' o 'not_series'. Cliccando su iMA_Val[0], l'array iMA viene impostato su as_series o not_series solo una volta, al momento del clic; l'array dell'indicatore iMA non viene impostato a ogni chiamata di OnCalculate.

Una collezione di array contiene le proprietà di ciascun oggetto di visualizzazione (OBJ_LABEL) nel display:

La funzione "ArrayGetAsSeries" viene utilizzata per determinare se gli array nei parametri di OnCalculate sono array di serie temporali o meno, e la visualizzazione mostra il risultato (As_Series o Not_Series) - la visualizzazione mostra che questi array non sono serie inizialmente o da una chiamata all'altra dopo essere stati impostati come serie (la funzione SetAsSeries li imposta come serie solo quando è attivata, permettendo loro di tornare al valore predefinito quando è disattivata; non imposta 'as series' su false).

Infine, l'array di tre membri, ary_OnCalcVals, contiene 1) Valore più recente, 2) Valore precedente e 3) Primo valore trovati nei parametri di OnCalculate. Le funzioni CopyNewToOld e MoveNewTo prendono il valore corrente per ciascun parametro di visualizzazione e lo collocano nella memoria storica fornita da ary_OnCalcVals.

Elenco
Commento 0