P
PipsGrowth
ScalpingOpen Source – Free

Pipsgrowth EX11002 MultiFilterScalper

MT5 Expert Advisor (Open Source) · XAUUSD · M5

Pipsgrowth.com EX11002 MultiFilter_XAUUSD_5M — multi-indicator confluence scalper with EMA/ATR/HA/SuperTrend/Hull filters, full 12-layer stack.

Overview

EX11002 MultiFilterScalper is built around a single architectural decision that sets it apart from typical indicator confluence EAs: instead of requiring every filter to agree (an AND-gate) or triggering on any single filter (an OR-gate), it tallies votes from each enabled filter and only fires when a majority of the active filters point in the same direction. With the default configuration — EMA trend, ATR range gate, Heiken Ashi, and SuperTrend all enabled, Hull MA disabled — that means the EA waits for three of the three directional filters (EMA, HA, SuperTrend) to all agree on a buy or sell before it commits capital. This majority-vote structure trades a small amount of trade frequency for a meaningful reduction in false triggers, because the EA is structurally incapable of entering on a one-filter flicker.

Each filter contributes a single integer vote on every closed bar (shift=1 to prevent repainting). The EMA filter reads the close of the previous bar against a 50-period exponential moving average and votes +1 if price is above the EMA, -1 if below. The Heiken Ashi filter rebuilds the synthetic HA candles inline and requires two consecutive bullish HA closes for a buy vote, two consecutive bearish for a sell vote, with the count controlled by InpHaConsecutive. The SuperTrend filter computes the classic upper/lower band — high-low midpoint plus or minus three ATR multiples — over a 10-bar ATR window and votes +1 if the current and previous closes are both above the lower band, -1 if both are below the upper band. The Hull MA filter, disabled by default and activated by setting InpUseHullFilter = true, builds the standard Hull construction (2×WMA(half-period) minus WMA(full-period)) and votes on the direction of the Hull value from one bar to the next.

The ATR filter is structurally different from the other three. It does not cast a directional vote — instead it acts as a range gate. The EA reads the current ATR(14) in points and refuses to trade when ATR is below InpMinAtr (default 0.5 points, meaning the market is too quiet) or above InpMaxAtr (default 50.0 points, meaning volatility has spiked into a regime the EA does not want to participate in). Setting InpMaxAtr = 0 disables the upper bound. This is the EA's primary environment filter, and it does not contribute to the vote count; it simply returns from OnTick before the voting logic runs.

The required vote threshold scales with the number of enabled directional filters. With Hull off, the EA counts EMA, HA, and SuperTrend (three filters) and needs at least total/2 + 1 = two of the three to agree. With Hull on, that becomes three of four. Crucially, the EA also checks that the majority direction strictly exceeds the minority — so two buy votes and one sell vote on a three-filter configuration will not fire on a buy. This is the difference between "majority agrees" and "majority is decisive."

When a signal does fire, the EA computes the stop and target as multiples of the current ATR. InpStopLossAtr = 1.5 and InpTakeProfitAtr = 2.0 give a stop-to-target ratio of 1.5:2.0 (R-multiple of 1.33), with a hard floor of 50 points on the stop distance to keep the broker's SYMBOL_TRADE_STOPS_LEVEL constraint from rejecting the order. GetLotSize() then sizes the position to risk InpRiskPercent = 1.0% of effective capital against that stop distance, with InpFixedLot = 0.01 as the fallback when risk-percent is set to zero, capped at InpMaxLotSize = 10.0. The capital base passed to the lot calculation is GetEffectiveCapital(), which by default returns the full account equity but can be clamped to InpCapitalCapAmount when that input is non-zero — a deliberate opt-in for traders who want to ring-fence a portion of their balance to this EA only.

The execution path is straightforward: the EA requests a buy at the current Ask or a sell at the current Bid with the ATR-derived SL and TP, checks that the order's required margin does not exceed the free margin, then attempts the order in a three-iteration retry loop with 150ms sleeps on REQUOTE, TIMEOUT, and PRICE_OFF returns. The CTrade instance is configured to use the broker's preferred filling mode selected in FOK > IOC > RETURN order from the SYMBOL_FILLING_MODE mask at init time. The slippage tolerance is 30 points (InpSlippage).

