0.65
TradableBuy when price closes below the lower Bollinger Band (12, 2) while price remains above the 200 SMA, aiming for reversion to the mean.
Actively forward-tested. Metrics improving but not yet fully validated.
Free preview: upgrade to Pro for PDFs or Elite for full exports.
0.65
Tradable+0.31%
Net positive57.1%
Confidence zone7
Limited dataThis mean reversion playbook targets EUR/USD when price over-extends beneath value during calm sessions. We watch for volatility compression, then ride the snap back toward the midpoint once momentum shifts.
Win rate sits at 57.14%. Expect more losing trades than winners. The edge survives because average wins outweigh losses (profit factor 1.27). Stay mechanical through drawdowns.
Expect 2-4 trades per week. Win rate sits at 57.14% with expectancy of 4.4490 per trade. Stick to the plan and the edge compounds.
Oversold conditions flush weak hands while smart money accumulates. When volatility is compressed, price is more likely to mean-revert than trend. We wait for the elastic snap while controlling risk with precise sizing.
Profit factor 1.27 signals the average winner pays for a few losers. Discipline is the catalyst that turns this math into equity growth.
We only trade when spreads are tight and liquidity is deep.
Session: Refer to session matrix
Trade when the desk is alert — think New York + London overlap.
Volatility must be compressed before we look for reversion.
Rule: ATR(14) < 0.8 × SMA(ATR, 20)
Quiet markets give us rubber-band moves. Elevated ATR signals trend conditions — stand down.
//@version=5
indicator("ATR Compression Filter", overlay=false)
atr14 = ta.atr(14)
atr_sma = ta.sma(atr14, 20)
ratio = atr14 / atr_sma
plot(atr14, color=color.new(color.emerald, 0), title="ATR(14)")
plot(atr_sma, color=color.new(color.yellow, 0), title="20-Period ATR SMA")
plot(atr_sma * 0.8, color=color.new(color.red, 0), linewidth=2, title="80% Threshold")
bgcolor(ratio < 0.8 ? color.new(color.green, 88) : color.new(color.red, 90))Three exit conditions guard capital. The first trigger closes the position — no exceptions, no tweaks.
Type: stop_loss
Distance: 1R
Type: take_profit
Distance: 2R
Conservative sizing keeps you in the game. Ten consecutive losses only draw down 5.0% of equity.
Formula: Account Equity × 0.0050 = Dollar risk per trade
Example: $10,000 account × 0.0050 = $50 risk
Plug stop distance into your calculator before every entry. Never wing lot size — discipline keeps expectancy intact.
LONG
Entry Price
—
Exit Price
—
P&L
-40.454325468844985
Pips
—
LONG
Entry Price
—
Exit Price
—
P&L
-45.14593457854974
Pips
—
Showing last 2 trades from the validated backtest.
☐ Session window confirmed
☐ ATR compression holds
☐ Price below lower Bollinger Band (12, 2)
☐ Price above 200 SMA to maintain bullish bias during mean reversion
☐ Exposure ≤ 3 open trades
☐ No red-folder news pending
☐ Not Friday post 14:00 UTC
Problem: Signals fire during trending conditions.
Impact: Trade fights momentum and stops out quickly.
Fix: Confirm ATR(14) < 0.8 × SMA before every setup.
Problem: Entries placed before the candle closes.
Impact: Signal invalidates, leaving poor fill location.
Fix: Wait for the close. Only enter once the bar completes.
Problem: Stretching stop to “give the trade room”.
Impact: Small loss compounds into outsized drawdown.
Fix: Place stop, walk away. Respect the initial risk.