Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal


Size of candles 2 (text) - indicator for MetaTrader 5

Vladimir Karputov | English Русский 中文 Español Deutsch 日本語 Português

votes: 18
2017.08.10 12:33

Version 1

 Size of candles (text):

Version 2.

The indicator reflects the size of the bar. The size is calculated by the following formula: "minuend" minus "deduction". "Minuend" and "deduction" can be any of four values (open, high, low or close).

Added in version 2: 

  • customizable colors for the text on bullish and bearish bars
  • customizable shift from the bar
  • the text is now displayed:
    • below a bar, if the bar is bullish
    • above a bar in other cases

The number of bars for which the size is displayed can be limited in the input parameters (InpNumberOfBars). This number remains unchanged even if a new bar has opened:

About synchronization of bars and graphical objects.

Graphical objects accounting

The names of objects are stored in the m_arr_names[] array, its size is equal to the InpNumberOfBars input. Why do we use an array instead of a simple string variable? This is a kind of reserve for the future.

Forming an object name

The name of the object corresponding to the 'index' bar is formed by the following formula:

name[index] = m_prefix + ("high_" or "low_") + TimeToString(time[index])

When you need to delete all objects

Indicators are unloaded in the following cases:

  • removing the indicator form the chart;
  • closing the terminal (if the indicator was running on the chart);
  • loading a template, if the indicator is running on this chart;
  • closing the chart on which the indicator was running;
  • changing the profile, if the indicator is running on one of the charts of the previous profile;
  • changing the symbol and/or timeframe of the chart, on which the indicator is running;
  • changing the indicator inputs.

Therefore, we completely delete created graphical objects:

  • in OnDeinit()
  • in OnInit() (this is just in case, if there are undeleted orphan objects)
  • in OnCalculate(), when prev_calculated==0.

  We also clear the m_arr_names[] array:

  • In OnCalculate(), when prev_calculated==0 or when prev_calculated!=rates_total

Maintaining a constant number of graphical objects:

when a new bar (bars) appears, the prev_calculated!=rates_total condition triggers. In this case, all objects are deleted, and the m_arr_names[] array is cleared.

Translated from Russian by MetaQuotes Software Corp.
Original code:

RSI Arrow RSI Arrow

The indicator displays Wingdings arrows when RSI crosses UP and DOWN levels.

LGP_Ivanoff_Maloma-Demark_levels LGP_Ivanoff_Maloma-Demark_levels

A fractal based variation.

Bullish and Bearish Engulfing Bullish and Bearish Engulfing

The EA trades based on the "Bullish and Bearish Engulfing" pattern.

Color_PEMA_Digit Color_PEMA_Digit

A moving average with the five-fold EMA averaging. It displays the most recent value as a price label with the possibility to round the indicator levels up to a required number of digits.