• Overview
  • Reviews
  • Comments (11)
  • What's new

ChartBuilder MT5

The indicator is designed for easy construction of synthetic charts based on data of various financial instruments. It will be useful both arbitrage and pair trading, as well as for analysis purposes. Its main advantage is simplicity and clarity. Each chart is given as a common mathematical formula. For example, if you want to plot the spread (difference) between EURUSD and GBPUSD with coefficients 4 and 3, then set the following formula:


The resulting chart is shown in the screenshot. But this is one of the simplest examples. Indicator allows you to draw charts of much more complex and interesting things. It also can monitor certain price levels set by the user, and generate a signal when price reaches the levels.

Please find the full description of the indicator on the Comments tab (Russian).

Indicator Parameters

  • Formula1
  • Formula2
  • ...
  • Formula12 - set formulas for each chart
  • Precision - indicator precision after a decimal point
  • TimeShift_minutes - time shift for all charts relative to the price scale (in minutes)
  • TimeSnap_Mode - time snapping resulting values to the displayed bars of the indicator. It can be set in "bars" or in "minutes"
  • TimeSnap_Size - maximum snapping size. If the time lag between the calculated bar and the actual bar exceeds this size, the bar will not be displayed on the screen. If set to -1, then there are no snapping limits
  • OpenPrices_Synchronize - full synchronization of bar Open prices by time
  • Draw Mode - chart drawing mode:
    • LINE
    • BARS
    • CANDLE
    • SECTION (sections between non-empty values)
    • POINTS
    • AUTO (selected automatically in accordance with the selected display mode in the main window)
  • Interpolation Timeframe - the timeframe for the interpolation of intra-bar values when building synthetic bars. Default is M1
  • RefreshRate_sec - chart update frequency in seconds
  • Auto Scale - chart auto scale mode. Specify the number of the main chart; all other charts will be adjusted to the height of this chart
  • Show Labels - choose location of names of formulas in the chart window (left or right)
  • Show Bid/Ask - show synthetic Bid/Ask for each chart
  • Signal_ChartNumber chart number for which signal values and signal lines are used.
  • Signal_HighValue - the upper signal value, after reaching which a signal will be generated
  • Signal_LowValue - the lower signal value
  • Signal_HighLine - the name of the upper signal line, after reaching which a signal will be generated
  • Signal_LowLine - the name of the lower signal line
  • Signal_CrossCharts - chart numbers (separated by commas or spaces), when they are crossed a signal will be generated
  • Signal_Pause - a pause between repetitions of the same signal (in seconds)
  • Save_ChartNumber - the number of the chart, the values of which should be saved to a text file
  • Save_FileName - the name of the text file to save chart values
  • Save_FileDelimiter - text separator used in the file. If nothing is specified, the tab character will be used.
No reviews
Version 2.56 2017.11.03
1. Optimized graphics, improved performance.

2. Added parameter "RefreshRate_sec" that specifies the refresh rate of the graphics in seconds. It allows to adjust the load on the CPU.

3. Added parameter "OpenPrices_Synchronize" meaning the full synchronization of the multiple symbols prices while synthesizing the bar open price. In other words, when calculating a candle chart synthesized of several symbols, the open price of the synthetic bar is calculated based on the close prices of minute bars for each symbol to achieve the maximum result accuracy. This mode is enabled by default. It was also used in the previous versions. If 'false', the open price of the synthetic bar is calculated based on open prices of initial symbols' bars which may lead to inaccurate values since the open prices synchronization between various symbols is not guaranteed.

4. Added new functions:

- Line(), LineTime(symbol, period, barshift), LineBar(symbol, period, barshift) - get the time or bar number for the vertical line on the chart (similar to LineClose, etc.)

- If(condition, value_for_true, value_for_false) - if condition is 'true', then return the first argument, otherwise return the second one.

- Empty() - return an empty value that is not displayed on the chart and any operations with this value also return an empty value. It can be used inside the "If" function when you need something to be drawn on condition.

5. Added math operations: >= and <=

6. Fixed errors.
Version 2.41 2016.11.30
- Increased the amount of charts up to 12
- Improved the appearance in candles mode
- Added button (icon) to hide or show all formulas
- Added functions:
˜ ˜ ˜- Time(symbol, timeframe, shift) - get bar time
˜ ˜ - Bar(symbol, timeframe, shift) - get bar number
- Improved performance
- Fixed some errors
Version 2.38 2015.10.13
- Fixed errors.
Version 2.37 2015.08.19
- Fixed errors
- Added check boxes next to names of formulas for quick enabling/disabling each formula
Version 2.33 2015.08.07
- Fixed errors
- Increased the amount of charts up to 10
- Added the ability to hide the names of all equations on the chart (ShowLabels parameter)