Symbol Synthesizer Chart
This software component for MetaTrader 4 is built to enhance the capabilities of your trading environment. This technical indicator acts as a specialized analysis tool designed to visualize market data. It helps traders identify emerging trends, momentum shifts, and key support or resistance levels by plotting statistical calculations directly onto price charts.
How to Setup and Use Symbol Synthesizer Chart
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.
Description & Settings
Same concept with (Symbol Synthesizer for MT5), but for chart display in MetaTrader 4.
It synthesizes any symbol if you have the source symbols in Market Watch window and then makes a real time offline chart like Period_Converter_Opt.mq4 ().
So, basic use is same with Period_Converter_Opt since this is based on it.
Differences in Parameter settings are:
extern int spread = 0;
Spread in points for sSym01 (Attached chart symbol). 0 means current.
Since MetaTrader 4 history file doesn't have past spread data, we need them to determine Ask price for the case dividing to calculate the virtual prices.
extern int vDigits = 5;
The digits for synthesized symbol. This is replaced OmitDigit (from Period_Converter_Opt.mq4).
extern string vSymbol ="EURUSD_v";
The one you want to generate. Any name is OK but less than 11 characters.
string sSym01 ="EURGBP"; // (Not external variable)
Source symbol#1.
It is automatically set from the attached chart Symbol.
You should attach this tool on this symbol chart to avoid getting "Insufficient Data Error" when sCal is "D" and if the history file of sSym01 is not sufficient.
extern string sSym02 ="GBPUSD";
Source symbol#2.
It has to be and exact same name on Market Watch include prefix and/or suffix.
extern string sCal ="M";
The calculation to synthesize. "M" means "Multiply", or put "D" means "Divide".
If the virtual price of vSymbol can be calculated by sSym01 multiply sSym02, put "M".
Ex: vSymbol="EURUSD" sSym01="EURGBP" sSym02="GBPUSD"
vSymbol="EURJPY" sSym01="EURGBP" sSym02="GBPJPY"
vSymbol="EURJPY" sSym01="EURUSD" sSym02="USDJPY"
vSymbol="BTCJPY" sSym01="BTCUSD" sSym02="USDJPY"
Note: sSym01 and sSym02 can be switched with each other since we multiply them. Major pair should be sSym01 for more often ticks.
If the virtual price of vSymbol can be calculated by sSym02 divided by sSym01, put "D" or any other string but "M".
Ex: vSymbol="USDJPY" sSym01="EURUSD" sSym02="EURJPY"
vSymbol="ZARJPY" sSym01="USDZAR" sSym02="USDJPY"
vSymbol="EURUSD" sSym01="USDJPY" sSym02="EURJPY"
Note: sSym01 and sSym02 can NOT be switched with each other since we divide.
Those under-lined currencies are "media" currencies.