Bodhi Elliott Wave Scalper
- Эксперты
- Версия: 2.1
- Обновлено: 9 июня 2026
BODHI Elliott Wave Scalper M1
M1 Elliott Wave scalping robot for MetaTrader 5
Follow us & Support Chanel https://t.me/tradewithme179
Wave 3, Wave 5 and Wave C entries. Broker-agnostic fixed targets. Virtual SL/TP. FTMO-safe fund management.
Overview
BODHI Elliott Wave Scalper M1 is a fully automated Expert Advisor that detects Elliott Wave impulse (Wave 3 and Wave 5) and corrective (Wave C of ABC) setups directly on the M1 chart and executes trades with fixed, instrument-calibrated SL and TP targets.
Unlike higher-timeframe EAs that wait hours between signals, the M1 scalper finds entries in the fast micro-structure where Elliott Wave patterns self-fulfil through institutional order flow. The engine uses a native ZigZag — no external indicator files — and sends a virtual (hidden) SL/TP to the broker to prevent stop hunting.
Backtest Performance (3-Year, M1 Data)
Symbol selection is based on 3-year M1 backtests. Only instruments with a Profit Factor above 1.0 are enabled by default. Weak performers are disabled with a clear explanation in the parameter comments.
Symbol Win Rate Profit Factor Status Note
GBPUSD 50.9% 1.99 ✅ Enabled Best performer — clearest EW patterns
NAS100 45.8% 1.90 ✅ Enabled Strong EW clarity in tech trend
US30 35.9% 1.32 ✅ Optional Inconsistent across months — use with care
XAUUSD 45.6% 1.25 ✅ Optional Wide ATR; enable with caution
SP500 — — ⚙️ Optional Less volatile than NAS100; broker-dependent
EURUSD 46% 0.72 ❌ Disabled M1 noise overwhelms EW structure
USDJPY — 0.61 ❌ Disabled BoJ intervention risk
AUDUSD — 0.52 ❌ Disabled Worst — China correlation kills EW
Recommended default: GBPUSD + NAS100 only. Session: UTC 05:00–11:00 (London morning). This 6-hour window showed the best AvgR in backtests; the London–NY overlap (UTC 12–18) and late-NY (UTC 21–23) both produced negative AvgR and are excluded by default.
How It Works
• Step 1 — Pivot Detection: Native ZigZag (depth=3, deviation=3, backstep=2) identifies micro swing highs/lows directly on M1 bars. No external indicator file required — works on any broker, any MT5 build.
• Step 2 — Wave Structure Validation: The EA validates 5-wave impulse rules (Wave 3 not shortest, Wave 4 no-overlap) and Fibonacci retracement ratios. Wave B of ABC must retrace 38.2–78.6% of Wave A before a Wave C entry is considered.
• Step 3 — Fibonacci Zone Gate: Wave 3 entry: price must retrace 50–78.6% of Wave 1 into the Wave 2 zone. Wave 5 entry: price must retrace 38.2–61.8% of Wave 3 into the Wave 4 zone. A minimum Fib score of 50/100 is required (configurable).
• Step 4 — Fixed SL/TP Execution: Each instrument class has calibrated, broker-agnostic SL and TP distances. Forex: 10 pips SL / 14 pips TP (R:R=1.4). NAS100: 80 pts SL / 112 pts TP. US30: 15 pts SL / 21 pts TP. Metals: $2.50 SL / $3.50 TP on XAUUSD.
• Step 5 — Virtual SL/TP: The EA stores the real SL/TP internally and sends a 3× wider fake SL/TP to the broker. This prevents broker stop-hunting algorithms from triggering premature closes on the real target levels.
Entry Types
Entry Wave Zone Fib Retrace Target Notes
Wave 3 End of Wave 2 50–78.6% of W1 1.618× W1 projected Strongest impulse — highest frequency on M1
Wave 5 End of Wave 4 38.2–61.8% of W3 W1=W5 or 0.618×W3 Enabled by default; NAS100 W5 disabled (AvgR=-0.067)
Wave C End of Wave B B = 38.2–78.6%×A C = 100% of A ABC corrective; disabled by default — enable for ranging markets
Fund Management
All risk rules are designed to keep the EA within FTMO and prop-firm challenge limits. The EA halts and sets a flag (does not call ExpertRemove) when limits are hit — compatible with all MQL5.com and prop-firm validators.
• Daily loss limit: Trading halts for the day if total account drawdown from day-open equity reaches the configured MaxDailyLoss % (default 3.0%). Safe margin below FTMO 5% daily limit.
• Total loss limit: EA stops permanently if total account drawdown from initial balance reaches MaxTotalLoss % (default 9.0%). Safe margin below FTMO 10% total limit.
• Daily profit target: When EA P&L (realized + floating) reaches DailyTarget % (default 2.0%), all positions close and no new trades are opened for the rest of the day.
• Profit lock: Optional FloatProfitTarget ($80 default). When total EA float P&L exceeds this, all positions close and optionally trading stops for the session.
• FSS-5 panic close: If intraday equity drops 1.5% from day-open in a single session, all positions close immediately. Prevents flash-crash runaway losses.
• Consecutive loss circuit breaker: 2 consecutive losses per symbol halts that symbol for the day. 5 consecutive losses across all symbols halts the entire session.
• Max concurrent pairs: Only 3 symbols may have open positions simultaneously (configurable). Prevents over-exposure during correlated moves.
• Max float loss block: New trades are blocked if total EA floating P&L is ≤ −$30 (configurable). Prevents adding to a losing book.
Virtual SL/TP — Anti-Stop-Hunt System
Many brokers use visible SL/TP levels to trigger stop-hunting spikes. BODHI EW Scalper M1 solves this with a two-level SL/TP system:
• Real (virtual) SL/TP: Stored inside the EA using MetaTrader GlobalVariables. Checked every tick. These are the actual exit levels.
• Fake SL/TP sent to broker: 3× the real distance from entry (configurable FakeSL_Multiplier). Acts as a backstop only — the broker never sees the real target.
Result: broker's stop-hunt algorithm sees a SL 3× further away. Your real exits are invisible and protected.
Input Parameters
Parameter Default Description
ZigZagDepth 3 Pivot lookback depth — 3 = tight M1 micro-swings
ZigZagDeviation 3 Min deviation between pivots (points)
ZigZagBackstep 2 Min bars between consecutive pivots
FiboW2_Min / Max 50 / 78.6 Wave 2 Fibonacci zone % (for Wave 3 entry)
FiboW4_Min / Max 38.2 / 61.8 Wave 4 Fibonacci zone % (for Wave 5 entry)
TradeWave3 true Enable Wave 2→3 entry
TradeWave5 true Enable Wave 4→5 entry (global)
TradeWave5_NAS100 false W5 on NAS100 specifically (disabled: AvgR=−0.067 in backtest)
TradeWaveC false Enable Wave C of ABC corrective entry
EWMinFibScore 50 Minimum Fibonacci quality score 0–100
MinRR 1.2 Minimum required risk:reward ratio
SL_Points_Forex 100 Forex SL × SYMBOL_POINT (100 = 10 pips on 5-digit)
TP_Points_Forex 140 Forex TP × SYMBOL_POINT (R:R = 1.4)
SL_Points_Metals 250 XAUUSD SL × SYMBOL_POINT (250×0.01 = $2.50)
TP_Points_Metals 350 XAUUSD TP × SYMBOL_POINT (R:R = 1.4)
SL_Points_US30 15 US30 SL = 15 Dow index points (broker-agnostic)
TP_Points_US30 21 US30 TP = 21 Dow index points (R:R = 1.4)
SL_Points_NAS100 80 NAS100 SL = 80 index points
TP_Points_NAS100 112 NAS100 TP = 112 index points (R:R = 1.4)
SL_Points_SP500 60 SP500 SL = 60 SPX index points
TP_Points_SP500 84 SP500 TP = 84 SPX index points (R:R = 1.4)
RiskPerTrade 0.2% Risk per trade as % of equity
MaxDailyLoss 3.0% Halt trading for the day at this drawdown
DailyTarget 2.0% Close all + stop trading when daily profit reaches this
MaxTotalLoss 9.0% Permanently halt EA at this total drawdown
MaxConsecutiveLosses 2 Per-symbol consecutive loss limit (resets daily)
MaxSessionConsecLosses 5 All-symbol consecutive loss limit for the session
UseFSS5 true Enable intraday panic-close on flash drops
FSS5_DropPercent 1.5% Intraday equity drop % that triggers FSS-5
MaxConcurrentPairs 3 Max symbols with open positions simultaneously
MaxFloatLoss $30 Block new trades if total EA float P&L ≤ −$30
UseVirtualSL true Send fake wide SL/TP to broker; monitor real internally
FakeSL_Multiplier 3.0 Fake SL/TP = real distance × 3.0 (hides real from broker)
SpreadMultiplier 2.0 Block entry if current spread > avg × 2.0
TradingStartHour 7 Session start (UTC+2 broker time = UTC 05:00)
TradingEndHour 13 Session end (UTC+2 broker time = UTC 11:00)
CloseBeforeWeekend true Close all positions before Friday session end
MagicNumber 700001 Magic number base (each symbol gets +0..+13)
Symbol Selection Guide
The EA uses research-driven defaults — only symbols with backtest Profit Factor > 1.0 are enabled. Each disabled symbol includes a comment explaining the specific structural reason it underperforms on M1 Elliott Wave entries.
Symbol Default PF (3yr) Reason
GBPUSD ✅ ON 1.99 Best EW clarity on M1 — institutional flow, clean impulse structure
NAS100 ✅ ON 1.90 Strong tech-sector trending; Wave 3 momentum is consistent
US30 ⚙️ OFF 1.32 Inconsistent month-to-month — enable only if monitoring
XAUUSD ⚙️ OFF 1.25 3-month cumulative loss noted; enable with wider FSS5 only
SP500 ⚙️ OFF — Less volatile than NAS100; enable if your broker provides it
EURUSD ❌ OFF 0.72 High WR but M1 noise-to-signal ratio kills EW entries
USDCAD ❌ OFF 0.93 Oil correlation disrupts Elliott Wave impulse structure
NZDUSD ❌ OFF 0.99 SELL bias cluster — 15 consecutive SELL trades in backtests
EURGBP ❌ OFF 0.80 Cross pair = 2× noise, micro bar range too small for M1 ZigZag
EURJPY ❌ OFF 0.58 BoJ surprise interventions invalidate EW structure
USDJPY ❌ OFF 0.61 Same BoJ risk — JPY crosses not reliable on M1 EW
GBPJPY ❌ OFF 0.64 Lowest EW self-fulfilling score of all JPY crosses
AUDUSD ❌ OFF 0.52 Worst: China sentiment dominates — no consistent EW pattern
XAGUSD ❌ OFF — 2–3× XAUUSD volatility; spread:range ratio too wide for scalping
Compatibility
• MetaTrader 5 build 3000+ — no MT4 version
• Any broker — fixed SL/TP distances are broker-agnostic (index pts, not SYMBOL_POINT for indices)
• Live, demo, and strategy tester — all Print() calls silenced in tester (no validator warnings)
• Works without VPS but a VPS is strongly recommended for M1 scalping (latency matters)
• Recommended broker: ECN/STP with spread < 1.5 pips on GBPUSD during London session
Recommended Session
Session Broker Time (UTC+2) UTC AvgR Recommendation
London AM open 07:00–09:00 05:00–07:00 +0.038 Best — highest EW self-fulfilling momentum
London AM mid 09:00–13:00 07:00–11:00 +0.019 Good — consistent institutional flow
London–NY overlap 14:00–20:00 12:00–18:00 −0.026 Avoid — conflicting flows kill M1 EW
Late NY 23:00–01:00 21:00–23:00 −0.038 Avoid — thin liquidity, erratic M1 swings
Asian session 02:00–06:00 00:00–04:00 ±0.001 Neutral — low signal frequency
Default session (TradingStartHour=7, TradingEndHour=13) covers UTC 05:00–11:00 — the London morning window with the best historical AvgR.
FAQ
Q: Does the EA repaint? A: All entries are checked on new M1 bar close. The developing wave label may shift until the bar closes — this is correct Elliott Wave behaviour (the pivot isn't confirmed until price moves away). Executed trades are never modified retroactively.
Q: Why are most symbols disabled? A: M1 Elliott Wave entries require very clean impulse structure. Most Forex pairs have too much micro-noise on M1 to produce reliable ZigZag pivots. GBPUSD and NAS100 have the strongest self-fulfilling EW pattern due to institutional order flow alignment.
Q: Is it safe for funded accounts / prop firm challenges? A: Yes. Default settings: 3% daily loss limit, 9% total loss limit, FSS-5 panic close at 1.5%, 2-consecutive-loss halt per symbol. All limits sit safely below FTMO (5%/10%) and The5ers/TopStep thresholds.
Q: What is the Virtual SL/TP and why? A: Brokers can see your SL/TP and some use this information. The EA sends a fake SL/TP 3× wider than the real one to the broker. The real exit is managed internally, invisibly to the broker.
Q: Why no Wave C by default? A: ABC corrective entries have lower signal quality in trending M1 environments. Enable TradeWaveC in ranging or sideways markets where corrections are more predictable.
Q: Why is NAS100 Wave 5 disabled? A: Backtest showed NAS100 Wave 5 AvgR = −0.067 (negative expectancy). NAS100 tends to extend Wave 3 strongly and Wave 5 often falls short. Wave 3 entries on NAS100 remain enabled and are the better-performing entry.
Q: How do I run multiple instances? A: Attach to different charts and assign a different MagicNumber to each instance. Each runs independently with its own fund-management state. Using the same MagicNumber on two charts will cause them to share position counting.
Important Notes
• M1 scalping produces high trade frequency. Ensure your broker allows scalping and has no minimum hold-time rule before deploying on a live or challenge account.
• Spread quality is critical on M1. The EA blocks entry when spread exceeds 2× the rolling average. ECN/STP brokers with raw spreads are recommended.
• The EA is optimised for the London morning session (UTC 05:00–11:00). Running it during the London–NY overlap or late NY session is not recommended.
• Past backtest performance does not guarantee future results. Always verify on a demo account for at least 2 weeks before live deployment.
• Wave C trading (TradeWaveC) is disabled by default. Enable only in confirmed ranging/sideways conditions.
Plug in on GBPUSD + NAS100, London morning session — let the Wave 3 momentum engine do the work.
