I Thought I Had 9 Gold Strategies. Then I Looked at the Risk.
For quite a while, I was comfortable saying that Golden Royal contained nine strategies.
Technically, that is exactly what it contains.
There are nine separate strategy modules, with different timing structures, entry conditions and position-management logic. They are not simply nine parameter sets of the same entry.
So naturally I thought about them as nine strategies.
Then, while looking at the combined trading logic, I caught myself asking a rather uncomfortable question:
What if, at certain moments, I don't really have nine risks?
What if I have one Gold position expressed through several different algorithms?
It sounds obvious now that I write it down.
It wasn't quite so obvious while I was building the system.
And I think there is an interesting distinction here between strategy diversification and risk diversification.
They are not necessarily the same thing.
Nine algorithms, one instrument
Consider a simple situation.
Strategy 2 finds a valid LONG setup on XAUUSD.
Twenty minutes later, Strategy 5 independently finds another LONG setup.
Strategy 7 joins an hour later.
Meanwhile, Strategy 1 is still holding a LONG position opened earlier.
Nothing is necessarily wrong.
Every strategy followed its own rules. Every setup may be perfectly valid according to the logic that produced it.
From the software architecture point of view, I have four independent strategy decisions.
From the account's point of view, however, I have four positions exposed to the same instrument in the same direction.
That is where the distinction becomes important.
If Gold suddenly drops, the market doesn't care that those four positions came from four beautifully separated classes in my source code.
The account sees exposure.
This made me wonder whether I had been looking at diversification from the wrong side.
Correlation doesn't tell the whole story
The obvious approach is to compare strategy returns.
Build a correlation matrix. Look for strategies whose historical P/L behaves differently. If the correlation is low, perhaps they provide diversification.
That is useful information.
But I don't think it answers the entire question.
Imagine Strategy A normally holds positions for many hours.
Strategy B is much faster and frequently trades for less than an hour.
Their trade sequences can look quite different. Their returns may not be highly correlated.
But if Strategy B repeatedly enters LONG while Strategy A is already LONG, there are periods when both strategies are exposed to exactly the same directional move in Gold.
That temporary concentration may matter even if their long-term return correlation looks harmless.
So I became interested in measuring something much simpler:
How much time are my strategies actually exposed together?
Not whether they make money together.
Not whether they enter on the same bar.
Just whether they are simultaneously carrying market exposure.
My first version would be deliberately boring
Before building another clever subsystem into the EA, I would rather export the raw information and look at it.
For every position I need only a few things:
struct StrategyExposure { int strategy_id; datetime entry_time; datetime exit_time; int direction; double lots; double profit; };
With that data it becomes possible to reconstruct what the portfolio was actually doing through time.
At the simplest level:
long_exposure = SumLongLots(); short_exposure = SumShortLots(); gross_exposure = long_exposure + short_exposure; net_exposure = long_exposure - short_exposure;
Nothing particularly sophisticated.
But already I can ask questions that the normal Strategy Tester summary does not answer:
How often are several strategies active simultaneously?
How often are they in the same direction?
Which strategy pairs overlap most frequently?
How large does gross exposure become?
How large does directional exposure become?
And, eventually, the question I care about most:
Are periods of high strategy overlap disproportionately represented in drawdown?
I don't know the answer yet.
That is why I want to measure it.
Even "overlap" turned out to be less simple than I first thought
Suppose Strategy A is in the market for 100 hours.
Strategy B is in the market for only 10 hours.
All 10 of B's hours occur while A is already active.
How much do they overlap?
From B's point of view, the answer is 100%.
From A's point of view, it is only 10%.
So a statement such as:
"Strategy A and Strategy B overlap 50% of the time"
is actually ambiguous unless I define what I mean.
I could measure directional conditional overlap:
overlap(A -> B) = time(A and B are simultaneously exposed) / total exposure time of A
and separately:
overlap(B -> A) = time(A and B are simultaneously exposed) / total exposure time of B
Those two values do not have to be equal.
I could also calculate a symmetric measure based on the intersection and union of their active periods.
I haven't decided which representation is most useful yet. My suspicion is that I will want to see both.
The asymmetry itself may contain useful information.
A fast strategy might spend most of its life trading inside the exposure window of a slower strategy, while the slower strategy barely "notices" the fast one statistically.
That is exactly the sort of relationship I want to see.
Then I noticed another trap: lots are not risk
My first instinct was to reconstruct portfolio exposure using position volume.
For one instrument, that is a reasonable place to start.
But it is still not the same as measuring actual planned risk.
Consider two positions:
Strategy A: 0.10 lot Strategy B: 0.10 lot
They look identical from a volume perspective.
But suppose Strategy A has a relatively tight Stop Loss while Strategy B has a much wider one.
The nominal position sizes are equal.
The monetary amounts at risk are not.
So I think there are really two experiments here.
The first is market exposure: how much XAUUSD volume is simultaneously long or short.
The second is risk exposure: how much predefined monetary risk is simultaneously allocated by the active strategies.
Those are related measures, but I don't want to confuse them.
A simple first approximation might normalize each open position by its initial risk:
position risk = distance to initial Stop Loss × value per price unit × position size
Then I can reconstruct not only:
Four strategies are LONG.
but something much more useful:
Four strategies are LONG and together currently represent X% of the account's predefined risk budget.
That is closer to the question I actually care about.
Agreement is psychologically attractive
There is another reason this problem interests me.
Suppose one strategy says BUY.
Fine.
Now suppose five independently developed strategies find LONG setups within roughly the same period.
My instinctive reaction is:
That's strong confirmation.
And perhaps it is.
But there is another interpretation.
Perhaps five algorithms are reacting to the same underlying market condition through slightly different rules.
In that case I don't have five independent confirmations.
I may have discovered the same factor five times.
I keep thinking about the difference between five weather models predicting rain and five thermometers mounted next to each other on the same wall.
Both situations give you five readings.
Only one necessarily gives you five substantially different sources of information.
The difficult part is knowing which situation your trading strategies resemble.
This is why I am becoming careful with the word "diversification"
Golden Royal trades XAUUSD.
All nine strategies trade XAUUSD.
That fact puts a hard limit on what I should claim about diversification.
The strategies may diversify:
-
entry logic;
-
timing;
-
holding periods;
-
confirmation conditions;
-
trade-management behavior.
But they do not diversify the underlying instrument.
That distinction is important.
A portfolio containing Gold, equities, bonds and currencies is diversified in a fundamentally different way from nine algorithms trading Gold.
A multi-strategy XAUUSD EA may still benefit from having different sources of edge.
But I don't think the number of strategies alone proves that those sources are independent.
That needs to be measured.
Now suppose the fifth strategy wants to enter
This is where the research problem becomes practical.
Imagine four strategies are already LONG XAUUSD.
A fifth strategy produces a completely valid LONG signal.
What should the EA do?
The cleanest architecture is to treat every strategy independently.
If Strategy 5 normally risks 1%, it receives its normal 1% risk allocation.
There is an obvious advantage to this approach: one strategy cannot interfere with another.
There is also an obvious disadvantage: total directional risk can accumulate.
Another possibility is to impose a global XAUUSD risk limit.
Once the portfolio reaches that limit, new positions are rejected or reduced.
Simple enough.
But now Strategy 1 may consume the available risk budget and prevent Strategy 5 from taking what turns out to be a much better trade.
I could rank strategies.
I could scale later entries.
I could reduce risk as simultaneous exposure increases.
And this is exactly the point where I become suspicious.
Because every apparently sensible solution introduces another decision.
If the second strategy receives 75% of normal risk and the third receives 50%, why those numbers?
Why not 80% and 40%?
How were they obtained?
How sensitive are the results to them?
Before long I am no longer measuring concentration.
I am optimizing a concentration-management system.
Those are two very different activities.
So for now, I don't want to solve it
I want to measure it.
This is an important distinction for me.
After more than 20 years in software development, I have developed a fairly predictable bad habit: when I see a problem, I want to build something.
A subsystem.
A manager.
A controller.
A clever abstraction.
In trading software that instinct can become expensive.
Complexity feels like progress because you can see it in the source code.
Robustness is much harder to see.
So my current plan is intentionally less exciting:
Measure the existing behavior first.
No portfolio governor.
No adaptive correlation engine.
No optimized exposure thresholds.
Just collect the data and try to answer a few questions.
The experiment I actually want to run
I want to reconstruct the historical portfolio and divide its trades into groups based on simultaneous directional exposure.
For example:
Group A: one strategy exposed Group B: two strategies exposed in the same direction Group C: three strategies exposed in the same direction Group D: four or more strategies exposed in the same direction
Then compare their behavior.
Not only Profit Factor.
I would also want to look at:
-
expectancy;
-
drawdown contribution;
-
adverse excursion;
-
holding time;
-
realized risk;
-
frequency of simultaneous losses.
The important thing is that I do not yet know what those numbers will show.
Maybe increasing strategy agreement really does improve the outcome.
If so, reducing risk during agreement could be exactly the wrong thing to do.
Maybe nothing meaningful changes at all.
That would also be useful.
Or perhaps losses become disproportionately concentrated when several strategies are aligned.
Only in that third case would I have a reason to start thinking seriously about portfolio-level intervention.
This order matters to me:
measure → form a hypothesis → test it outside the period that produced the hypothesis → then consider changing the EA.
Not the other way around.
A hypothetical result
To make the idea concrete, imagine that an experiment produced this:
One active strategy: Profit Factor = 2.4 Two aligned strategies: Profit Factor = 2.8 Three or more aligned strategies: Profit Factor = 1.1
These numbers are fictional. They are not Golden Royal test results.
I am using them only to illustrate the kind of result that would make me investigate further.
If I actually observed something like this, it would be tempting to immediately write:
if(aligned_strategies >= 3) ReduceRisk();
I think that would be premature.
First I would want to know whether the effect survives another historical period.
Then another dataset.
Then changes in spread assumptions.
Then perhaps a different broker's Gold data.
I would also want to know whether the apparent deterioration came from strategy concentration at all, or whether high overlap simply happened to coincide with another market condition.
This is where trading-system research becomes uncomfortable.
Finding a pattern is easy.
Finding a pattern you can trust is much harder.
Simple tests before clever solutions
The same principle applies to some of the protection mechanisms I have been considering.
Take volatility.
I could build a sophisticated volatility-regime classifier.
But before doing that, I would rather test a crude hypothesis:
if(currentATR > longTermATR * volatilityThreshold) allowNewTrades = false;
There is no magic threshold in that code.
The experiment is simply asking:
Does the strategy behave differently when short-term volatility becomes unusually large relative to its longer-term baseline?
If the answer is no, I have saved myself from building a volatility subsystem I didn't need.
The same applies to short-term deterioration.
Instead of immediately implementing an elaborate statistical state machine, I can first ask whether losses actually cluster:
if(rollingProfitFactor < deteriorationThreshold) pauseNewEntries = true;
Again, the threshold is not the point.
Before optimizing when to pause, I first want evidence that pausing has a structural reason to exist.
That sounds almost embarrassingly obvious.
It is also surprisingly easy to forget when Strategy Tester gives you an optimization button.
The current backtest tells me something. It doesn't tell me this.
The current combined historical test of Golden Royal contains:
2,366 trades
82.21% profitable trades
Profit Factor: 4.16
Sharpe Ratio: 8.49
Recovery Factor: 17.75
Relative Equity Drawdown: 24.21%
The test uses Every tick based on real ticks, with 100% History Quality, and processed more than 120 million ticks.
These are historical Strategy Tester results from a particular dataset, period, configuration and testing environment.
They are not live results, and I don't assume they will repeat in future trading.
More importantly for this discussion, none of those statistics answers the question that started this article.
A Profit Factor of 4.16 doesn't tell me whether three strategies repeatedly carry the same directional risk.
A Sharpe Ratio doesn't tell me which strategies spend most of their holding time inside another strategy's positions.
An 82.21% historical win rate doesn't tell me whether portfolio drawdowns are concentrated during periods of high exposure overlap.
Those are different questions.
And I realized I hadn't been asking them.
A small challenge for anyone building multi-strategy EAs
Take a multi-strategy EA that you know well.
Don't optimize it.
Don't improve the entries.
Don't add another indicator.
Export only:
strategy ID entry time exit time direction volume initial monetary risk
Then reconstruct simultaneous exposure.
If the strategies rarely overlap, good. You have learned something.
If they overlap frequently but in different directions, that is interesting too.
And if several supposedly independent strategies repeatedly accumulate risk in the same instrument, in the same direction, at the same time...
then I think you have found a question worth investigating.
Not necessarily a problem.
A question.
That distinction is important.
I would be particularly interested in how other MQL5 developers measure this.
Do you use return correlation?
Exposure-time overlap?
Risk-weighted overlap?
Maximum concurrent risk?
Something else?
And if five strategies agree on the same direction, do you treat that as confirmation or concentration?
I can make a reasonable argument for either answer.
That is precisely why I haven't coded the solution yet.
There is an old piece of advice in investing:
Don't put all your eggs in one basket.
Nine strategies sounds reassuringly like nine baskets.
But if all nine baskets are sitting in the same Gold truck, it may be worth looking at the truck.
That is what I want to do next.
Not another entry condition.
Not another optimized parameter.
Not another impressive feature for the settings panel.
Just a fairly mundane engineering question that I probably should have asked earlier:
How much independent risk do I actually have?
I don't know the answer yet.
I have nine strategies.
Whether I have nine genuinely different sources of risk is another matter.
And right now, that distinction interests me much more than adding Strategy #10.
Risk & Performance Notice
The Strategy Tester statistics discussed in this article are historical simulated backtest results, not live trading results.
Historical or simulated performance does not guarantee, predict or imply future performance. Actual trading results may differ because of changing market conditions, spreads, commissions, slippage, execution quality, broker conditions, symbol specifications, EA settings and other factors.
Trading financial instruments involves substantial risk and may result in partial or complete loss of trading capital.
Golden Royal does not guarantee profits, returns, specific trading performance or protection against losses.
This article is provided for informational, technical-discussion and product-development purposes only and does not constitute investment, financial or trading advice.


