Platform: MT4 (Expert Advisor)
Default timeframe: H1
Instruments: XAUUSD, EURUSD, GBPUSD, USDJPY, DE40 (and other liquid FX/indices/CFDs)
Style: Two-sided pending breakout + hedge ladder + Basket Take-Profit (basket TP) + ATR-adaptive distances/trailling
Series start (opening a “basket”).
The EA places both a Buy Stop and a Sell Stop around current price. Distances can be fixed (points) or ATR-based, or anchored to a Donchian channel.
Trigger & hedge.
When one side triggers into a market position, the EA cancels/re-arms the opposite pending and creates a hedge leg either immediately or via a pending order. Hedge volume = largest open lot × smart multiplier (risk-aware).
Hedge keep-alive.
The opposite pending never “disappears.” Supports GTC pendings, auto re-placement on expiry, and OrderModify re-pricing to a chosen anchor (Initial / Donchian±ATR / pure ATR).
Basket TP.
When the basket contains ≥2 positions, the EA tracks net P/L and, once it reaches BasketTPMoney, it closes the entire basket at once.
Single-leg trailing.
If only one leg remains open, the EA applies ATR trailing (or classic trailing) to ride trends while locking profits.
Safety rails.
Hard equity drawdown stop, daily profit/loss limits (pause new series), series timeout (close at BE+ after X hours) and other watchdogs to keep risk contained.
Market-adaptive. Distances, trailing and anchors are ATR/Donchian-driven, so the EA automatically adapts to volatility.
Hedge is always there. Even if the broker expires pendings or price gaps, keep-alive logic re-posts or re-prices the opposite pending.
Rational scaling. The smart multiplier is not blind martingale: it shrinks when margin is tight or trend is weak (low ADX) and relaxes in strong trends (high ADX), always bounded by MaxLot/steps/margin rules.
Fast resolution. Basket TP prioritizes total basket P/L, avoiding the need for every single trade to hit its own TP.
Two-sided breakout: simultaneous BuyStop/SellStop.
ATR distance by level (L1/LN): first and subsequent steps can use different ATR factors.
Hedge ladder: hedge lot = largest open lot × smart multiplier, obeying MaxLot/min lot/lot step.
Hedge keep-alive: GTC, expiry re-post, OrderModify re-price (Initial / Donchian±ATR / ATR) and auto upsizing if the pending lot is too small.
Basket TP/SL: monitor basket P/L in money and close all positions together.
ATR trailing (single leg): ATR-based start and step; classic trailing also available.
Series timeout: after X hours, if P/L ≥ ExitAtBE_Money , close the basket (BE+ exit).
Daily limits: pause new series after daily TP/SL until next reset hour.
Trading sessions: per-weekday windows, supports crossing midnight.
Trend filter (optional): ADX + EMA(50/200); optional one-side only with trend.
Spread filter: hard cap or ATR-relative.
Failsafes: global DD stop; watchdog resets a stale series.
Timeframe: H1 (balanced signal/noise).
Symbols: XAUUSD / major FX / index CFDs.
Broker: ECN/RAW, tight spreads, reliable pending execution.
VPS: Recommended for 24/5 operation.
Risk: Start with small Lots , MaxLevels=2–3, conservative LotMultyMax . Keep DD stop and daily caps enabled.
Q: No trades open—why?
A: You may be outside session hours; spread too wide; trend filter says “flat”; daily limits paused new series; or OneSeriesInDay already used today.
Q: Why is the hedge lot sometimes smaller?
A: Hedge lot = largest open lot × smart multiplier, then clamped by MaxLot , MaxNetLots , MinMarginLevelPct , and lot step/min. If it looks smaller, a risk constraint or margin level likely limited the volume. The EA also auto-upsizes: if the existing opposite pending is under-sized, it will be replaced with a larger lot.
Q: The hedge “disappeared” or didn’t refresh in time.
A: Enable SeriesGTC=true and UseOrderModifyReprice=true . Keep-alive logic will re-post/re-price opposite pendings, with RepriceSeconds / RepriceMinShiftPoints controlling frequency and minimum shift.
Q: Can I use a fixed pip TP?
A: Yes ( TakeProfit>0 ). Or use ATR TP ( ATR_K_TP>0 ).
Q: Is this martingale?
A: No. The multiplier is adaptive (ADX/margin-aware) and bounded by strict risk parameters.
Core
Lots — initial lot;
LotMulty — base multiplier (used when smart multiplier is off);
Distance — fixed L1 distance (when ATR distance is off);
TakeProfit — fixed TP points (0 = none);
TrailStart , TrailDistance — classic trailing (if ATR trailing is off);
OneSeriesInDay — at most one new series per day;
MaxLot , MaxDrawdown , Magic .
Sessions
MondayTime … SundayTime as HH:MM-HH:MM , midnight-crossing supported.
Filters & Safety
UseTrendFilter , ADX_TF/Period/Threshold ;
EMA_TF/Fast/Slow , EMA_Slope_ATR_K , UseOneSide ;
MaxSpreadPoints or MaxSpread_ATR_K .
ATR Scaling
UseATRDistance , ATR_TF/Period ;
ATR_K_Distance_L1 , ATR_K_Distance_LN , Distance_LN (fallback when ATR off);
UseATRTrailing , ATR_K_TrailStart/Step , ATR_K_TP .
Donchian Anchor (optional)
UseDonchianAnchor , Donchian_TF/N , Donchian_Buffer_ATR .
Limiters
MaxLevels , MaxNetLots , MinMarginLevelPct .
Smart Multiplier
UseSmartMulty , LotMultyMin , LotMultyMax ,
ADX_ForMaxMulty (allow max when ADX is strong),
MinMarginForMulty (shrink multiplier when margin level is low).
Hedge Confirmation (optional)
HedgeWithConfirm , MinMoveToHedge_ATR , CooldownMin .
Keep-Alive / Reprice
SeriesGTC , PendingExpiryMin ;
HedgeAnchorMode (0=Initial, 1=Donchian±ATR, 2=ATR vs current), HedgeATR_K_Dist ;
UseOrderModifyReprice , RepriceSeconds , RepriceMinShiftPoints .
Basket / Daily / Timeout
BasketTPMoney , BasketSLMoney ;
DailyTPMoney , DailySLMoney , DailyResetHour ;
MaxSeriesHours , ExitAtBE_Money .
Data quality: longer is better (≥2–3 years), variable spreads.
MT4 modeling: use high-quality tick data to assess pending fill/hedge behavior realistically.
Risk first: begin with smaller LotMultyMax and MaxLevels=2 . Increase gradually once stable.
Per-symbol tuning:
Gold/indices: keep ATR distances on; ATR_K_Distance_L1 ~ 0.9–1.2; stricter spread filter.
Major FX: let ATR_K_Distance_LN be slightly larger than L1 (e.g., 1.3–1.6) to space ladder steps.
If broker often expires pendings: SeriesGTC=true + UseOrderModifyReprice=true , and try RepriceSeconds=60–90 .
This EA is an algorithmic trading tool. All strategies can incur drawdowns. Configure risk prudently, use a VPS, and forward-test on demo/small live first to ensure compatibility with your broker’s execution and instrument specs.
If for any reason you do not like the purchased program, you can request a refund within 30 days from the date of purchase. You can also make an exchange for any other product at an equal cost or by paying the difference.
Simply send a request for refund or exchange with your order number by email: support@fx-market.pro.
Refund requests received more than 30 days after purchase will be rejected.