P
PipsGrowth
ScalpingOpen Source – Free

Pipsgrowth EX10010 Momentum-Scalper

MT5 Expert Advisor (Open Source) · XAUUSD · M1, M15

Pipsgrowth.com EX10010 HFT Scalper — impulse-out-of-compression momentum scalper, full 12-layer stack.

Overview

The architecture of EX10010 sits inside a single idea: markets accumulate energy in a tight, low-volatility envelope, then release it in a single, decisive bar. Most momentum strategies chase the release. EX10010 waits for both halves of that pattern to appear on the same closed bar — the compression that preceded the move, and the impulse that delivers it. Everything else in the source — the seven-state regime classifier, the 12-layer stack, the cascade of management — exists to filter out the impulse bars that don't sit on a real coil.

The signal logic lives in DetectSignal, a 50-line function that reads 22 bars from the chosen signal timeframe (M30 by default via InpSignalTF=4, though the source header lists M1M15 as the intended operating window and the database-stored pair is XAUUSD on M1/M15). It first measures the highest-high and lowest-low of bars at shifts 2..21 — the COMPRESS_LOOKBACK=20 prior bars. If that range is wider than maxQuietRange = ATR(14) × InpQuietRangeATR (0.6 by default), the function returns zero and no signal fires. The closed bar at shift 1 must then pass three body-shape tests: body/range ≥ COMPRESS_BODY_STRENGTH=0.6 (the bar must close near its high or low, not drift), body length ≥ InpImpulseStrength × ATR (default 1.0×ATR — the bar's body must be larger than the typical bar), and tick volume at least 1.2× the 20-bar mean (VOLUME_MA_PERIOD=20, VOLUME_MULT=1.2). Direction is set by EMA(8)/EMA(21) alignment on the closed bar: a bullish impulse only counts if EMA(8) > EMA(21); a bearish impulse only counts on the mirror. A confidence score is then computed as bodyRatio×50 + min(strengthATR×20, 50), capped at 100, and that number flows into the rest of the stack.

That confidence score flows into ConfirmEntry, which adds four independent gates. The H1 EMA(50) (HTF_EMA_PERIOD=50 on PERIOD_H1) must agree with the trade direction — long entries need price above the H1 EMA, shorts the reverse. The current spread must be ≤ 30 points (InpMaxSpreadPoints) AND ≤ 2.5× the 50-bar rolling average spread (SPREAD_MULT_MAX, computed by PushSpread/AvgSpread on every tick). The InSession() function must return true — server time 7–20, weekends and Friday ≥ 18 excluded. And CountSymbolExposure() must be below MAX_SYMBOL_EXPOSURE=2.

Above all this sits ClassifyRegime, a seven-state classifier that runs before any signal detection. It pulls ADX(14), the ATR(14) percentile over a 100-bar lookback (ATR_PCTILE_LOOKBACK), and the Bollinger(20, 2.0) width. The state machine returns STRONG_TREND (ADX≥35 AND pctile≥0.7), WEAK_TREND (ADX≥25 AND pctile≥0.4), EXPAND (pctile≥0.85), COMPRESS (pctile≤0.15), RANGE (bbWidth<0.5×meanAtr AND ADX<20), CHOPPY (ADX<15), or BREAKOUT (default fallback). NoTrade() blocks entry when the regime is CHOPPY, and TryPyramid() blocks adds in the same state. The classifier is genuinely advisory rather than gating: DetectSignal doesn't care which state it's in as long as the compression-impulse pattern is present, but the no-trade layer refuses to act on CHOPPY bars.

Sizing is straightforward. CalcLots reads EffectiveCapital (which is min(InpCapitalCapAmount, equity) when the cap is enabled, otherwise equity), multiplies by 0.5% (InpRiskPercent=0.5), and divides by the per-lot risk at the ATR-derived stop. The stop is ATR(14)×1.5 (InpATR_SL_Mult), so the stop distance in price is fixed once per bar and lot size scales to risk 0.5% of equity. NormVol floors the result to the symbol's LotsStep and clamps to [LotsMin, LotsMax]. SendEntry then enforces a 1.2× InpMinRR=1.2 minimum reward-to-risk (TP = 2.0×SL via InpRR_Target=2.0) and a margin check via OrderCalcMargin before sending.

The execution path has a notable safety net. trade.SetTypeFillingBySymbol(_Symbol) auto-picks FOK > IOC > RETURN based on the symbol's SYMBOL_FILLING_MODE mask, and a single retry is fired on REQUOTE, TIMEOUT, PRICE_OFF, or PRICE_CHANGED. With InpDryRun=true as the factory default, the entry path is short-circuited: the function logs the full plan (side, lots, px, sl, tp, confidence) to the journal and sets g_lastEntryBarTime, but never calls trade.Buy or trade.Sell. This means the EA is shipped in signal-only mode — the user must explicitly flip InpDryRun=false in inputs before any live orders are placed. The InpKillSwitch input is a second master kill switch, also off by default.

ManageOpenPositions is what makes the strategy workable in practice. Five actions fire on every tick while a position is open. Time exit: 240 bars (MAX_BARS_IN_TRADE = 240, which is 20 hours on M5 or 4 hours on M1) elapsing since the position opened triggers a TryClose_EX10010 close. Opposite-signal exit: if DetectSignal returns the opposite direction with confidence ≥ 50, the position is closed. Break-even: when rMultiples1.0, the stop is moved to openPx + 2 pips (BE_OFFSET_PIPS=2.0) for longs, or the mirror for shorts. The modification only fires if it actually moves the stop forward — no back-ratcheting. Partial TP: when rMultiples1.0 and the remaining volume is > 1.5× the symbol's min lot, 50% of the position (PARTIAL_TP_RATIO=0.5) is closed via TryClosePartial_EX10010. The string "_pt" is checked against the position comment to ensure the partial doesn't fire twice on the same position. ATR trail: an ATR(14)×2.0 (TRAIL_ATR_MULT=2.0) trailing stop is computed on every tick. The new stop is only applied if it sits ahead of the current stop AND inside the current price — no backward movement.

The cooldown logic is handled separately by OnTradeTransaction, which reads DEAL_PROFIT, DEAL_SWAP, and DEAL_COMMISSION from the deal stream. After MAX_CONSEC_LOSSES_COOL=3 consecutive losing exits, a cooldown is set for COOLDOWN_BARS=30 signal-timeframe bars, and the counter resets. OnTradeTransaction is the only place the consecutive-losses counter increments — no EA-internal bookkeeping means no off-by-one between the EA's view of the trade and the broker's. Two portfolio caps are enforced. The per-magic cap is InpMaxConcurrent (default 1) AND MAX_OPEN_POSITIONS=3 — whichever is tighter. The per-symbol cap is MAX_SYMBOL_EXPOSURE=2. The capital cap opt-in is InpCapitalCapAmount (0 = disabled); when non-zero, EffectiveCapital becomes min(cap, equity), and entries are blocked when effective capital falls below InpCapitalCapFloor=50. The pyramid code exists in TryPyramid with PYRAMID_MAX_LEVELS=5, PYRAMID_ATR_SPACING=1.5, PYRAMID_MIN_PROFIT_R=1.0, but it only fires when InpMaxConcurrent > 1 — so pyramid scaling is off by default and stays off until the user raises that input.

The OnTester custom criterion is (net × PF) / (1 + |maxDD|) with a 30-trade floor — useful when comparing parameter sets in the strategy tester, even if the user runs the EA live. The end result is a quiet-bar break strategy with a conservative on-state filter, an honest 1:2 reward-to-risk at entry, a triple-cascade management stack, and a dry-run default that protects the user from a careless one-click live deploy. The 30-point absolute spread cap and 2.5× rolling-average cap both assume a sub-pip ECN/RAW broker, which is the realistic operating environment. On retail or standard accounts with 2–3 pip spreads, most signals will be filtered out by ConfirmEntry before they ever reach SendEntry, which is the correct behavior — the strategy is sized to be selective, not chatty.

Strategy Deep Dive

On every new bar of the chosen signal timeframe (default M30 via InpSignalTF=4, M1M15 listed in the header as the intended operating window), the EA first calls ClassifyRegime — a 7-state machine that reads ADX(14), the 100-bar ATR(14) percentile, and Bollinger(20, 2.0) width and returns STRONG_TREND, WEAK_TREND, EXPAND, COMPRESS, RANGE, CHOPPY, or BREAKOUT. NoTrade() blocks entry on CHOPPY. DetectSignal then requires the prior 20 bars to sit inside a 0.6×ATR envelope and the closed bar to break out with body/range ≥ 0.6 (COMPRESS_BODY_STRENGTH) and body length ≥ 1.0×ATR on ≥ 1.2× average tick volume, with EMA(8)/EMA(21) agreeing on direction. ConfirmEntry adds an H1 EMA(50) trend filter, a 30-point absolute spread cap (InpMaxSpreadPoints), a 2.5× rolling-50-bar average spread cap (SPREAD_MULT_MAX), the 7–20 server-time session window, and a per-symbol exposure ceiling of 2. CalcLots sizes the trade to 0.5% of effective capital (capped at InpCapitalCapAmount, floored at InpCapitalCapFloor) divided by the per-lot risk at the ATR-derived stop, and the order retries once on REQUOTE/PRICE_OFF/TIMEOUT. With InpDryRun=true as the factory default, SendEntry logs the full trade plan to the journal but never actually sends the order — flip it off in inputs to go live. Three consecutive losses observed by OnTradeTransaction reading DEAL_PROFIT from the deal stream trigger a 30-bar cooldown (COOLDOWN_BARS=30), and ManageOpenPositions walks the 1R triple cascade (BE → 50% partial → ATR(14)×2.0 forward-only trail) on every subsequent tick.

Entry Signal

Triggers on a closed-bar impulse that emerges from prior compression: the highest-high-to-lowest-low spread over the previous 20 bars (the COMPRESS_LOOKBACK window) must be ≤ 0.6 × ATR (InpQuietRangeATR), and the just-closed bar must print a body-to-range ratio ≥ 0.6 (COMPRESS_BODY_STRENGTH) with body length ≥ 1.0 × ATR (InpImpulseStrength) on tick volume at least 1.2× its 20-bar mean. Direction follows EMA(8)/EMA(21) alignment on the closed bar — long only if EMA(8) > EMA(21), short only on the mirror. ConfirmEntry then requires price alignment with the H1 EMA(50) (HTF_EMA_PERIOD=50 on PERIOD_H1), absolute spread ≤ 30 points (InpMaxSpreadPoints), spread ≤ 2.5× the 50-bar rolling average (SPREAD_MULT_MAX), server-time session 7–20, and per-symbol exposure < 2.

Exit Signal

Three exit paths are managed tick-by-tick in ManageOpenPositions: a 240-bar time stop (MAX_BARS_IN_TRADE = 240 — 20 hours on M5 or 4 hours on M1), a hard close on a confirmed opposite-signal impulse from DetectSignal (confidence ≥ 50), and the standard 1R triple cascade — break-even at entry + 2 pips (BE_OFFSET_PIPS=2.0) once price reaches 1R, partial close of 0.5 of the remaining lot (PARTIAL_TP_RATIO=0.5, tagged with '_pt' to prevent a second partial on the same position), and an ATR(14)×2.0 trail (TRAIL_ATR_MULT=2.0) that ratchets forward only.

Stop Loss

Stop is ATR(14) × 1.5 (InpATR_SL_Mult) below entry for longs / above for shorts, floor-protected at 1.2× the broker's SYMBOL_TRADE_STOPS_LEVEL (auto-widened in SendEntry if the stop is closer than the stops level), and ratchets to entry + 2 pips once price reaches 1R. After the partial close, the residual position is trailed by an ATR(14) × 2.0 (TRAIL_ATR_MULT=2.0) forward-only stop. The InpMinRR=1.2 floor enforces a minimum 1.2:1 reward-to-risk on every entry.

Take Profit

TP1 sits at 2.0 × the SL distance (InpRR_Target=2.0, a clean 1:2 R-multiple), and the EA enforces a hard minimum R:R of 1.2 (InpMinRR) before sending any order. The PARTIAL_TP_RATIO=0.5 means half the lot is banked at the TP1 level (which lands at 1R given the 1:2 ratio); the remaining half rides under the ATR(14) × 2.0 trail. If the partial close doesn't fully cover, an opposite-signal exit or a 240-bar time stop closes the residual.

Best For

Designed for XAUUSD M1 / M15 deployments (M30 is the default signal timeframe via InpSignalTF=4, and the source header lists M1M15 as the intended operating window); the $100 minimum deposit is realistic on a low-spread ECN/RAW account because the 30-point absolute spread cap (InpMaxSpreadPoints) and the 2.5× rolling-average cap (SPREAD_MULT_MAX) both assume sub-pip ECN conditions. Best run during the 7–20 server-time session window (London open to NY close) with the H1 EMA(50) filter actively vetoing counter-trend entries. The InpDryRun=true factory default means this EA is shipped in signal-only mode — flip it off in the strategy tester or live chart and verify the [EXEC-OK] log lines before trusting it with real capital.

Strategy Logic

Pipsgrowth EX10010 Momentum-Scalper — Strategy Logic Analysis (from .mq5 source)

Family: Momentum-Scalper Magic: 22210010 Version: 2.00

BRIEF: Detect a quiet compression (N bars inside a small range), then enter on the next impulse bar that breaks that range. Impulse-out-of-compression on closed bar (range tightness + body-strength threshold). Entries gated by ADX/ATR-pct/BB-width regime, HTF-EMA, volume, spread, session, R/R. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

INDICATOR STACK:

  • Standard MT5 indicators

KEY FUNCTIONS:

  • NormPrice()
  • NormVol()
  • StopsLevelPrice()
  • FreezeLevelPrice()
  • ClampedSLTP()
  • CurrentSpreadPoints()
  • PushSpread()
  • AvgSpread()
  • CountOpenForMagic()
  • CountSymbolExposure()
  • EffectiveCapital()
  • PnLToday()
  • ...and 14 more

INTERNAL CONSTANTS (32 total):

  • ATR_PERIOD = 14 // ATR period for SL/trail
  • ATR_PCTILE_LOOKBACK = 100 // bars for ATR-percentile regime
  • ADX_PERIOD = 14 // ADX period for trend regime
  • BB_PERIOD = 20 // Bollinger period (width regime)
  • BB_DEVIATION = 2.0 // Bollinger deviations
  • EMA_FAST = 8 // fast EMA (signal)
  • EMA_SLOW = 21 // slow EMA (signal)
  • HTF_EMA_PERIOD = 50 // HTF trend filter
  • COMPRESS_LOOKBACK = 20 // bars for compression range
  • COMPRESS_BODY_STRENGTH = 0.6 // min body/range ratio for impulse
  • VOLUME_MA_PERIOD = 20 // tick volume MA period
  • VOLUME_MULT = 1.2 // impulse volume multiplier
  • TRAIL_ATR_MULT = 2.0 // ATR trail distance mult
  • BE_TRIGGER_R = 1.0 // move to BE at N R-multiple
  • BE_OFFSET_PIPS = 2.0 // BE offset in pips
  • ...and 17 more

INPUT PARAMETERS (21 total across 7 groups):

  • [=== Identity ===] InpMagic = 22210010 // Magic number
  • [=== Identity ===] InpTradeComment = "Psgrowth.com Expert_10010" // Trade comment
  • [=== Identity ===] InpSlippagePoints = 20 // Max slippage (points)
  • [=== Identity ===] InpSignalTF = 4 // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Signal timeframe
  • [=== Risk & Sizing ===] InpRiskPercent = 0.5 // Risk per trade (% of effective capital)
  • [=== Risk & Sizing ===] InpATR_SL_Mult = 1.5 // SL distance = ATR * mult
  • [=== Risk & Sizing ===] InpRR_Target = 2.0 // Reward:Risk target (TP1)
  • [=== Risk & Sizing ===] InpMaxConcurrent = 1 // Max concurrent trades (this symbol)
  • [=== Risk & Sizing ===] InpMaxDailyLosses = 3 // Max consecutive losses before cooldown
  • [=== Capital Allocation Cap ===] InpCapitalCapAmount = 0.0 // Capital cap amount (account currency)
  • [=== Capital Allocation Cap ===] InpCapitalCapFloor = 50.0 // Floor below which new entries blocked
  • [=== Signal ===] InpImpulseStrength = 1.0 // Impulse bar strength (x range, ATR units)
  • [=== Signal ===] InpQuietRangeATR = 0.6 // Compression range max (x ATR)
  • [=== Regime / Confirm ===] InpMinADX = 18.0 // Min ADX for trend-confirmed entries
  • [=== Regime / Confirm ===] InpMaxSpreadPoints = 30 // Max absolute spread (points)
  • [=== Regime / Confirm ===] InpMinRR = 1.2 // Min reward:risk for entry
  • [=== Exit / Manage ===] InpUseBreakEven = true // Move to break-even at 1R
  • [=== Exit / Manage ===] InpUseATRTrail = true // ATR trailing stop
  • [=== Exit / Manage ===] InpUsePartialTP = true // Take partial profit at TP1
  • [=== Exec / Safety ===] InpDryRun = true // Dry-run mode (signal-only, no orders)
  • [=== Exec / Safety ===] InpKillSwitch = false // Master kill switch
Pseudocode
// Pipsgrowth EX10010 Momentum-Scalper — Execution Flow (from source analysis)
// Family: Momentum-Scalper
// Detect a quiet compression (N bars inside a small range), then enter on the next impulse bar that breaks that range. Impulse-out-of-compression on closed bar (range tightness + body-strength threshold). Entries gated by ADX/ATR-pct/BB-width regime, HTF-EMA, volume, spread, session, R/R. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

ON_INIT:
    Create indicator handles: standard set
    Initialize state variables
    Detect broker GMT offset

ON_TICK:
    1. Refresh indicator buffers (closed-bar shift=1)
    2. Manage existing positions:
       - Break-even check
       - ATR trailing stop
       - Profit lock ratchet
       - Time-based exit
       - Opposite-signal exit
    3. If new bar:
       a. ClassifyRegime() — ADX/ATR/BB regime detection
       b. NoTradeGate() checks:
          - Market open + session filter
          - Spread limit
          - Cooldown after loss
          - Consecutive loss limit
          - Kill switch
          - Max drawdown
          - Max concurrent positions
          - Daily/weekly loss limits
       c. GenerateSignal() — strategy-specific entry logic
       d. CheckConfirm() — HTF alignment + R:R + ADX minimum
       e. Calculate position size from risk %
       f. Execute with retry logic
       g. Mark bar to prevent duplicates

ON_TESTER:
    Custom fitness = weighted(RecoveryFactor, ROI, ProfitFactor, TradeCount, Sharpe, Drawdown)

Optimization Profile

Optimized Brokers:
ExnessIC Markets
Optimized Symbols:
XAUUSD
Optimized Timeframes:
M1M15

How to Install This EA on MT5

  1. 1Download the .mq5 file using the button above
  2. 2Open MetaTrader 5 on your computer
  3. 3Click File → Open Data Folder in the top menu
  4. 4Navigate to MQL5 → Experts and paste the .mq5 file there
  5. 5In MT5, right-click Expert Advisors in the Navigator panel → Refresh
  6. 6Drag the EA from the Navigator onto any chart (M1 or M5 recommended)
  7. 7In the EA dialog, enable Allow Algo Trading and set your lot size
  8. 8Click OK — the EA will begin trading automatically

EA Parameters

ParameterDefaultDescription
InpMagic22210010Magic number
InpTradeComment"Psgrowth.com Expert_10010"Trade comment
InpSlippagePoints20Max slippage (points)
InpSignalTF4Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Signal timeframe
InpRiskPercent0.5Risk per trade (% of effective capital)
InpATR_SL_Mult1.5SL distance = ATR * mult
InpRR_Target2.0Reward:Risk target (TP1)
InpMaxConcurrent1Max concurrent trades (this symbol)
InpMaxDailyLosses3Max consecutive losses before cooldown
InpCapitalCapAmount0.0Capital cap amount (account currency)
InpCapitalCapFloor50.0Floor below which new entries blocked
InpImpulseStrength1.0Impulse bar strength (x range, ATR units)
InpQuietRangeATR0.6Compression range max (x ATR)
InpMinADX18.0Min ADX for trend-confirmed entries
InpMaxSpreadPoints30Max absolute spread (points)
InpMinRR1.2Min reward:risk for entry
InpUseBreakEventrueMove to break-even at 1R
InpUseATRTrailtrueATR trailing stop
InpUsePartialTPtrueTake partial profit at TP1
InpDryRuntrueDry-run mode (signal-only, no orders)
InpKillSwitchfalseMaster kill switch
Source Code (.mq5)Open Source
Pipsgrowth_com_EX10010.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX10010 HFT Scalper — impulse-out-of-compression momentum scalper, full 12-layer stack."

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <Trade\DealInfo.mqh>

//================== TUNABLE CONSTANTS (NOT inputs, kept under cap) ============
#define ATR_PERIOD              14      // ATR period for SL/trail
#define ATR_PCTILE_LOOKBACK     100     // bars for ATR-percentile regime
#define ADX_PERIOD              14      // ADX period for trend regime
#define BB_PERIOD               20      // Bollinger period (width regime)
#define BB_DEVIATION            2.0     // Bollinger deviations
#define EMA_FAST                8       // fast EMA (signal)
#define EMA_SLOW                21      // slow EMA (signal)
#define HTF_EMA_PERIOD          50      // HTF trend filter
#define HTF_TIMEFRAME           PERIOD_H1
#define SIGNAL_TIMEFRAME        PERIOD_M5
#define COMPRESS_LOOKBACK       20      // bars for compression range
#define COMPRESS_BODY_STRENGTH  0.6     // min body/range ratio for impulse
#define VOLUME_MA_PERIOD        20      // tick volume MA period
#define VOLUME_MULT             1.2     // impulse volume multiplier
#define TRAIL_ATR_MULT          2.0     // ATR trail distance mult
#define BE_TRIGGER_R            1.0     // move to BE at N R-multiple
#define BE_OFFSET_PIPS          2.0     // BE offset in pips
#define PARTIAL_RATIO           0.5     // partial close ratio
#define MAX_BARS_IN_TRADE       240     // time-based exit (bars)
#define MAX_CONSEC_LOSSES_COOL  3       // cooldown after N consecutive losses
#define COOLDOWN_BARS           30      // cooldown duration in bars
#define SESSION_START_HOUR      7       // London open (server time)
#define SESSION_END_HOUR        20      // NY close (server time)
#define ROLLING_SPREAD_BARS     50      // rolling avg spread window
#define SPREAD_MULT_MAX         2.5     // max spread vs rolling avg
#define PYRAMID_MAX_LEVELS      5       // pyramid cap
#define PYRAMID_ATR_SPACING     1.5     // spacing between pyramid entries
#define PYRAMID_MIN_PROFIT_R    1.0     // min R before next pyramid level
#define MAX_DAILY_LOSS_PERCENT  3.0     // daily loss limit %
#define WEEKLY_LOSS_LIMIT_PERCENT 6.0   // weekly loss limit %
#define MAX_OPEN_POSITIONS      3       // portfolio cap
#define MAX_SYMBOL_EXPOSURE     2       // per-symbol cap
#define SLIPPAGE_POINTS         20      // max slippage
#define PARTIAL_TP_RATIO        0.5     // fraction closed at TP1

//=============================================================================
// INPUTS — 18 total (within 12-22 cap)
//=============================================================================
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;
      case 3: return PERIOD_M15;
      case 4: return PERIOD_M30;

Full source code available on download

Educational purposes only. Do NOT use with real money. Test on demo accounts only.

Tags:ex10010momentum-scalperpipsgrowthfreemt5xauusd

Clear Warning: Educational Purposes Only

Clear Warning: This Expert Advisor is for educational and testing purposes only. Do NOT use it with real money. Test only on demo accounts. Trading with real money involves substantial risk of capital loss. This does not constitute investment advice.

Recommended Brokers for This EA

These EAs run on MT5 — use a regulated broker with fast execution and tight spreads

Community

Sign in to contributeSign In

Educational purposes only. Do NOT use with real money. Test on demo accounts only.

File NamePipsgrowth_com_EX10010.mq5
File Size38.3 KB
Versionv2.00
PlatformMetaTrader 5
File Type.mq5 Source
StrategyScalping
Risk LevelHigh Risk
Timeframes
M1M15
Currency Pairs
XAUUSD
Min. Deposit$100