Position management runs on every tick, not just on new-bar logic. ManageProfitLock() walks every open position for this EA's magic number and, once profit exceeds InpLockTrigger = 300 points, sets a new stop at the current price minus InpLockDistance = 100 points — but only advances the stop in discrete 50-point steps via InpLockStep, never backwards, which prevents the stop from loosening during a pullback. The same function handles both long and short positions. This step-ratchet style is intentionally simpler than a continuous trail: it produces fewer order modifications, which means fewer re-quote risks and less broker load.

Pyramiding is on by default (InpUsePyramid = true) and supports up to InpMaxPyramidTrades = 3 open positions. The CheckPyramidSafety() function blocks any add-on when the new signal would reverse the existing direction (a buy while a sell is open, or vice versa), and crucially it measures secured profit — the distance between the current stop and the entry price — not floating profit. A new position is only added when the existing position's stop has already been advanced at least InpPyramidMinProfit = 100 points into profit, ensuring every pyramid addition is into a trade that has already proven itself. With InpUsePyramid = false, the EA falls back to a strict one-position-at-a-time mode.

The hardening stack is unusually comprehensive for a single-MA-filter scalper. IsSafeToTrade() returns false when any of the following conditions hold: equity is at or above the capital cap, equity has dropped below the InpCapitalCapFloor = $50 floor, equity has fallen below 95% of the initial balance, daily realized loss exceeds 3% of effective capital, weekly realized loss exceeds 6%, the consecutive-loss counter has hit 3 and the cooldown timer is still active, the daily trade count has reached 50, the market is closed, the current GMT-derived time is outside the configured session windows, or the optional news filter is on and the time is within 15 minutes of a London or New York open. Realized PnL is fed into these counters through OnTradeTransaction, which walks the deal history on every DEAL_TRANSACTION_DEAL_ADD event and updates g_realizedToday, g_realizedWeek, g_tradesToday, and g_consecLosses from the actual fill records, not from EA bookkeeping. After three consecutive losses, a 30-minute cooldown (InpCooldownMinutes) blocks all new entries regardless of signal strength.

The session filter is GMT-based, not server-time-based. DetectGMTOffset() walks back up to 100 H1 bars at init looking for the weekend gap (the jump from Friday 22:00 to Sunday 22:00 or Sunday 23:00) and computes the broker's offset from GMT, or accepts the manual override via InpServerGMTOffset. The active session is then computed in real GMT: London 7-16, New York 12-21, and Asian 0-7. With InpAvoidAsia = true (the default), the EA refuses to trade during pure Asian hours, but it will still trade the London and New York overlap, which is the session XAUUSD scalpers typically want.

Time-based exits are not built into this EA in the conventional sense — there is no InpMaxHoldBars input. The mechanism that closes positions is the profit-lock ratchet (which guarantees that any trade that moves 300+ points in profit will eventually close on a pullback) combined with the optional InpCloseAtEnd = true flag, which closes all positions for this magic number when the server time crosses the end of the configured trading window. The default time window is 08:00-20:00 server time, which roughly brackets the London and New York sessions depending on broker offset.

The OnTester() fitness function for strategy optimizer runs is (net × pf) / (1 + dd) with a minimum of 30 trades required for a non-zero result, and it short-circuits to zero when the trade count is below that floor. The divisor protects against degenerate results on small samples. This is the same fitness family used across the EX11 family.

In backtesting and live deployment, this EA is a slow-twitch, high-conviction XAUUSD M5 scalper. The vote structure means it will not fire on every 5-minute bar, even in clean trends — it will fire only when at least two of EMA, HA, and SuperTrend agree on direction, with ATR confirming the environment is neither dead nor chaotic. The profit-lock ratchet means that winning trades routinely give back the last 100 points before exiting, which is the price of the simple-step trailing design. The hardening stack is the main reason to consider this EA on a live account: the daily and weekly loss caps, the cooldown, and the equity floor are all running automatically and cannot be overridden by signal strength.

Strategy Deep Dive

