Discussing the article: "Formulating Dynamic Multi-Pair EA (Part 4): Volatility and Risk Adjustment"
Hello,
A very interesting article. I have just skimmed it and determined I will give it a detailed evaluation as it is similar to an EA I am developing.
My first question is there any reason that all the trades were buys and no sells ? Also are you planning on further articles on this subject?
From my brief review of your code, may I suggest that GetSymbolIndex and other variables like point should be moved to the top of the symbol loop and assigned to variables to improve efficiency by reducing redundancy.. As more symbols are added to the pairs list, exponentially more time will be spent in redundant code execution. You might also consider adding a PairCode index to your arrays so they could be accessed directly.
CapeCoddah
Hello,
A very interesting article. I have just skimmed it and determined I will give it a detailed evaluation as it is similar to an EA I am developing.
My first question is there any reason that all the trades were buys and no sells ? Also are you planning on further articles on this subject?
From my brief review of your code, may I suggest that GetSymbolIndex and other variables like point should be moved to the top of the symbol loop and assigned to variables to improve efficiency by reducing redundancy.. As more symbols are added to the pairs list, exponentially more time will be spent in redundant code execution. You might also consider adding a PairCode index to your arrays so they could be accessed directly.
CapeCoddah
The reason for all the trades being buys depend on the input settings that you may have entered, and if you used the same settings as I did on the back-test, the reason is that i have optimized the EA. Futher articles on this subject may come along in due time.
Thanks for your suggestion, I will keep that in mind.
JohnHlomohang

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Check out the new article: Formulating Dynamic Multi-Pair EA (Part 4): Volatility and Risk Adjustment.
This phase fine-tunes your multi-pair EA to adapt trade size and risk in real time using volatility metrics like ATR boosting consistency, protection, and performance across diverse market conditions.
In multi-pair trading, one of the challenges traders face is inconsistent performance caused by varying volatility across different currency pairs. As discussed in the previous article, a strategy that performs well on EURUSD may underperform or become overly risky on GBPJPY due to their different volatility profiles. Using fixed lot sizes or static stop losses can lead to oversized positions in volatile markets or missed opportunities in stable ones. This lack of adaptability often results in uneven risk exposure, increased drawdowns, and unpredictable results especially during high-impact news events or sudden market shifts.
To solve this, we introduce volatility and risk adjustment within the EA. By incorporating tools like the Average True Range (ATR) and dynamic risk-based sizing, the EA automatically adapts trade parameters to current market conditions. This ensures each position is proportionally balanced to its volatility, delivering consistent risk management and improving the EA’s performance across all traded pairs.
Author: Hlomohang John Borotho