SymbolSyncEA
This EA synchronizes the trading symbol across all open charts in the terminal. When the symbol on the chart where the EA is running changes (via OnInit), it propagates that symbol to up to 10 other open charts using ChartSetSymbolPeriod while preserving each chart's timeframe.
Open the interactive view (equity curve, symbol switch)Key facts
Backtest results (H1, about 1 year)
Not backtested yet — this EA could not be converted automatically.
Strategy analysis
This is not a trading strategy EA but a chart management utility. Its core concept is symbol synchronization: when the user changes the symbol on one chart, the EA automatically switches all other open charts to the same symbol. Entry conditions are not applicable since this tool does not execute any trades. Exit conditions are likewise not applicable. Position sizing and money management are not involved as the EA never opens positions. The synchronization mechanism relies on the OnInit event—MetaTrader 5 re-invokes OnInit whenever a chart's symbol changes, which triggers the SyncSymbols function to iterate through up to 10 charts and call ChartSetSymbolPeriod to switch symbols. Additionally, the code retains commented-out OnTimer polling logic as an alternative approach for detecting symbol changes, but it is currently disabled.
Strengths
- Simple and practical symbol sync function that boosts efficiency during multi-chart analysis
- Leverages the OnInit event for automatic triggering, requiring no manual intervention
- Preserves each chart's original timeframe while only switching the symbol
- Clean and straightforward code structure, easy to understand and modify
Weaknesses
- Chart sync limit is hardcoded to 10 with no configurable parameter
- PrintFormat argument order is wrong in ChangeChartSymbol—symbol and chartID are swapped
- No return value check on ChartSetSymbolPeriod to verify the symbol change succeeded
- OnTimer symbol change detection logic is commented out but not removed, leaving dead code
- No error handling for edge cases such as ChartNext returning an invalid ID
Possible improvements
- Extract chartlimit as an input parameter to allow user-configurable chart sync count
- Fix the PrintFormat argument order bug in ChangeChartSymbol and add return value validation for ChartSetSymbolPeriod
- Remove the commented-out OnTimer code or implement it as an optional polling fallback, and add chart ID validity checks
Risk assessment
Overall risk: Safe
- This EA does not execute any trading operations, so there is no financial risk
- Symbol switching may affect other EAs or indicators running on other charts—potential conflicts should be noted
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
chartlimit | 10 | Maximum number of synchronized charts |
initialSymbol | Symbol() | Initial symbol name recorded at EA initialization |
SyncSymbol | initialSymbol | Target symbol to synchronize across all charts |
Similar Utility EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.