Each closed M5 bar is read by up to three directional filters and one non-voting range gate, and the directional filters each cast a buy or sell vote that gets tallied into a running score. The range gate is purely a volatility filter — it reads ATR(14) in points and silently returns from OnTick when ATR is below InpMinAtr (0.5 points, the dead-market floor) or above InpMaxAtr (50.0 points, the chaos ceiling). The three directional filters by default are a 50-period EMA slope check, a Heiken Ashi two-consecutive-bars same-color check built inline from raw OHLC, and a SuperTrend upper/lower band check using a 10-period ATR with a 3.0 multiplier; Hull MA is a fourth optional directional filter, disabled in the shipped defaults. A signal fires only when a strict majority of the directional filters agree on the same side. Position size comes from a 1% risk model against the ATR-derived stop, and trade management is handled by a step-ratchet profit lock that advances the stop in 50-point increments once profit exceeds 300 points. The hardening stack enforces a 3% daily loss cap, a 6% weekly loss cap, a 30-minute cooldown after three consecutive losses, a 50-trade daily limit, and a 95% equity floor, all driven from the OnTradeTransaction deal feed rather than from EA bookkeeping.

Entry Signal

The EA tallies one buy or sell vote from each enabled directional filter on every closed M5 bar: EMA(50) compares the previous close to the EMA, Heiken Ashi requires two consecutive same-color synthetic candles, SuperTrend checks whether the close sits above or below its ATR-derived bands, and Hull (off by default) compares the current Hull value to the prior bar. The ATR(14) range gate is non-voting and blocks entries when volatility is below 0.5 or above 50.0 points. A signal fires only when a strict majority of the directional filters agree on the same side — that is two of three with Hull off, or three of four with Hull on.

Exit Signal

The profit-lock ratchet in ManageProfitLock() advances the stop in 50-point steps once a position is more than 300 points in profit, keeping the stop 100 points behind the current price and never loosening. With InpCloseAtEnd enabled, all positions close when the server clock crosses the configured end-of-session time (default 20:00). The EA has no traditional time-based exit, no partial-close, and no break-even — exit happens entirely through the ratchet and the optional end-of-session flush.

Stop Loss

Stop loss is ATR(14) × InpStopLossAtr (default 1.5), with a hard minimum of 50 points to respect the broker's SYMBOL_TRADE_STOPS_LEVEL. There is no fixed-pip stop — the stop scales with the current volatility of the instrument, so it widens automatically when ATR expands and tightens when ATR contracts.

Take Profit

Take profit is ATR(14) × InpTakeProfitAtr (default 2.0), giving a 1.5:2.0 stop-to-target ratio and a 1.33 R-multiple on every entry. The TP does not move or partial-close — it is set at entry and remains static, with all in-trade management done by the profit-lock ratchet rather than by trailing the target.

Best For

Designed for XAUUSD M5 with a $100 minimum recommended balance and HIGH risk classification. The majority-vote filter and the strict GMT-based session window (London 7-16, New York 12-21, Asia avoided by default) mean this EA should only be deployed on a broker offering low-spread gold execution during the London and New York overlap, with the optional 15-minute news filter switched on for traders running through high-impact releases. The capital allocation cap input is the natural single-account deployment lever: set InpCapitalCapAmount to the dollar amount you want this EA to manage and leave InpCapitalCapFloor at $50, and the EA will stop opening new positions once that ceiling is reached even if the rest of the account has more equity.

Strategy Logic

Pipsgrowth EX11002 MultiFilterScalper — Strategy Logic Analysis (from .mq5 source)

Family: MultiFilterScalper Magic: 22211002 Version: 2.00

BRIEF: Multi-filter EA combining EMA trend, ATR volatility, Heiken Ashi, SuperTrend and Hull MA filters — requires majority agreement to trigger entries. ATR-based SL/TP, safe pyramiding, profit-lock trailing, time filter and risk-based lot sizing. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

INDICATOR STACK:

  • Standard MT5 indicators

KEY FUNCTIONS:

  • GetHADirection()
  • CalculateSuperTrend()
  • CalculateHullDirection()
  • CalculateWMA()
  • CheckPyramidSafety()
  • ManageProfitLock()
  • GetLotSize()
  • GetEffectiveCapital()
  • RefreshRates()
  • IsTradingTime()
  • StrToTime()
  • CloseAllPositions()
  • ...and 11 more

