Aurum Pulse Momentum
- Experts
- Version: 1.0
- Activations: 10
Aurum Pulse is a tick-driven scalping Expert Advisor for XAUUSD on MetaTrader 5. It evaluates market microstructure on every incoming tick and sends an order only when a defined hypothesis is met and the expected move is large enough to cover the real cost of entering and exiting.
Screenshots are with 0.01 Lots
ANALYSIS ENGINE
A circular buffer holds up to 4000 ticks. A single backward pass, limited to 1500 ticks and recalculated at most every 100 ms, derives all of the following at once:
- Net displacement and absolute path travelled over a fast and a slow window
- Directional efficiency (|displacement| / path), a measure of how clean a move is
- Velocity split across the two halves of the fast window, giving real acceleration
- Recent highs and lows, and a consolidation range measured excluding the fast window, so that a breakout cannot inflate the range it is breaking out of
- Impulse leg, retracement depth and resumption distance
- Deviation from a tick EMA, normalised by per-tick volatility
- ATR on a configurable timeframe plus a 120-bar baseline
All timing uses tick.time_msc, never the local clock, so behaviour in the Strategy Tester matches live execution.
Market regime classification: INACTIVE, RANGE, TREND, EXPANSION or MIXED. Each strategy declares which regimes it is allowed to trade.
FOUR INDEPENDENT STRATEGIES
Each has its own magic number (base + id), its own statistics and its own position limits, and each can be switched on or off separately.
1. Momentum - micro-impulse continuation with live acceleration, directional efficiency and an exhaustion cap so late entries are rejected.
2. Breakout - expansion after range compression, with a buffer beyond the extreme and rejection when the spread widens on the break.
3. Pullback - resumption after a shallow retracement inside a recent impulse leg.
4. Mean reversion - stretch away from a dynamic reference, in RANGE regime only, and only while the stretch is decelerating.
EXECUTION-COST MODEL
This is the core of the design:
round-trip cost (points) = current spread + commission + 2 x measured slippage
minimum target = cost x InpMinEdgeMult
- Spread is read live from bid/ask, with a 512-sample ring and 20/50/80 percentiles refreshed every 2 seconds. The spread filter is adaptive (median x factor), not a fixed number.
- Commission starts from your configured estimate and is then compared against the real commission charged on closed deals. After three trades the measured value is used, and the EA reports the exact figure when it is removed.
- Slippage is measured trade by trade (requested price vs executed price) and fed back into the model.
- A signal whose natural target does not clear the cost by the required margin is discarded rather than having its target inflated.
- The stop loss is never allowed to be tighter than the round-trip cost, because a stop inside the spread is triggered by the spread itself.
EXITS
Three modes, so each can be measured separately: SL/TP only, dynamic only, or hybrid. Dynamic components, all individually switchable: maximum holding time, minimum holding time (anti-churn), break-even, ATR trailing, exit on signal invalidation, and a profit lock when momentum fades. The stop is only ever moved in the favourable direction, with a minimum change threshold and at most one modification every 500 ms, respecting SYMBOL_TRADE_FREEZE_LEVEL.
No martingale, no grid, no averaging down, no lot increase after a loss.
EXECUTION SAFETY
- Reads the real symbol specification: volume min/step/max, tick size and value, contract size, stops level, freeze level, trade mode, currencies
- OrderCalcMargin() before every entry, against free margin with a configurable reserve
- Detects netting vs hedging accounts and never sends an opposing order under netting
- Rebuilds its state from open positions on restart, so no duplicate entries
- Works with position identifiers, not order tickets. Closed-trade accounting sums every deal of the position for true gross, commission and swap
- Retries only on recoverable return codes, never on invalid volume, margin or market closed
- Respects broker trading sessions via SymbolInfoSessionTrade(), which covers the daily break and the weekend close without assuming any schedule
- Optional MT5 economic calendar filter that disables itself if the calendar is unavailable
DIAGNOSTICS
- On-chart panel: status, active strategies, current signal, bid/ask, spread with its median and limit, cost breakdown and minimum viable target, ATR and tick rate, lot, open positions, floating P/L, closed trades and win rate, net/gross/costs, expectancy per trade, slippage statistics, last entry reason, last exit reason, and the reason a signal was not executed. A button enables or disables new entries without touching open positions.
- CSV log of every closed trade: 23 columns including requested vs executed price, slippage, spread at open, estimated cost, gross, commission, swap, net, MFE and MAE.
- Optional CSV log of every signal with all engine variables.
- Diagnostic mode (InpDryRun): full analysis and logging with no orders sent.
REQUIREMENTS AND SETUP
- MetaTrader 5, XAUUSD chart (any timeframe, the engine is tick-driven)
- Designed for the broker minimum lot by default (InpLots = 0)
- 99 input parameters grouped in 7 sections, all documented in English
HOW TO EVALUATE IT
Run it first with InpDryRun = true to see the signals and the real cost model on your own account. Test on a demo account first.
