P
PipsGrowth
ScalpingOpen Source – Free

Pipsgrowth EX10007 Momentum-Scalper

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

Pipsgrowth.com EX10007 XAU Scalper Pro — EMA trend + RSI cross pullback scalper, full 12-layer stack.

Overview

Pipsgrowth EX10007 Momentum-Scalper is a closed-bar trend-pullback scalper built around an EMA(50) over EMA(200) macro trend, with RSI(14) crossing the 50 midline as the entry trigger and a hard regime gate in front of every order. The header advertises twelve cooperating layers, but the implementation actually exercises seven of them — REGIME, SIGNAL, CONFIRM, ENTRY, SIZING, MANAGE/EXIT, plus the OnTester fitness function. CAP, RISK, NO-TRADE, and SCALING are present as guard checks rather than as separate modules. Reading the .mq5 directly shows where the layers start and stop, and that gap between marketing and implementation is worth understanding before you trust the equity curve.

The signal engine is the heart of the EA. EvaluateSignal() reads the last two closed bars of iMA(_Symbol,_Period,50,0,MODE_EMA,PRICE_CLOSE), iMA(_Symbol,_Period,200,0,MODE_EMA,PRICE_CLOSE), and iRSI(_Symbol,_Period,14,PRICE_CLOSE). A long needs all six conditions simultaneously: the fast EMA is above the slow EMA, RSI crosses from below 50 to above 50 between the previous and last closed bar, the close of the last closed bar sits above the fast EMA (a pullback reclaim), the fast-EMA slope in points is at least DEF_MIN_EMA_SLOPE_POINTS = 10.0, the absolute distance between the two EMAs is at least DEF_MIN_EMA_DIST_ATR = 0.5 of the current ATR(14), and the close exceeds the previous bar's high (the breakout confirmation, governed by InpUseBreakoutConfirm = true). The short side mirrors that stack. None of these conditions is discretionary — confidence is then computed as min(100, (slope / 20) * 50 + 25) and forwarded to TryEntry().

Before any signal is even considered, RegimeOK() requires a real trend to be present. The function pulls iADX(_Symbol,_Period,14) and rejects the bar if ADX main line is below InpMinADX = 20.0. It then computes the ATR-percentile against a 50-bar lookback: bars with current ATR below 15% of the recent average are rejected as dead volatility, and bars above 95% are rejected as spike events. Finally, it inspects the iBands(_Symbol,_Period,20,0,2.0,PRICE_CLOSE) width and refuses entries during a BB-width squeeze (current width below 10% of the 10-bar average). This three-stage regime check is what kills the bulk of the false breakouts that pure EMA-cross systems suffer from — the EA simply does not try to trade when the market is compressing or when directional energy has leaked out.

ConfirmOK() adds two more gates. When InpHTFConfirm = true is on, the EA loads a second pair of EMAs on PERIOD_M15 (DEF_HTF_TF) and requires the M15 fast-EMA/slow-EMA relationship to agree with the M5 signal. This is the most consequential toggle in the inputs: with HTF confirm off, the EA will fire M5 signals even when the M15 trend is the other way, and you can expect a noticeably larger trade count at the cost of a noticeably lower win rate. The second confirmation is a tick-volume filter — current tick volume must be at least 80% of the 20-bar rolling average (DEF_VOL_MIN_RATIO = 0.8). The volume check uses raw iVolume() of bar 1; it will be near-zero on FX symbols that don't report tick volume, in which case the comparison is skipped and the filter is effectively neutral.

The trade execution path is honest about partial-fill risk. OnInit() reads SYMBOL_FILLING_MODE and assigns FOK → IOC → RETURN in that order, so the EA adapts to whatever your broker supports. Slippage is set to 40 points via DEF_DEVIATION_POINTS (40 points on XAUUSD is roughly $0.40, or 4 pips). After the first trade.Buy/trade.Sell, if the result retcode is TRADE_RETCODE_REQUOTE, TRADE_RETCODE_PRICE_OFF, or TRADE_RETCODE_TIMEOUT, the EA refreshes the symbol quote and re-sends once. Closing and modification go through dedicated TryClose_EX10007, TryClosePartial_EX10007, and TryModify_EX10007 helpers, each of which loops up to three times with a 200ms sleep on retcodes 10004/10006/10007/10009. There is no walk-the-book logic — when the third retry fails, the action is logged and abandoned.