INTERNAL CONSTANTS (0 total):

INPUT PARAMETERS (51 total across 13 groups):

  • [=== EMA Trend Filter ===] InpUseEmaFilter = true // Use EMA Filter
  • [=== EMA Trend Filter ===] InpEmaPeriod = 50 // EMA Period
  • [=== ATR Volatility Filter ===] InpUseAtrFilter = true // Use ATR Filter
  • [=== ATR Volatility Filter ===] InpAtrPeriod = 14 // ATR Period
  • [=== ATR Volatility Filter ===] InpMinAtr = 0.5 // Min ATR (Points)
  • [=== ATR Volatility Filter ===] InpMaxAtr = 50.0 // Max ATR (Points, 0=no limit)
  • [=== Heiken Ashi Filter ===] InpUseHaFilter = true // Use Heiken Ashi Filter
  • [=== Heiken Ashi Filter ===] InpHaConsecutive = 2 // Consecutive HA Bars Required
  • [=== SuperTrend Filter ===] InpUseStFilter = true // Use SuperTrend Filter
  • [=== SuperTrend Filter ===] InpStAtrPeriod = 10 // SuperTrend ATR Period
  • [=== SuperTrend Filter ===] InpStMultiplier = 3.0 // SuperTrend Multiplier
  • [=== Hull MA Filter ===] InpUseHullFilter = false // Use Hull MA Filter
  • [=== Hull MA Filter ===] InpHullPeriod = 20 // Hull Period
  • [=== Money Management ===] InpRiskPercent = 1.0 // Risk per trade (% of Balance)
  • [=== Money Management ===] InpFixedLot = 0.01 // Fixed Lot (if Risk=0)
  • [=== Money Management ===] InpMaxLotSize = 10.0 // Max Lot Size per trade
  • [=== Money Management ===] InpStopLossAtr = 1.5 // Stop Loss ATR Multiplier
  • [=== Money Management ===] InpTakeProfitAtr = 2.0 // Take Profit ATR Multiplier
  • [=== Trade Management ===] InpSlippage = 30 // Max Slippage (Points)
  • [=== Trade Management ===] InpMaxSpread = 200 // Max Spread (Points)
  • [=== Trade Management ===] InpMagicNumber = 22211002 // Magic Number
  • [=== Trade Management ===] InpTradeComment = "Psgrowth.com Expert_11002" // Trade Comment
  • [=== Pyramid / Scaling ===] InpUsePyramid = true // Enable Safe Pyramiding
  • [=== Pyramid / Scaling ===] InpMaxPyramidTrades = 3 // Max Open Positions
  • [=== Pyramid / Scaling ===] InpPyramidMinProfit = 100 // Min Secured Profit (Points) for Next Add
  • [=== Profit Lock & Trail ===] InpUseProfitLock = true // Enable Profit Lock / Trailing
  • [=== Profit Lock & Trail ===] InpLockTrigger = 300 // Trigger Distance (Points in Profit)
  • [=== Profit Lock & Trail ===] InpLockStep = 50 // Step to advance SL (Points)
  • [=== Profit Lock & Trail ===] InpLockDistance = 100 // Distance to keep SL from Price (Points)
  • [=== Time Management ===] InpUseTimeFilter = true // Enable Time Filter
  • [=== Time Management ===] InpStartTime = "08:00" // Start Trading Time (Server)
  • [=== Time Management ===] InpEndTime = "20:00" // End Trading Time (Server)
  • [=== Time Management ===] InpCloseAtEnd = false // Close all at end time
  • [=== Hardening: Risk Management ===] InpMaxConsecLosses = 3 // Max consecutive losses before cooldown (0=disabled)
  • [=== Hardening: Risk Management ===] InpCooldownMinutes = 30 // Cooldown minutes after consec losses (0=disabled)
  • [=== Hardening: Risk Management ===] InpMaxTradesPerDay = 50 // Maximum trades per day
  • [=== Hardening: Risk Management ===] InpMinEquityPercent = 95.0 // Stop trading if equity falls below this % of initial balance
  • [=== Hardening: Risk Management ===] InpDailyLossLimitPct = 3.0 // Daily loss limit (% of effective capital)
  • [=== Hardening: Risk Management ===] InpWeeklyLossLimitPct = 6.0 // Weekly loss limit (% of effective capital)
  • [=== Hardening: Capital Allocation Cap ===] InpCapitalCapAmount = 0.0 // Cap amount ($ real money equity)
  • [=== Hardening: Capital Allocation Cap ===] InpCapitalCapFloor = 50.0 // Floor ($); block entries below this
  • [=== Hardening: GMT Sessions ===] InpServerGMTOffset = 0 // Server GMT offset in hours (0=auto-detect via weekend gap)
  • [=== Hardening: GMT Sessions ===] InpLondonStartHour = 7 // London session start (GMT)
  • [=== Hardening: GMT Sessions ===] InpLondonEndHour = 16 // London session end (GMT)
  • [=== Hardening: GMT Sessions ===] InpNYStartHour = 12 // New York session start (GMT)
  • [=== Hardening: GMT Sessions ===] InpNYEndHour = 21 // New York session end (GMT)
  • [=== Hardening: GMT Sessions ===] InpAvoidAsia = true // Avoid Asian session
  • [=== Hardening: GMT Sessions ===] InpAsiaStartHour = 0 // Asian session start (GMT)
  • [=== Hardening: GMT Sessions ===] InpAsiaEndHour = 7 // Asian session end (GMT)
  • [=== Hardening: GMT Sessions ===] InpNewsFilter = false // Avoid trading near news session opens
  • [=== Hardening: GMT Sessions ===] InpNewsFilterMinutes = 15 // Minutes to avoid around news
