In TestingEUR/USDD1mean reversion

EURUSD D1 BB Mean Revert (BB12)

Buy 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.

Sharpe Ratio

0.65

Tradable
Total Return

+0.31%

Net positive
Win Rate

57.1%

Confidence zone
Trade Sample

7

Limited data

Strategy Overview

What This Strategy Does

This 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.

Who This Is Built For

  • • Traders comfortable with lower win rates (57.14%) but positive expectancy
  • • Desk schedules that can monitor the close of each D1 candle
  • • Accounts ≥ $5,000 to size consistently at 0.25% risk per position

Risk Warning

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.

Performance Snapshot

Total Return+0.3114%
Annual Return+0.1631%
Max Drawdown-0.86%
Total Trades7

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.

The Edge Behind The Rules

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.

Entry Setup (Step-by-Step)

Filter 1: Trading Session

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.

Filter 2: ATR Compression

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.

TradingView Indicator Code

//@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))

Elite Feature

TradingView code export is available for Elite members only

Upgrade to Elite →

Exit Rules

Three exit conditions guard capital. The first trigger closes the position — no exceptions, no tweaks.

Exit 1: 1R stop loss

Type: stop_loss

Distance: 1R

Exit 2: 2R take profit

Type: take_profit

Distance: 2R

Position Sizing

Risk Per Trade: 0.50%

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.

Trade Examples

LONG

Session snapshot #1

Entry time N/A Exit time N/A

Entry Price

Exit Price

P&L

-40.454325468844985

Pips

Setup notesMean reversion bounce confirmed at session open.

LONG

Session snapshot #2

Entry time N/A Exit time N/A

Entry Price

Exit Price

P&L

-45.14593457854974

Pips

Setup notesMean reversion bounce confirmed at session open.

Showing last 2 trades from the validated backtest.

Checklist & Execution Discipline

PRE-TRADE FILTERS

☐ Session window confirmed

☐ ATR compression holds

ENTRY SIGNALS

Price below lower Bollinger Band (12, 2)

Price above 200 SMA to maintain bullish bias during mean reversion

RISK CHECKS

☐ Exposure ≤ 3 open trades

☐ No red-folder news pending

☐ Not Friday post 14:00 UTC

Mistake 1: Skipping ATR Compression

Problem: Signals fire during trending conditions.

Impact: Trade fights momentum and stops out quickly.

Fix: Confirm ATR(14) < 0.8 × SMA before every setup.

Mistake 2: Jumping In Mid-Bar

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.

Mistake 3: Moving The Stop

Problem: Stretching stop to “give the trade room”.

Impact: Small loss compounds into outsized drawdown.

Fix: Place stop, walk away. Respect the initial risk.

Frequently Asked Questions

Each playbook is engineered for a specific market profile. If you port it elsewhere, re-test thoroughly — volatility signatures vary widely.