Stop placement is fully ATR-driven. CalcLotForATRStop() measures the stop distance as InpATRMultiplier * ATR(14) with a default of 1.5× ATR, then floors it at the broker's SYMBOL_TRADE_STOPS_LEVEL. The take-profit is set at stopDist * DEF_TP_ATR_MULT = 1.3, which yields a fixed TP-to-SL ratio of 1.3 to 1.5 (R-multiple 0.87) on the initial order. The asymmetric sizing is deliberate — the EA expects to make most of its money on the trail, not on the initial target. When InpRiskPercent = 0.7 is enabled, the position size is computed as riskMoney / lossPerLot, where lossPerLot = (stopDist / tickSize) * tickValue, so a $1,000 account with a 0.7% risk on a 1.5× ATR(14) stop lands in the 0.02–0.05 lot range on most XAUUSD brokers. Setting InpRiskPercent to 0 or negative forces the EA to use InpFixedLot = 0.01 flat.

Once a position is open, ManageTrades() runs on every tick and stacks three independent exit conditions. When unrealized profit reaches 1.0R (DEF_BE_TRIGGER_R = 1.0), the stop is moved to entry + 15 points offset, locking in a scratch-or-better outcome. At the same profit threshold, if the position is more than 1.5× the minimum lot, half the position is closed via ClosePartial() and tagged [P] in the comment to prevent re-triggering. After 1.0R profit, the trailing stop activates at 1.0× ATR behind price (DEF_TRAIL_ATR_MULT = 1.0). Beyond management, two structural exits run first: a closed-bar EvaluateSignal() call that closes longs on a fresh sell signal and shorts on a fresh buy signal, and a time-based exit at DEF_MAX_BARS_IN_TRADE = 240 bars. The 240-bar cap is 20 hours of M5 bars, so an M5 trade that survives 20 hours without trailing out gets force-closed regardless of P&L. Regime collapse (RegimeOK(0) returning false on ADX) also closes the position with a regime-change-ADX reason tag.

The risk and safety stack is conservative even though the EA is labeled HIGH. The 0.7% per-trade risk is light, and the loss-limit circuit breakers are tight: 5% of effective capital per day and 10% per week stops the EA before catastrophic damage. The capital cap is opt-in: with InpCapitalCapAmount = 0 (the default), no cap is applied and the EA sizes off full equity; setting it to e.g. 5000 means the EA treats the first $5,000 of equity as its trading capital and any excess as out-of-bounds. A floor check (InpCapitalCapFloor = 50.0) blocks new entries when effective capital falls below $50. A cooldown of 3 bars (15 minutes on M5) engages after 3 consecutive losses — UpdateConsecutiveAfterClose() reads the recent deal history to detect losing exits, increments a counter, and arms g_cooldownUntil. Note one operational caveat: the kill switch (InpKillSwitch = true) is a panic-close-all-on-tick — flipping it live will close every position the EA owns, so use it from the inputs panel, not by code change.

Two non-obvious behaviors are worth knowing about. First, InpDryRun = true is the default — the EA will print [DRY-RUN] entries to the journal but not send any order. You must explicitly set InpDryRun = false before going live. Second, the spread filter uses DEF_MAX_SPREAD_POINTS = 60 (6 pips on XAUUSD) but then self-corrects: if the broker's SYMBOL_TRADE_STOPS_LEVEL is lower, the cap is widened to 4× the stops level; if the stops level is higher, that becomes the effective cap. A secondary ratio filter refuses entries when ATR(points) / spread < 3.5, which on a 60-point XAUUSD spread ceiling means the broker must deliver at least 17-point ATR — non-issue on gold, but worth knowing if you adapt the EA to lower-volatility pairs.

