Discussing the article: "Formulating Dynamic Multi-Pair EA (Part 4): Volatility and Risk Adjustment"

 

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.

Formulating Dynamic Multi-Pair EA (Part 4): Volatility and Risk Adjustment

Author: Hlomohang John Borotho

 

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

 
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

Hey,

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