Oggi parliamo di un indicatore fondamentale per i trader: la dimensione delle candele. Questo indicatore calcola la grandezza della barra utilizzando una formula semplice: "minuendo" meno "deduzione". I termini "minuendo" e "deduzione" possono essere uno dei quattro valori: apertura, massimo, minimo o chiusura.
Puoi limitare il numero di barre per cui viene visualizzata la dimensione nei parametri di input (InpNumberOfBars). Questo numero rimane costante anche quando si apre una nuova barra.
Sincronizzazione delle barre e oggetti grafici
Gestione degli oggetti grafici
I nomi degli oggetti vengono memorizzati nell'array m_arr_names[], la cui dimensione corrisponde a InpNumberOfBars. Ma perché usiamo un array invece di una semplice variabile stringa? È una sorta di riserva per il futuro.
Formazione del nome dell'oggetto
Il nome dell'oggetto associato alla barra 'index' si forma secondo la seguente formula:
name[index] = m_prefix + ("high_" o "low_") + TimeToString(time[index])
Quando è necessario eliminare tutti gli oggetti
Gli indicatori vengono scaricati nei seguenti casi:
- rimozione dell'indicatore dal grafico;
- chiusura del terminale (se l'indicatore era attivo sul grafico);
- caricamento di un template, se l'indicatore è attivo su quel grafico;
- chiusura del grafico su cui l'indicatore era attivo;
- cambio del profilo, se l'indicatore era attivo su uno dei grafici del profilo precedente;
- cambio del simbolo e/o del timeframe del grafico su cui l'indicatore è attivo;
- modifica degli input dell'indicatore.
Per questo motivo, eliminiamo completamente gli oggetti grafici creati:
- in OnDeinit()
- in OnInit() (giusto per sicurezza, nel caso ci siano oggetti orfani non eliminati)
- in OnCalculate(), quando prev_calculated==0.
Inoltre, puliamo l'array m_arr_names[]:
- In OnCalculate(), quando prev_calculated==0 o quando prev_calculated!=rates_total
Mantenere un numero costante di oggetti grafici:
Quando appare una nuova barra, la condizione prev_calculated!=rates_total si attiva. In questo caso, tutti gli oggetti vengono eliminati e l'array m_arr_names[] viene svuotato.
Post correlati
- Indicatori ZigZag Potenziati: Scopri le Nuove Funzionalità per MetaTrader 4
- Indice di Volatilità Chaikin: Scegli il Giusto Algoritmo di Smussamento per MetaTrader 5
- Volatilità Stocastica: Indicatore per MetaTrader 5 da Utilizzare sul Grafico
- Indicatore Donchian Ultimate per MT4: Scopri tutte le Funzionalità
- Notis: L'Indicatore per Misurare la Volatilità su MetaTrader 5