Pseudocode
// Pipsgrowth EX11002 MultiFilterScalper — Execution Flow (from source analysis)
// Family: MultiFilterScalper
// Multi-filter EA combining EMA trend, ATR volatility, Heiken Ashi, SuperTrend and Hull MA filters — requires majority agreement to trigger entries. ATR-based SL/TP, safe pyramiding, profit-lock trailing, time filter and risk-based lot sizing. 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:
M5

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
InpUseEmaFiltertrueUse EMA Filter
InpEmaPeriod50EMA Period
InpUseAtrFiltertrueUse ATR Filter
InpAtrPeriod14ATR Period
InpMinAtr0.5Min ATR (Points)
InpMaxAtr50.0Max ATR (Points, 0=no limit)
InpUseHaFiltertrueUse Heiken Ashi Filter
InpHaConsecutive2Consecutive HA Bars Required
InpUseStFiltertrueUse SuperTrend Filter
InpStAtrPeriod10SuperTrend ATR Period
InpStMultiplier3.0SuperTrend Multiplier
InpUseHullFilterfalseUse Hull MA Filter
InpHullPeriod20Hull Period
InpRiskPercent1.0Risk per trade (% of Balance)
InpFixedLot0.01Fixed Lot (if Risk=0)
InpMaxLotSize10.0Max Lot Size per trade
InpStopLossAtr1.5Stop Loss ATR Multiplier
InpTakeProfitAtr2.0Take Profit ATR Multiplier
InpSlippage30Max Slippage (Points)
InpMaxSpread200Max Spread (Points)
InpMagicNumber22211002Magic Number
InpTradeComment"Psgrowth.com Expert_11002"Trade Comment
InpUsePyramidtrueEnable Safe Pyramiding
InpMaxPyramidTrades3Max Open Positions
InpPyramidMinProfit100Min Secured Profit (Points) for Next Add
InpUseProfitLocktrueEnable Profit Lock / Trailing
InpLockTrigger300Trigger Distance (Points in Profit)
InpLockStep50Step to advance SL (Points)
InpLockDistance100Distance to keep SL from Price (Points)
InpUseTimeFiltertrueEnable Time Filter
InpStartTime"08:00"Start Trading Time (Server)
InpEndTime"20:00"End Trading Time (Server)
InpCloseAtEndfalseClose all at end time
InpMaxConsecLosses3Max consecutive losses before cooldown (0=disabled)
InpCooldownMinutes30Cooldown minutes after consec losses (0=disabled)
InpMaxTradesPerDay50Maximum trades per day
InpMinEquityPercent95.0Stop trading if equity falls below this % of initial balance
InpDailyLossLimitPct3.0Daily loss limit (% of effective capital)
InpWeeklyLossLimitPct6.0Weekly loss limit (% of effective capital)
InpCapitalCapAmount0.0Cap amount ($ real money equity)
InpCapitalCapFloor50.0Floor ($); block entries below this
InpServerGMTOffset0Server GMT offset in hours (0=auto-detect via weekend gap)
InpLondonStartHour7London session start (GMT)
InpLondonEndHour16London session end (GMT)
InpNYStartHour12New York session start (GMT)
InpNYEndHour21New York session end (GMT)
InpAvoidAsiatrueAvoid Asian session
InpAsiaStartHour0Asian session start (GMT)
InpAsiaEndHour7Asian session end (GMT)
InpNewsFilterfalseAvoid trading near news session opens
InpNewsFilterMinutes15Minutes to avoid around news
Source Code (.mq5)Open Source
Pipsgrowth_com_EX11002.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX11002 MultiFilter_XAUUSD_5M — multi-indicator confluence scalper with EMA/ATR/HA/SuperTrend/Hull filters, full 12-layer stack."

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

