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 (text) - indicator for MetaTrader 5

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

votes: 38
2017.05.29 16:13

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).

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:

All information about the symbol All information about the symbol

All information about the current symbol (information from the CSymbolInfo class object is used) represented as a dialog panel.

RSI and Bollinger Bands RSI and Bollinger Bands

A trading strategy based on RSI and Bollinger Bands.

Automatically bring charts one by one to the top Automatically bring charts one by one to the top

This indicator helps to move charts one by one to the the front, just like slide show, and make your hands free.

Daily Open Line Daily Open Line

An simple Indicator displaying daily opening line.