How to Reduce Drawdown in XAUUSD M15 EAs? - page 3

I think you have to calculate the losses amount, so that you will know the % and reduce the lot size. Then test your EA result at backtest.
Sylvain nailed it. Cutting size just scales the curve. I halved my gold lots after an 8 percent drawdown and the recovery just got boring, not safer. Blocking 10pm to 1am server time worked better. Spread kept widening from 25 to 60 cents there and my M15 entries died. No day worse than 2 percent since.
Dinesh Biswas #:
I think you have to calculate the losses amount, so that you will know the % and reduce the lot size. Then test your EA result at backtest.
I do something similar. I backtest, I read the average consecutive loss count and the maximum consecutive loss count, and then I implement code that minimizes my position size (for futures, 1.00; for spot, 0.01) when average consecutive loss count is exceeded─until another trade closes in profit. Then of course, I backtest again. The whole process is posted in my user Profile.

Hello, 

Below are the steps I am following in my trading.

1. Risk Management Techniques for Gold

Volatility-Based Position Sizing : Calculate lot size using Average True Range (ATR) so stop losses expand during high volatility without increasing risk. Tight Hard Stop Loss: Never trade M15 XAUUSD without a hard stop; gold moves rapidly and can blow accounts within minutes. ATR trails to protect gains during extended swings.

2. Fixed Lot vs. Percentage Risk : Percentage Risk Is Far Superior: Dynamic position sizing based on equity (typically 0.5%–1% per trade) automatically scales back risk during drawdowns. Fixed Lot Risks Account Ruin: Equity curves fluctuate rapidly on M15 gold; fixed lot sizes cause disproportionate drawdowns when stop loss distances expand.

3. Filtering High-Volatility Sessions : Use Session Time Filters. Pause entry generation if real-time spread widens or M15 ATR exceeds normal baseline thresholds.

4. Pausing During High-Impact News Events : Yes, Always Filter High-Impact News: Automatically halt algo entry generation 15–30 minutes before and after Tier-1 news events. 

[Deleted]
I think one thing worth looking at is how the EA handles entries during gold's high-volatility periods. On M15, I've noticed that drawdown can build up quickly when the market starts ranging or making sudden reversals. Have you tried adjusting the risk per trade, adding a volatility filter, or limiting consecutive entries? Also, does your EA use grid or martingale logic, or is it based on individual entries?
bctracyx #:
I think one thing worth looking at is how the EA handles entries during gold's high-volatility periods. On M15, I've noticed that drawdown can build up quickly when the market starts ranging or making sudden reversals. Have you tried adjusting the risk per trade, adding a volatility filter, or limiting consecutive entries? Also, does your EA use grid or martingale logic, or is it based on individual entries?

Well said. I trade a single position at a time, and:

Forum on trading, automated trading systems and testing trading strategies

How to Reduce Drawdown in XAUUSD M15 EAs?

Ryan L Johnson, 2026.10.06 13:24

I do something similar. I backtest, I read the average consecutive loss count and the maximum consecutive loss count, and then I implement code that minimizes my position size (for futures, 1.00; for spot, 0.01) when average consecutive loss count is exceeded─until another trade closes in profit. Then of course, I backtest again. The whole process is posted in my user Profile.

Hi...@Ebas


For XAUUSD on M15, I’ve found that risk management matters more than trying to avoid every volatile move.... I generally prefer percentage-based risk rather than fixed lots, because gold’s volatility can change significantly. The lot size should be calculated from the stop distance and the chosen risk, so the same percentage of equity is at risk even when market conditions change....

and for volatility, ATR or a similar volatility measure can be useful for both stop placement and position sizing. I also prefer a session/spread filter rather than simply blocking certain hours and.... For news, I wouldn’t automatically stop every time. It depends on the strategy. If the EA is sensitive to spread spikes and slippage, a news filter can make sense; otherwise, completely avoiding news can remove some of the strategy’s best opportunities.

The main thing I’d avoid on gold is increasing lot size just to recover losses. That can make drawdown grow much faster than expected. For an EA, I’d combine risk-based sizing + volatility filter + spread/execution filter + controlled news handling, then validate the whole combination with out-of-sample testing rather than optimizing each filter separately.
Ebas - MAXiii566 - Trader's profile
Ebas - MAXiii566 - Trader's profile
  • 2026.03.01
  • www.mql5.com
Trader's profile
Vignesh Mani #:
The lot size should be calculated from the stop distance and the chosen risk...

Exactly. That is covered in my user Profile as well.

We seem to building a valuable consensus for new traders.

One technique I haven't seen mentioned yet: trade your equity curve itself. Track the EA's closed-trade equity and its moving average; when equity drops below that average, pause new entries until it recovers above it. On choppy M15 gold stretches this automatically sidelines the strategy during its losing phases — the same clustering Sylvain and Ryan described — and re-engages when conditions normalize. It needs no extra market filters, just a running balance of closed P/L in the EA, and it backtests cleanly since the rule is fully mechanical. It won't fix a broken edge, but it trims the deep drawdown tails that news-whipsawed gold produces.
Solid approach, and I agree on all four points. Fixed percentage risk keeps position sizing consistent as the account grows, and a daily drawdown cap stops one bad session from turning into a bad week.
I build gold EAs and found the same things matter most. Time and day filters helped a lot, because the spread and volatility spikes around rollover and major news are where most damage happens. A news pause plus a daily loss limit made my EA's drawdown much smoother.
One thing I'd add is a spread filter. On XAUUSD the spread can widen sharply, so skipping entries when it's above a set limit saves a lot of bad fills.