// --- Global Objects ---
CTrade         m_trade;
CSymbolInfo    m_symbol;
CPositionInfo  m_position;
CAccountInfo   m_account;

// --- Inputs ---

input group "=== EMA Trend Filter ==="
input bool     InpUseEmaFilter      = true;        // Use EMA Filter
input int      InpEmaPeriod         = 50;          // EMA Period

input group "=== ATR Volatility Filter ==="
input bool     InpUseAtrFilter      = true;        // Use ATR Filter
input int      InpAtrPeriod         = 14;          // ATR Period
input double   InpMinAtr            = 0.5;         // Min ATR (Points)
input double   InpMaxAtr            = 50.0;        // Max ATR (Points, 0=no limit)

input group "=== Heiken Ashi Filter ==="
input bool     InpUseHaFilter       = true;        // Use Heiken Ashi Filter
input int      InpHaConsecutive     = 2;           // Consecutive HA Bars Required

input group "=== SuperTrend Filter ==="
input bool     InpUseStFilter       = true;        // Use SuperTrend Filter
input int      InpStAtrPeriod       = 10;          // SuperTrend ATR Period
input double   InpStMultiplier      = 3.0;         // SuperTrend Multiplier

input group "=== Hull MA Filter ==="
input bool     InpUseHullFilter     = false;       // Use Hull MA Filter
input int      InpHullPeriod        = 20;          // Hull Period

input group "=== Money Management ==="
input double   InpRiskPercent       = 1.0;         // Risk per trade (% of Balance)
input double   InpFixedLot          = 0.01;        // Fixed Lot (if Risk=0)
input double   InpMaxLotSize        = 10.0;        // Max Lot Size per trade
input double   InpStopLossAtr       = 1.5;         // Stop Loss ATR Multiplier
input double   InpTakeProfitAtr     = 2.0;         // Take Profit ATR Multiplier

input group "=== Trade Management ==="
input int      InpSlippage          = 30;          // Max Slippage (Points)
input int      InpMaxSpread         = 200;         // Max Spread (Points)
input ulong    InpMagicNumber       = 22211002;    // Magic Number
input string   InpTradeComment      = "Psgrowth.com Expert_11002"; // Trade Comment

input group "=== Pyramid / Scaling ==="
input bool     InpUsePyramid        = true;        // Enable Safe Pyramiding
input int      InpMaxPyramidTrades  = 3;           // Max Open Positions
input int      InpPyramidMinProfit  = 100;         // Min Secured Profit (Points) for Next Add

Full source code available on download

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

Tags:ex11002multifilterscalperpipsgrowthfreemt5xauusd

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_EX11002.mq5
File Size28.2 KB
Versionv2.00
PlatformMetaTrader 5
File Type.mq5 Source
StrategyScalping
Risk LevelHigh Risk
Timeframes
M5
Currency Pairs
XAUUSD
Min. Deposit$100