Home Technische indicator Bericht

De Grootte van Candles: Essentiële Indicator voor MetaTrader 5

Bijlage
18269.zip (2.74 KB, Downloaden 0 keer)

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

    Reactie (0)