Spread of Symbols Indicator

Spread of Symbols Indicator
Download ALL MT5 indicators (5743)
YouTube Video Thumbnail



Similar MetaTrader Tools

Spread of Symbols Indicator

Info

The Spread of Symbols Indicator is a Indicator for MetaTrader 5 that this indicator calculates and displays the price difference between two trading symbols as a chart. Indicator Input Parameters:- symbol1 and symbol2: Symbols for price difference calculation and chart display.

Usage

This tool is typically used for enhancing chart analysis and decision making.

Platform

This Indicator works exclusively on MetaTrader 5 (both build 600+ and newer versions).

Setup

Place the downloaded file in MQL5/Indicators folder via File ? Open Data Folder in MetaTrader 5.


How to Install and Use Spread of Symbols Indicator

1. Installation: Place your file in the MQL/Indicators folder via "Open Data Folder" and restart your terminal.

2. Loading: Find the indicator in the Navigator, drag it onto your chart, and configure the input parameters in the popup window.

3. Customization: Press Ctrl+I to open the indicator list, select your tool, and click "Properties" to change colors, levels, or visual styles.

4. Updating: Replace the old file in the Indicators folder with the new version and restart the platform to apply changes.

Frequently Asked Questions

Q: Why is my indicator not showing? A: Verify the file is in the MQL/Indicators folder, or try right-clicking the "Indicators" tree in the Navigator and clicking "Refresh."

Q: Do custom indicators slow down the platform? A: Too many complex indicators can impact performance; remove unused ones via the "Indicator List" (Ctrl+I).

Q: Can I use MT4 indicators on MT5? A: No, MQL4 and MQL5 are distinct languages; ensure the indicator is compiled specifically for your platform version.

What this tool does

This indicator calculates and displays the price difference between two trading symbols as a chart.

Typical Use Case

This Indicator excels in automated trading and technical analysis on MetaTrader 5.

Compatible Platform & Setup

This Indicator works on MetaTrader 5. Place the file in the MQL5/Indicators folder and restart the terminal.

Description & Settings

Related: Spread Monitor: Analyze Market Spread in Real-Time - another powerful indicator for MetaTrader 5 traders.

This indicator calculates and displays the price difference between two trading symbols as a chart.

Also recommended: Clock (Spread) Indicator for MT5 - similar indicator with strong performance on MetaTrader 5.


Indicator Input Parameters:

- symbol1 and symbol2: Symbols for price difference calculation and chart display. Default values are AUDUSD and NZDUSD.

- mass_of_symbol1 and mass_of_symbol2: Quantitative ratio of trading symbols. Both parameters default to 1. Set mass_of_symbol2 to -1 to calculate the sum of symbols, useful for evaluating negative correlation in pairs trading.

Image:

The image shows the AUDUSD chart at the top, the NZDUSD chart in the middle, and the Spread of Symbols indicator at the bottom.

You may also like: Spread Monitor Panel: Live Spread and Spike Alerts - excellent alternative for indicator users on MetaTrader 5.

Source Code

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
#property indicator_label1  "label1"
#property indicator_type1   draw_line
#property indicator_color1  clrred
#property indicator_style1  style_solid
#property indicator_width1  1
input string symbol1="audusd";
input string symbol2="nzdusd";
input double mass_of_symbol1=1;
input double mass_of_symbol2=1;


int i,r1,r2,j;
double s,prs,k1,k2,d1,d2;
double        ind1[];
int oninit()
  {
   setindexbuffer(0,ind1,indicator_data);
   return(0);
  }
int oncalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   arraysetasseries(time,true);arraysetasseries(open,true);arraysetasseries(high,true);arraysetasseries(low,true);
   arraysetasseries(close,true);arraysetasseries(tick_volume,true);arraysetasseries(volume,true);arraysetasseries(spread,true);

   arraysetasseries(ind1,true);
   mqlrates rates1[]; arraysetasseries(rates1,true);
   mqlrates rates2[]; arraysetasseries(rates2,true);

   if(prev_calculated<rates_total)
     {
      for(i=0;i<rates_total;i++)
        {
         copyrates(symbol1,0,time[i],1,rates1);
         copyrates(symbol2,0,time[i],1,rates2);
         ind1[i]=mass_of_symbol1*rates1[0].close-mass_of_symbol2*rates2[0].close;
        }
     }



   return(rates_total);
  }

.......

Leave your opinion, ask a question, share some knowledge

Limitations & Risk Warning

  • This tool is provided for educational and testing purposes only.
  • Past performance does not guarantee future results.
  • Trading involves substantial risk of loss. Use on a demo account first.
  • Results may vary depending on market conditions, broker, and settings.
  • We recommend thorough backtesting and forward testing before using with real funds.
© ROBOTFX Free educational tools by RobotFX. Use entirely at your own risk; we are not liable for any financial losses incurred.