The OnTester fitness function is the standard (net * profitFactor) / (1 + balanceDD%), returning 0 when there are fewer than 30 trades so a single lucky entry can't dominate the optimization pass. With pyramid disabled (the default), expect the strategy tester to settle into 1–3 trades per day on XAUUSD M5 during London/NY, with a win rate in the 40–55% band but a positive expectancy because the partials + trail combination converts small winners into runners. Backtests on a cent account with $100 will move the needle; backtests on a $10,000 standard account will need a longer data window before the per-trade dollar noise averages out.

Strategy Deep Dive

On every tick, OnTick calls ManageTrades first to handle break-even, partial close, and trailing on any open position, then UpdateRealizedPnL walks the deal history to refresh daily and weekly PnL counters. The no-trade gate fires when effective capital drops below the floor, when the 5%/10% daily/weekly loss limit is breached, or when a 3-loss cooldown is active. RegimeOK then asks: is ADX above 20, is ATR-percentile between 15% and 95%, and is the BB(20, 2.0) width above 10% of its 10-bar average. ConfirmOK requires the M15 EMA(50) and EMA(200) to agree with the M5 direction and current tick volume to be at least 0.8× of the 20-bar rolling average. TryEntry computes position size from InpRiskPercent and the ATR-based stop, and fires a single order with one retry on REQUOTE/PRICE_OFF/TIMEOUT. The pyramid is hardcoded OFF by default and would add up to 3 layers spaced 1.5× ATR apart on profitable directions only, but the default config does not enable it.

Entry Signal

A long fires when the closed-bar fast EMA(50) sits above the slow EMA(200), RSI(14) crosses from below 50 to above 50 between the last two closed bars, the close of bar 1 reclaims the fast EMA, the EMA-50 slope is at least 10 points, the EMA distance is at least 0.5× ATR(14), and the close exceeds bar 2's high (when InpUseBreakoutConfirm is on). The short side mirrors all six conditions. The trade then has to pass RegimeOK (ADX ≥ 20, ATR-percentile between 15% and 95%, no BB-width squeeze) and ConfirmOK (HTF M15 EMA agreement and tick-volume ≥ 0.8× of the 20-bar average) before TryEntry fires the order.

Exit Signal

Three layers of exit logic run on every tick via ManageTrades. A fresh opposite-direction signal from EvaluateSignal closes the position with reason 'opp-signal'. A regime-collapse event (RegimeOK returning false on ADX) force-closes with reason 'regime-change-ADX'. After 1.0R profit, half the position is closed at 1.3× the stop distance (partial TP), the stop is ratcheted to entry + 15 points (break-even), and an ATR(14) × 1.0 trail activates behind price. Any trade that survives 240 bars (20 hours of M5) is force-closed with reason 'max-bars-reached' regardless of P&L.

Stop Loss

Stop-loss is computed by CalcLotForATRStop as InpATRMultiplier (default 1.5) × ATR(14), floored at the broker's SYMBOL_TRADE_STOPS_LEVEL. The TP is set to 1.3× the stop distance (TP-to-SL ratio of 1.3:1.5, R-multiple 0.87), so the initial order is intentionally stop-wider than target. Trade management converts this asymmetric placement into a positive expectancy via the 1.0R break-even, 0.5 partial close, and ATR(14) × 1.0 trailing stop. There is no global account stop; the per-trade stop is the only per-position SL.

Take Profit

Initial TP is set to 1.3 × the stop distance by CalcLotForATRStop, giving a TP-to-SL ratio of 1.3:1.5 (InpMinRR gates the entry to this minimum R-multiple). Once profit reaches 1.0R, half the position is closed at the partial-TP level (ClosePartial, tagged [P] in the comment) and the stop is moved to entry + 15 points. From that point, the remaining half is held with an ATR(14) × 1.0 trail (DEF_TRAIL_ATR_MULT). The TP itself is rarely the actual exit — the trail and the partial close do most of the work.

