Wyckoff Spring Accumulation EA
- Experts
- Versione: 1.7
- Aggiornato: 14 agosto 2026
- Attivazioni: 10
Wyckoff Spring Accumulation EA
This Expert Advisor implements the Wyckoff accumulation/distribution method on a 3-timeframe
stack (H4 trend bias, H1 trading-range and Spring/UTAD detection, M15 entry confirmation).
How it works:
- Identifies a trading range (minimum 12 bars, configurable ATR-based width limits) after a
prior trend move.
- Detects a Spring (false breakdown below range support) or UTAD (false breakout above range
resistance), followed by a confirming Test with lower volume.
- Confirms entry on M15 before sending a market order.
- Stop loss is placed beyond the Spring/UTAD extreme with an ATR buffer; no order is sent
without a stop loss attached.
Trade management:
- Three take-profit levels (1.5R / 2.5R / 4R by default) with partial position closes at each
level and stop-loss moved to breakeven after the first target.
- Built-in news filter pauses new entries around high-impact economic releases.
- Optional Telegram notifications for trade events (requires the buyer's own bot token and
chat ID; disabled by default).
Configuration:
- All timeframes, range-detection thresholds, spring depth, and take-profit levels are
adjustable inputs — no hardcoded symbol or account restrictions.
- Works on any symbol/account; parameters should be tuned and tested per instrument before
live use.
This product does not guarantee profits. Past performance of any trading system does not
indicate future results. Test on a demo account before live deployment and use position
sizing appropriate to your risk tolerance.
HOW TO USE AND ENTER PARAMETERS
Setup:
1. Attach to any chart/symbol, any timeframe — the EA runs its own internal H4/H1/M15
analysis regardless of the chart's own timeframe. InpAutoEntryTF (default true) switches
the chart to M15 automatically on load; InpAutoLoadIndicator (default true) attaches a
matching visual indicator so you can see the detected trading range and Spring/UTAD level.
2. Works on Netting or Hedging accounts. Only one position per symbol at a time
(InpMaxPos, default 1).
3. Review the "Risk / Kelly" group before going live: InpBaseRisk/InpMinRisk/InpMaxRisk set
the position-sizing range; InpUseKelly (default true) scales risk within that range from
the strategy's own recent trade history on the symbol (needs a few closed trades first —
uses InpBaseRisk until then).
4. Review the "L0 Safety Gate" group. InpMaxATRMult defaults to 3.0, and the account-equity
drawdown limits default to 5% daily / 10% total. InpEODHour (default 23) flattens open
trades on Friday and is read in BROKER SERVER time — the clock in Market Watch, not UTC.
It is moved earlier automatically when the symbol's own trading session for that day ends
sooner, so where your broker publishes a session calendar for the symbol the flatten runs
before that session's last tick whatever your broker's timezone is. Where the broker
publishes no session for that weekday there is nothing to clamp against and InpEODHour
applies exactly as configured — check the symbol specification and set it from the
published session end. Set InpEODHour to 0 to disable it, or InpEODWeekendOnly to false
to flatten every day. InpMaxDailyLossPct and InpMaxSpreadPoints use 0 to disable their respective
gates. The 10% total-drawdown limit is measured from the highest account equity the
EA has seen, which is remembered across restarts. After you deposit or withdraw, create an
empty file named reset_equity_high_<MagicNumber>.flag in MQL5/Files/ATS_v4/ to rebase that
high-water mark to your current equity; the EA deletes the file and logs the new value.
5. Leave the "Debug / QA" group (InpDebugIgnoreBias, InpDebugBypassPriceWindow,
InpDebugBypassL1) at its default false for live/demo trading — these exist only to
simplify backtesting and bypass normal entry confirmation when enabled.
6. Session windows (London/NY) are UTC and auto-adjust for daylight saving time
(InpAutoSessionDST, default true) — no manual DST changes needed twice a year.
7. Optional: to receive Telegram notifications on trade events, set InpTgToken/InpTgChatID
(or leave blank and place a telegram.ini file under Files/ATS_v4/secrets/) and add
api.telegram.org to Tools > Options > Expert Advisors > Allow WebRequest for listed URL.
Leave both blank to disable — no external request is made in that case.
8. The on-chart panel (InpShowPanel) shows current detection state, open position, and
session status; disable it or reposition with InpPanelX/InpPanelY if it overlaps other
chart objects.
Input entry checklist:
- Start with the default H4/H1/M15 timeframe stack. InpRangeMinATR/InpRangeMaxATR control
acceptable range width; InpSpringDepth and InpTestVolFrac control Spring/UTAD quality.
- Keep InpBaseRisk at 0.50% for the first demo run. InpMinRisk and InpMaxRisk are hard
lower/upper bounds; set InpUseKelly=false for fixed base-risk sizing.
- InpTP1R/InpTP2R/InpTP3R are reward-to-risk multiples. InpTP1Pct and InpTP2Pct are the
partial-close percentages; the remaining volume is managed toward TP3.
- Set spread limits in broker points, not pips. Confirm the symbol's digits before entering
InpMaxSpreadPoints. A value of 0 disables the spread gate.
As with any automated strategy, test on a demo account first and use position sizing
appropriate to your own risk tolerance before trading a live account.
