Issues of volatility can be ironed out by implementing 3 simple things:
1) Only allowing 1 trade per pair at a time
2) Keeping to fixed lots and only increase lots (manually) at new equity highs
3) Adding more currency pairs and at different time frames
To continue making this EA work smoothly (as is the case for me) - I've added/modified the following pairs/timeframes (they've all been backtested):
EURUSD M15, EURUSD M30,
GBPUSD M5, GBPUSD M15,
USDCHF M5, USDCHF M15
Lot sizing will need to be re-adjusted as well as there are duplicate pairs (i.e. EURUSD, GBPUSD, and USDCHF) plus they all perform at different frequencies and profitabilities, historically speaking (this is optional).
For a $10k start balance, lot sizes could be:
AUDUSD = 0.12
EURGBP = 0.12
EURUSD = 0.02 (0.02*2=0.04)
GBPUSD = 0.02 (0.02*2=0.04)
NZDUSD = 0.12
USDCHF = 0.02 (0.02*2=0.04)
USDJPY = 0.12
Of course, one could just stick to the standard fixed 0.01 lot per $1k rule to keep things simple.
*Note: there's probably a few more timeframes / currency pairs that could work to create a great combo (i.e. H1 timeframe, SGD currency pair). You'll need to perform your own backtests to check if they are satisfactory to your preferences.
Here's a portfolio backtest (max drawdown hovers around ~10%):
Trade systematically. Trade algorithmically.