Best For

Traders running XAUUSD on M5 during the London and New York sessions (server hours 7-17 with a soft 12-14 news blackout). Requires a broker with sub-$0.40 spread on gold and a filling mode that supports FOK, IOC, or RETURN — most ECN and RAW-spread brokers qualify. The default config demands a minimum balance of $100 (with the capital-cap floor at $50), but the strategy is more honest on $1,000+ where the 0.7% risk-per-trade translates to a usable 0.02-0.05 lot size. Best for traders who accept 240-bar (20-hour) maximum hold times and want the position-management layer (partial + BE + trail) to do the profit-taking work, not a fixed TP. Note: InpDryRun is true by default — you must explicitly disable it before any live order will fire.

Strategy Logic

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

Family: Momentum-Scalper Magic: 22210007 Version: 2.00

BRIEF: Trend-following pullback scalp on XAU/FX. Long: FastEMA > SlowEMA AND RSI crosses UP over 50 AND close>FastEMA AND close>prevHigh (breakout confirm) AND FastEMA slope strong AND |F-S|>=k*ATR AND ADX>=min AND HTF-EMA agrees. Short: mirror. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

INDICATOR STACK:

  • Standard MT5 indicators

KEY FUNCTIONS:

  • ComputeEffectiveCapital()
  • UpdateRealizedPnL()
  • RegimeOK()
  • EvaluateSignal()
  • ConfirmOK()
  • CountOurPositions()
  • CountOurPositionsByType()
  • CalcLotForATRStop()
  • NormalizeLot()
  • TryEntry()
  • TryPyramid()
  • ManageTrades()
  • ...and 8 more

INTERNAL CONSTANTS (36 total):

  • DEF_FAST_EMA_PERIOD = 50 // Fast EMA period (matches source thesis)
  • DEF_SLOW_EMA_PERIOD = 200 // Slow EMA period (matches source thesis)
  • DEF_RSI_PERIOD = 14 // RSI period
  • DEF_RSI_MID = 50.0 // RSI bull/bear mid-line
  • DEF_MIN_EMA_SLOPE_POINTS = 10.0 // FastEMA slope min (points, source default)
  • DEF_MIN_EMA_DIST_ATR = 0.5 // |FastEMA-SlowEMA| >= k*ATR
  • DEF_MIN_ATR_SPREAD_RATIO = 3.5 // ATR(points)/Spread >= k
  • DEF_BB_PERIOD = 20 // BB period
  • DEF_BB_DEVIATION = 2.0 // BB deviation
  • DEF_ATR_PCT_LOOKBACK = 50 // ATR-percentile lookback
  • DEF_ATR_PCT_LO = 15 // ATR percentile min (dead-vol filter)
  • DEF_ATR_PCT_HI = 95 // ATR percentile max (spike filter)
  • DEF_BBW_PCT_LO = 10 // BB-width percentile min
  • DEF_HTF_TF = PERIOD_M15 // HTF trend timeframe (source default)
  • DEF_VOL_LOOKBACK = 20 // Tick-volume rolling average
  • ...and 21 more

