EA-2026 · Mean Reversion

CoensioTrader1V06

This EA trades Bollinger Band mean-reversion signals confirmed by DEMA trend direction across up to 6 currency pairs simultaneously. It enters buy when price pierces below the lower Bollinger Band and reverses upward in an uptrend, and sells when price pierces above the upper band and reverses downward in a downtrend. It includes equity take-profit, trailing stop-loss, optimization data mining, and a remote server verification system.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskCaution
Blow-up riskHigh
Rating★★☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsBollinger Bands, DEMA, SMA
Author© Coensio

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD+1.60%+1.39%6.09%14251.80%0.380.267+$0.90Reliable
GBPUSD-3.17%-2.76%9.93%14247.50%-0.52-0.326−$2.08Reliable
USDJPY+8.05%+6.96%3.37%14259.60%1.472.395+$5.60Reliable
XAUUSD-93.28%-89.25%95.61%3748.60%-1.56-0.985−$252.10Account stopped out

Profitable on 2 of 4 markets with reliable results.

Converted from MQL5 to Python and run with the same rules for every EA. Positions use MT5 lot sizes (100,000 units per FX lot, 100 oz per gold lot) with 1:100 leverage, one order at a time, and a stop-out below 10% of the starting balance. Sharpe is computed from the equity curve. Results marked as unreliable are shown for completeness only.

Against the other Mean Reversion EAs with a reliable result on the same market: EURUSD: better than 70% of 30 · GBPUSD: better than 34% of 32 · USDJPY: better than 97% of 32 · XAUUSD: better than 10% of 31

Month by month

MarketMonths with a gainBest monthWorst month
EURUSD46%+1.79% 2026-01-1.62% 2026-10
GBPUSD54%+2.86% 2026-01-3.07% 2026-08
USDJPY69%+3.92% 2026-08-1.80% 2026-09
XAUUSD15%+24.91% 2025-12-89.20% 2026-02

From the backtest equity curve, sampled about every two days; only reliable results.

Blow-up risk: High

  • Hit a stop-out in our backtest (equity below 10%) on XAUUSD

High: stopped out in our backtest, or martingale/grid sizing without a stop loss. Elevated: martingale or grid sizing with a stop loss, or several positions at once without a stop loss. What the label means and what we found →

Strategy analysis

The strategy concept is Bollinger Band mean reversion, entering when price pierces outside the bands and reverses back, with DEMA trend direction on a higher timeframe serving as a trend filter. Buy entry requires the previous bar to open below the lower band and close above it (piercing back inside), a higher low on the previous bar versus the one before, and a lower low two bars back (double bottom pattern), all confirmed by an ascending DEMA; sell signals follow the symmetrical logic. Exit conditions include fixed take-profit and stop-loss in pips, an equity take-profit that closes all positions when equity exceeds a multiple of balance, a trailing stop-loss step mechanism, and optional signal-based position closing. Position sizing supports three modes: risk-percentage-based lot calculation, fixed lot size, or equity-divided lot sizing. Money management has gaps including no minimum stop-loss distance, no spread filter, no maximum position limit per symbol, and the remote server verification code is obsolete and potentially insecure.

Strengths

  • Multi-currency simultaneous trading capability supporting up to 6 pairs for risk diversification
  • Combines Bollinger Band mean reversion with DEMA trend filter to avoid counter-trend trades
  • Multiple position sizing modes (risk percentage, fixed lot, equity ratio) for flexible risk management
  • Equity take-profit mechanism prevents floating profit drawdowns
  • Built-in optimization data mining and remote result uploading for systematic backtesting analysis

Weaknesses

  • Indicator handles (iBands, iDEMA) are recreated on every BarLogic call causing severe resource leaks and performance degradation
  • Uses deprecated MQL4 functions like MarketInfo(), StrToDouble(), DoubleToStr() resulting in poor compatibility
  • Depends on remote server verification (coensio.com is defunct) which may prevent the EA from starting
  • Missing spread filter, maximum position limits, and slippage protection exposing risk during volatile markets
  • Hardcoded URLs and access codes pose security concerns, and the copyright check logic is inverted (rejects when username equals 'coensio')

Possible improvements

  • Move indicator handle creation to Init() and only call CopyBuffer in BarLogic() to eliminate resource leaks
  • Remove remote server verification and wininet.dll dependency, replace with local license validation
  • Add spread filter, maximum open position limits, and news event time filtering to improve robustness
  • Replace all deprecated MQL4 functions with MQL5 equivalents and fix the inverted logic in EACheck()

Risk assessment

Overall risk: Caution

  • Indicator handles recreated on every new bar may cause memory leaks and terminal crashes
  • Remote server verification depends on a defunct website, potentially preventing EA initialization
  • No spread filter may cause entries at extreme slippage during low-liquidity periods
  • Username validation logic in EACheck is inverted, rejecting the default username instead of accepting it
  • PositionSelect by symbol alone may accidentally select positions from other EAs on the same symbol

Evaluation scores

Code quality2.0
Strategy logic3.0
Risk management2.0
Robustness1.0
Innovation2.0
Documentation2.0
Overall2.0

Parameters

ParameterDefaultDescription
UserNamecoensioUsername for identification and remote verification
TimeFramePERIOD_H1Base timeframe
NumOfCurrencies1Number of trading currency pairs, 1 to 6
MarketWatchTimer60EA loop timer interval (seconds)
EquityTakeProfit1.2Equity take profit multiplier, closes when equity exceeds balance by this factor
RiskMax0Maximum risk percentage, 0 uses fixed lot
LotSize0Fixed lot size, 0 calculates by equity ratio
LotBalanceDivider1000000Equity divider for equity-proportional lot calculation
TrailingStopLossStep10Trailing stop step (points), 0 disables
CloseOnSignalfalseClose position on reverse signal
Slip3Slippage tolerance (points)
TakeProfitPips1-6250/300/100/200/100/300Take profit in pips per symbol
StopLossPips1-6100/200/150/100/150/200Stop loss in pips per symbol
BPeriod1-630/40/10/40/50/30Bollinger Bands period per symbol
BShift1-61Bollinger Bands shift per symbol
BDeviation1-61.5/2/2/2/1.5/1Bollinger Bands deviation multiplier per symbol
DemaTimeFrame1-6PERIOD_D1DEMA timeframe per symbol
DemaPeriod1-620/40/20/40/10/10DEMA period per symbol

Similar Mean Reversion EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.