De indicator toont de grootte van de candle. De grootte wordt berekend met de volgende formule: "minuend" min "deductie". "Minuend" en "deductie" kunnen elk van de vier waarden zijn (open, hoog, laag of sluit).
Het aantal candles waarvoor de grootte wordt weergegeven, kan worden beperkt in de invoerparameters (InpNumberOfBars). Dit aantal blijft onveranderd, zelfs als er een nieuwe candle opent:
Over de synchronisatie van candles en grafische objecten.
Bijhouden van grafische objecten
De namen van objecten worden opgeslagen in het m_arr_names[] array, waarvan de grootte gelijk is aan de InpNumberOfBars invoer. Waarom gebruiken we een array in plaats van een simpele stringvariabele? Dit is een soort reserve voor de toekomst.
Het vormen van een objectnaam
De naam van het object dat overeenkomt met de 'index' candle wordt gevormd met de volgende formule:
name[index] = m_prefix + ("high_" of "low_") + TimeToString(time[index])
Wanneer je alle objecten moet verwijderen
Indicatoren worden ontladen in de volgende gevallen:
- het verwijderen van de indicator van de grafiek;
- het sluiten van de terminal (als de indicator op de grafiek draaide);
- het laden van een sjabloon, als de indicator op deze grafiek draaide;
- het sluiten van de grafiek waarop de indicator draaide;
- het veranderen van het profiel, als de indicator draaide op een van de grafieken van het vorige profiel;
- het veranderen van het symbool en/of tijdsperiode van de grafiek waarop de indicator draaide;
- het veranderen van de invoerparameters van de indicator.
Daarom verwijderen we volledig de gemaakte grafische objecten:
- in OnDeinit()
- in OnInit() (dit is voor de zekerheid, als er niet-verwijderde weesobjecten zijn)
- in OnCalculate(), wanneer prev_calculated==0.
We wissen ook de m_arr_names[] array:
- In OnCalculate(), wanneer prev_calculated==0 of wanneer prev_calculated!=rates_total
Het handhaven van een constant aantal grafische objecten:
Wanneer er een nieuwe candle (of candles) verschijnt, wordt de voorwaarde prev_calculated!=rates_total geactiveerd. In dit geval worden alle objecten verwijderd en wordt de m_arr_names[] array gewist.
Gerelateerde berichten
- PCA Synthetics: Automatische Coëfficiëntselectie voor MetaTrader 5
- iExposure Indicator: Beheer je Handelsposities Efficiënt met MetaTrader 5
- Efficiënt Grafische Objecten Kopiëren in MetaTrader 5 met ChartObjectsCopyPaste
- Efficiëntie Ratio (ER) Berekenen met de CEROnRingBuffer voor MetaTrader 5
- Verbeter je Handelsstrategieën met de ColorXADX Indicator voor MetaTrader 5