INPUT PARAMETERS (18 total across 7 groups):

  • [=== Identity ===] InpMagic = 22210007 // Magic number
  • [=== Identity ===] InpTradeComment = "Psgrowth.com Expert_10007" // Trade comment
  • [=== Identity ===] InpDryRun = true // Dry-run (no live sends)
  • [=== Identity ===] InpKillSwitch = false // Kill switch (closes-all on tick)
  • [=== Risk & Sizing ===] InpRiskPercent = 0.7 // Risk per trade (% of effective capital)
  • [=== Risk & Sizing ===] InpFixedLot = 0.01 // Fixed lot fallback (used when Risk%<=0)
  • [=== Risk & Sizing ===] InpDailyLossLimitPercent = 5.0 // Daily loss limit (% of effective capital)
  • [=== Risk & Sizing ===] InpWeeklyLossLimitPercent = 10.0 // Weekly loss limit (% of effective capital)
  • [=== Risk & Sizing ===] InpMaxConcurrent = 1 // Max concurrent positions (this EA+symbol)
  • [=== Capital Allocation Cap ===] InpCapitalCapAmount = 0.0 // Capital cap amount ($ REAL MONEY equity)
  • [=== Capital Allocation Cap ===] InpCapitalCapFloor = 50.0 // Floor below which new entries are blocked ($)
  • [=== Signal (EMA trend + RSI cross + pullback) ===] InpUseBreakoutConfirm = true // Require close>prevHigh (long) / close<prevLow (short)
  • [=== Signal (EMA trend + RSI cross + pullback) ===] InpHTFConfirm = true // Confirm trend with HTF EMA(50>200)
  • [=== Regime / Confirm ===] InpMinADX = 20.0 // Minimum ADX main (trend strength)
  • [=== Regime / Confirm ===] InpMinRR = 1.3 // Minimum reward:risk for entry (TP ATR multiplier)
  • [=== Exit / Manage ===] InpATRPeriod = 14 // ATR period (SL/trail)
  • [=== Exit / Manage ===] InpATRMultiplier = 1.5 // ATR SL multiplier
  • [=== Scaling (Pyramid) ===] InpEnablePyramid = false // Enable pyramiding (default OFF)
Pseudocode
// Pipsgrowth EX10007 Momentum-Scalper — Execution Flow (from source analysis)
// Family: Momentum-Scalper
// Trend-following pullback scalp on XAU/FX. Long: FastEMA > SlowEMA AND RSI crosses UP over 50 AND close>FastEMA AND close>prevHigh (breakout confirm) AND FastEMA slope strong AND |F-S|>=k*ATR AND ADX>=min AND HTF-EMA agrees. Short: mirror. 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:
M5M15

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
InpMagic22210007Magic number
InpTradeComment"Psgrowth.com Expert_10007"Trade comment
InpDryRuntrueDry-run (no live sends)
InpKillSwitchfalseKill switch (closes-all on tick)
InpRiskPercent0.7Risk per trade (% of effective capital)
InpFixedLot0.01Fixed lot fallback (used when Risk%<=0)
InpDailyLossLimitPercent5.0Daily loss limit (% of effective capital)
InpWeeklyLossLimitPercent10.0Weekly loss limit (% of effective capital)
InpMaxConcurrent1Max concurrent positions (this EA+symbol)
InpCapitalCapAmount0.0Capital cap amount ($ REAL MONEY equity)
InpCapitalCapFloor50.0Floor below which new entries are blocked ($)
InpUseBreakoutConfirmtrueRequire close>prevHigh (long) / close<prevLow (short)
InpHTFConfirmtrueConfirm trend with HTF EMA(50>200)
InpMinADX20.0Minimum ADX main (trend strength)
InpMinRR1.3Minimum reward:risk for entry (TP ATR multiplier)
InpATRPeriod14ATR period (SL/trail)
InpATRMultiplier1.5ATR SL multiplier
InpEnablePyramidfalseEnable pyramiding (default OFF)
Source Code (.mq5)Open Source
Pipsgrowth_com_EX10007.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX10007 XAU Scalper Pro — EMA trend + RSI cross pullback scalper, full 12-layer stack."

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

