Yes, that method has been used before by a few coders/traders. One in particular designed a complete trading system with graphic panels and trade management, etc. that uses that concept of the indicators communicating with the central EA that does all the trade processing and monitoring.
Unfortunately, due to forum rules, I will not mention the name of the coder or his website or his system. I would do it in private but you have your PM disabled, so I'm not able to.
Yes, that method has been used before by a few coders/traders. One in particular designed a complete trading system with graphic panels and trade management, etc. that uses that concept of the indicators communicating with the central EA that does all the trade processing and monitoring.
Unfortunately, due to forum rules, I will not mention the name of the coder or his website or his system. I would do it in private but you have your PM disabled, so I'm not able to.
Thank you so much.
If the event system is able to co-ordinate graphical UI and handle trade signals concurrently, I guess I'm safe, since my uses for it are minimal and straight forward.
Cheers!
Many argue that leverage is not important, I tend to disagree.
The equation for risk based on the amount risked percentage of the equity or balance, lacks something which is quite slippery to get but one of the ways to grasp it is based on leverage.
When for instance we have a 1K $ account and we risk 2% which is 20 $ we can do it in many ways. (I will use extreme examples to illustrate the point)
One way for instance is to risk 200 pips of 0.01 volume on USD. This means we opened a 0.01 lot which is a leverage of 1.
Another way is to open a 5 lot position, and risking 0.4 pips. This means we opened 5 Standard lot which is leverage of 500.
Both comply with the risk formula as both risk only 2 percent of balacne but:
The second one is much more risky as it will tend to lose almost always, and one way to avoid those risks is to use leverage restriction.
I recommend: Do not trade multiple currencies in one EA.
-
You can't use any {MT4: predefined variables, MT5: predefined variables,}
-
Must poll (not OnTick, unless you use specific indicators)
The Implementation of a Multi-currency Mode in MetaTrader 5 - MQL5 Articles (18 February 2011 -
and usually other problems, e.g. A problem with iBarShift - MQL4 programming forum - Page 2
-
You must handle History {MT4:4066/4073 errors: Download history in MQL4 EA - MQL4 programming forum, MT5: Timeseries and Indicators Access / Data Access - Reference on algorithmic/automated trading language for MetaTrader 5.}
-
Code it to trade the chart pair only. Look at the others if you must. Don't assume that Time[i] == iTime(otherPair, TF, i) always use iBarShift.
I recommend: Do not trade multiple currencies in one EA.
-
You can't use any {MT4: predefined variables, MT5: predefined variables,}
-
Must poll (not OnTick, unless you use specific indicators)
The Implementation of a Multi-currency Mode in MetaTrader 5 - MQL5 Articles (18 February 2011 -
and usually other problems, e.g. A problem with iBarShift - MQL4 programming forum - Page 2
-
You must handle History {MT4:4066/4073 errors: Download history in MQL4 EA - MQL4 programming forum, MT5: Timeseries and Indicators Access / Data Access - Reference on algorithmic/automated trading language for MetaTrader 5.}
-
Code it to trade the chart pair only. Look at the others if you must. Don't assume that Time[i] == iTime(otherPair, TF, i) always use iBarShift.
I respect your opinion sir. In fact, I've had to rethink my decision after reading your post.
However, my implementation is different, and seems to work just fine. Everthing to do with signal processing - be it on tick, or others- is implemented in an indicator, which is in turn deployed to as many charts as one may whish, but should be chosen keenly for optimal performance. All that's left for the EA to do is open positions for raised signals using the OnChartEvent, manage the money used by a specific currency pair, with respect to previous trade performance on the pair, and monitor trading conditions such as presence of news, favourable spread values and facilitate remote logging/control using the websocket/http functionalities. It's a fine implementation.
edit: Just be careful not to overload the indicator. But since we're using a single indicator on each pair, a lag on one chart will not affect the others, but should be fixed nonetheless. This is also a good way of utilising multiple cores, since each indicator runs in it's own thread. I consider this method more resource conservative, instead of running as many indicators and EAs as the number of traded symbols, which will also be a problem to manage - especially for remote control and logging.
To change the signal, one will only ever need to change the indicator. Recompilling the EA is also not necessary, unless the indicator is included in the EA as a resource.
I respect your opinion sir. In fact, I've had to rethink my decision after reading your post.
However, my implementation is different, and seems to work just fine. Everthing to do with signal processing - be it on tick, or others- is implemented in an indicator, which is in turn deployed to as many charts as one may whish, but should be chosen keenly for optimal performance. All that's left for the EA to do is open positions for raised signals using the OnChartEvent, manage the money used by a specific currency pair, with respect to previous trade performance on the pair, and monitor trading conditions such as presence of news, favourable spread values and facilitate remote logging/control using the websocket/http functionalities. It's a fine implementation.
edit: Just be careful not to overload the indicator. But since we're using a single indicator on each pair, a lag on one chart will not affect the others, but should be fixed nonetheless. This is also a good way of utilising multiple cores, since each indicator runs in it's own thread. I consider this method more resource conservative, instead of running as many indicators and EAs as the number of traded symbols, which will also be a problem to manage - especially for remote control and logging.
To change the signal, one will only ever need to change the indicator. Recompilling the EA is also not necessary, unless the indicator is included in the EA as a resource.
Your initial decision is perfectly fine. William advice is only his opinion which is based on outdated stuff. MT4/mql4 is obsolete technically, there is 0 objective reasons to keep using it.
MT5 is the future, and all in one EA (multi-symbols and/or multi-timeframes) is perfectly fine and doable. It has a lot of advantages, but also some drawbacks, the solution of 1 symbol by chart is also valid, it all depends of the exact needs.
How is that post related to the topic ? I don't get it.
wt* ohh..
I prob opened many tabs and replied on the wrong thread.. And I thought it was deleted
wt* ohh..
I prob opened many tabs and replied on the wrong thread.. And I thought it was deleted


- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hello!
I code my signal strategy in indicators, which in turn raise buy,sell or close events, which are sent to the chart in which my EA is attached. This is a fine implementation, since I can launch the indicator on multiple symbols, and have them include the symbol the signal is for, thus making the process of developing multi-currency EAs a piece of cake. I've never seen this implementation anywhere, yet, so I'd like to hear your opinions. Please link other threads, forums or links whenever you can.
Regards.