//--- Non-operator tunables (kept as #define to keep input count <= 22) ---//
#define DEF_FAST_EMA_PERIOD       50         // Fast EMA period (matches source thesis)
#define DEF_SLOW_EMA_PERIOD       200        // Slow EMA period (matches source thesis)
#define DEF_RSI_PERIOD            14         // RSI period
#define DEF_RSI_MID               50.0       // RSI bull/bear mid-line
#define DEF_MIN_EMA_SLOPE_POINTS  10.0       // FastEMA slope min (points, source default)
#define DEF_MIN_EMA_DIST_ATR      0.5        // |FastEMA-SlowEMA| >= k*ATR
#define DEF_MIN_ATR_SPREAD_RATIO  3.5        // ATR(points)/Spread >= k
#define DEF_BB_PERIOD             20         // BB period
#define DEF_BB_DEVIATION          2.0        // BB deviation
#define DEF_ATR_PCT_LOOKBACK      50         // ATR-percentile lookback
#define DEF_ATR_PCT_LO            15         // ATR percentile min (dead-vol filter)
#define DEF_ATR_PCT_HI            95         // ATR percentile max (spike filter)
#define DEF_BBW_PCT_LO            10         // BB-width percentile min
#define DEF_HTF_TF                PERIOD_M15 // HTF trend timeframe (source default)
#define DEF_VOL_LOOKBACK          20         // Tick-volume rolling average
#define DEF_VOL_MIN_RATIO         0.8        // Min vol vs rolling-MA ratio
#define DEF_SESSION_START         7          // London/NY session start hour (server)
#define DEF_SESSION_END           17         // Session end hour (server, source default)
#define DEF_NEWS_START_HOUR       12         // Soft news-blackout start
#define DEF_NEWS_END_HOUR         14         // Soft news-blackout end
#define DEF_MAX_BARS_IN_TRADE     240        // Max bars in trade (time exit)
#define DEF_BE_TRIGGER_R          1.0        // Break-even trigger (R multiples)
#define DEF_BE_OFFSET_POINTS      15         // BE lock offset (points, source default)
#define DEF_PARTIAL_FRAC          0.5        // Partial TP fraction
#define DEF_PARTIAL_R             1.0        // Partial TP trigger (R multiples)
#define DEF_TRAIL_START_R         1.0        // Trail activation (R multiples)
#define DEF_TRAIL_ATR_MULT        1.0        // ATR trail multiplier (source default)
#define DEF_TP_ATR_MULT           1.3        // TP ATR multiplier (source default)
#define DEF_COOLDOWN_BARS         3          // Bars cooldown after consecutive losses (15 min @M5)
#define DEF_COOLDOWN_LOSSES       3          // Consecutive losses to trigger cooldown
#define DEF_MAX_PYRAMID           3          // Max pyramid levels (hard cap)
#define DEF_PYRAMID_SPACING_ATR   1.5        // Pyramid spacing (ATR multiples)
#define DEF_MAX_SPREAD_POINTS     60         // Max spread (points, source default for XAU raw)
#define DEF_DEVIATION_POINTS      40         // Order send deviation (points, source default)
#define DEF_MAX_SYMBOL_EXPOSURE   3          // Max positions per symbol (this EA)
#define DEF_MIN_ATR_TO_SPREAD     3.5        // alias - same as DEF_MIN_ATR_SPREAD_RATIO

//--- Input Groups --------------------------------------------------//
input group "=== Identity ==="
input long               InpMagic           = 22210007;                            // Magic number
input string             InpTradeComment    = "Psgrowth.com Expert_10007";        // Trade comment
input bool               InpDryRun          = true;                               // Dry-run (no live sends)
input bool               InpKillSwitch      = false;                              // Kill switch (closes-all on tick)

input group "=== Risk & Sizing ==="
input double             InpRiskPercent     = 0.7;        // Risk per trade (% of effective capital)
input double             InpFixedLot        = 0.01;       // Fixed lot fallback (used when Risk%<=0)
input double             InpDailyLossLimitPercent  = 5.0;  // Daily loss limit (% of effective capital)

Full source code available on download

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

Tags:ex10007momentum-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_EX10007.mq5
File Size37.9 KB
Versionv2.00
PlatformMetaTrader 5
File Type.mq5 Source
StrategyScalping
Risk LevelHigh Risk
Timeframes
M5M15
Currency Pairs
XAUUSD
Min. Deposit$100