P
PipsGrowth
Trend FollowingOpen Source – Free

Pipsgrowth EX18080 TrendFollow

MT5 Expert Advisor (Open Source) · XAGUSD, XAUUSD, EURUSD, USDJPY, GBPUSD · M5, H1

Pipsgrowth.com EX18080 MTF_TrueHull_EA — Multi-TF Hull MA trend-lock with dual entry modes, full 12-layer stack.

Overview

The MTF True Hull EA inside Pipsgrowth EX18080 TrendFollow locks entries to a three-timeframe trend agreement using inline Hull moving averages computed on M1, M5, and M15. The Hull values are derived in UpdateHullState() by subtracting a full-period WMA from double a half-period WMA, then running a final weighted average of length sqrt(n) over the difference — a textbook Hull reconstruction that needs no iCustom call. The M1 Hull uses period 14, the M5 uses period 21, the M15 uses 34, a slow stack of periods that mirrors a Fibonacci-like sequence traders frequently tune trend-following systems around.

A new bar on the execution timeframe (M1) triggers OnTick to call UpdateHullState for each timeframe, then GetSignal() to choose between the two entry modes set by InpStrategyMode. In the default Color-Change mode the EA requires all three Hulls to be aligned in the same direction AND the M1 Hull to have just flipped direction on the most recent bar — a one-bar transition that catches the leading edge of a multi-timeframe trend after confirmation has already built up. In Pullback mode the EA waits for the M5 and M15 Hulls to be aligned, then triggers on the M1 Hull flipping to match the higher-timeframe direction, but only if the current bid is within InpPullbackATRMult × ATR(14) of the M5 Hull line, which produces a re-entry at the trend midline rather than at a fresh extreme.

Heiken Ashi M1 confirmation runs through UpdateHeikenAshi() and CheckHAConfirmation() — the EA calculates the smoothed M1 candle inline ((o+c)/2 for HA open, (o+h+l+c)/4 for HA close) and only allows signals whose direction matches the HA direction. With InpUseHAConfirm=true (default), this adds a momentum-quality gate on top of the structural trend lock. The M15 trend must also have at least InpMinTrendBars=3 bars in its current direction, preventing entries during the first two bars of a freshly flipped slow Hull.

Seven market filters run inside CheckMarketFilters() and the panel shows a live check/cross status for each. The ADX filter (period 14, threshold 20) blocks entries when the average directional index drops below 20 — meaning range-bound conditions. The Hull Separation filter requires the M5 and M15 Hulls to be at least 0.3 ATR apart (InpHullSepATR), ensuring the trend lock is real and not a near-tie crossover. The optional ATR Volatility filter (off by default) requires the current ATR(14) to be at least 80% of its 50-bar average; the optional ADX Rising filter requires the ADX to be increasing bar-over-bar, an anti-exhaustion guard. The Max Trend Bars filter (off by default) caps late entries in mature M15 trends. The Max Price Distance filter rejects entries when the bid is more than 2 ATRs from the M5 Hull. The Candle Range filter inspects the average high-low range of the last 5 bars and blocks if the range exceeds 3 ATRs (news spike) or falls below 0.15 ATRs (chop).

The risk layer in CalculateLotSize() defaults to 1% of balance per trade with InpRiskPercent=1.0 in LOT_MODE_RISK, or a fixed 0.01 lots in LOT_MODE_FIXED. The maximum per-trade lot is InpMaxLotPerTrade=1.0 — a gap protection that prevents a single signal from oversizing on low-margin accounts. NormalizeLot floors the result to the symbol's SYMBOL_VOLUME_STEP and clamps to InpMaxLotSize=5.0.

Stop loss sits at a fixed InpStopLoss=500 points; take profit sits at InpTakeProfit=1500 points, a 1:3 reward-to-risk ratio with no ATR or distance scaling per trade. The static pip values stay constant across symbols and timeframes, so changing pair means recomputing the dollar value of those 500/1500 point stops relative to the new contract size and tick value.

Position management in ManageOpenPositions() runs on every tick and applies a strict monotonic ratchet in three stages. Stage 1 moves the stop to breakeven plus 30 points (InpBEOffset) once the position has 200 points of profit (InpBEStart). Stage 2 begins trailing at 300 points of profit with a 150-point trail distance (InpTrailDistance). Stage 3 — the Tighten stage — engages at 600 points of profit with an 80-point distance, pulling the stop tight behind the candle as the move matures. Each stage is one-way only; the EA never loosens a stop once ratcheted.

Two discretionary exits live alongside the SL/TP machinery. CheckOppositeAlignment() closes any open position when all three Hulls flip in the opposite direction, marking the chart with the MTF exit label. CheckSwingExit() watches the previous InpSwingBars=5 bars; if the bid breaks the 5-bar low while a buy is open (or the ask breaks the 5-bar high while a sell is open), the position closes with a SWING label, unless the ADX is above InpSwingIgnoreADX=30 (strong trend override).

Drawdown protection runs through CheckDrawdownLimits() and tracks two values: daily loss as a percentage of g_dailyStartBalance (set by CheckNewDay() at the first tick of each server day), and equity loss as a percentage of g_peakEquity (ratcheted up on every tick where equity exceeds the prior peak). The defaults are 3% daily / 10% equity-from-peak; a breach sets g_ddLimitHit=true, fires an Alert, and — if InpCloseOnDDLimit=true — calls CloseAllPositions().

The chart gets three colored Hull lines drawn by DrawHullLine() (M1 dodger blue, M5 orange, M15 magenta), the standard Heiken Ashi indicator attached via ChartIndicatorAdd(), and trade-event arrows + circles + text labels via DrawEntryArrow, DrawExitCircle, and DrawExitText. The info panel (CreateInfoPanel) is a 200×110 dark slate rectangle in the top-left corner with an MTF Hull Trend-Lock title and four live lines: Trend, MTF status, position counts, and DD status.

Order routing uses SetProperFillingMode() to pick FOK > IOC > RETURN based on the broker's SYMBOL_FILLING_MODE flags, with 30 points of slippage (InpSlippage) and 3 retry attempts (InpMaxRetries) on requotes, price-changed, price-off, and timeout retcodes. A spread filter caps entries at 300 points (InpMaxSpread, set to 0 to disable).

Backtest expectations: at the default 1% risk and 1:3 R:R with three-stage ratchet management, this EA produces wider swings in equity than the lower-period Hull peers in the same family because the 34-period M15 Hull resists whipsaw but enters later. Expect higher win rates on M5 and H1, longer flat patches in between, and a noticeably better outcome when the ADX filter is left enabled at the default threshold of 20.

Strategy Deep Dive

Each new M1 bar, OnTick calls UpdateHullState() three times to refresh inline Hull values for M1 (14), M5 (21), and M15 (34), each computed as 2*WMA(n/2) − WMA(n) then smoothed by WMA(sqrt(n)). GetSignal() then routes to GetSignalColorChange() (default — all 3 TFs aligned AND M1 just flipped) or GetSignalPullback() (M5+M15 aligned, M1 turns to match, bid within 1× ATR(14) of M5 Hull). CheckHAConfirmation() enforces a Heiken Ashi M1 direction match. CheckMarketFilters() runs 7 gates: ADX ≥ 20, M5M15 Hull separation ≥ 0.3 ATR, optional ATR volatility ≥ 0.8× 50-bar average, optional ADX-rising, optional max M15 trend bars, max 2 ATR from M5 Hull, and candle-range filter (0.153.0 ATR over 5 bars). Tick-based ManageOpenPositions() applies the 3-stage monotonic SL ratchet (BE at +200+30, trail at +300@150, tighten at +600@80). CheckOppositeAlignment() closes on full Hull flip; CheckSwingExit() closes on 5-bar swing break unless ADX > 30. CheckDrawdownLimits() trips at 3% daily or 10% equity-from-peak and closes everything via g_ddLimitHit. Order routing uses FOK > IOC > RETURN filling, 30-point slippage, 3 retry attempts, and a 300-point spread cap.

Entry Signal

Triple-timeframe Hull MA trend lock with inline Hull (M1 period 14, M5 period 21, M15 period 34) computed as 2*WMA(n/2) − WMA(n) smoothed by WMA(sqrt(n)). In the default Color-Change mode the EA fires a long when all three Hulls align bullish AND the M1 Hull flips bullish on the most recent bar; the mirror produces a short. In Pullback mode the M5+M15 Hulls must align, the M1 Hull must flip to match, and the bid must be within 1× ATR(14) of the M5 Hull. Heiken Ashi M1 confirmation (InpUseHAConfirm=true) and a minimum of 3 M15 trend bars (InpMinTrendBars=3) are required.

Exit Signal

Stop loss and take profit hit at 500/1500 fixed points; full opposite-alignment close triggered by CheckOppositeAlignment() when all three Hulls flip to the opposite direction; 5-bar swing low/high break exit from CheckSwingExit() (skipped if ADX > 30 via InpSwingIgnoreADX); optional Friday close at 20:00 server when InpUseTimeFilter is on; drawdown-limit forced close when CheckDrawdownLimits() trips the 3% daily or 10% equity-from-peak breach.

Stop Loss

Static 500-point stop loss set at entry (InpStopLoss=500), then ratcheted monotonically: at +200 points of profit (InpBEStart) the stop moves to entry+30 points (InpBEOffset); at +300 points (InpTrailStart) it trails at 150 points (InpTrailDistance); at +600 points (InpTightenStart) it tightens to 80 points (InpTightenDist). The ratchet never loosens.

Take Profit

Static 1500-point take profit set at entry (InpTakeProfit=1500) — a 1:3 reward-to-risk ratio against the 500-point stop. Setting InpTakeProfit=0 disables the take profit entirely.

Best For

Best for $100+ micro accounts on XAUUSD, XAGUSD, EURUSD, USDJPY, and GBPUSD at M5 and H1. The 1% default risk and 1:3 R:R profile suit swing traders running H1 cycles who want a slow M15 Hull (34) to filter M1 noise, and M5 trend followers who prefer fewer but higher-conviction entries. Requires a low-spread broker — the 300-point spread cap is generous, but consistent execution below 200 points is recommended for the 500/1500 static stops. Heiken Ashi rendering and the optional indicator pane work best on FOK or IOC filling-mode brokers.

Strategy Logic

Pipsgrowth EX18080 TrendFollow — Strategy Logic Analysis (from .mq5 source)

Family: TrendFollow Magic: 22218080 Version: 2.00

BRIEF: Multi-Timeframe True Hull MA Trend-Lock EA using M1, M5, M15 Hull Moving Averages for trend confluence. Entry only when ALL timeframes align. Two entry modes: Hull Color Change or Pullback. 3-stage profit protection: Breakeven, Trailing, and Tighten. Includes ADX filter, spread filter, and DD protection. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

INDICATOR STACK:

  • aHandle

KEY FUNCTIONS:

  • InitHullState()
  • SetProperFillingMode()
  • OnTradeTransaction()
  • UpdateHullState()
  • DrawHullLine()
  • UpdateMTFStatus()
  • IsMTFAligned()
  • UpdateHeikenAshi()
  • CheckHAConfirmation()
  • GetSignal()
  • GetSignalColorChange()
  • GetSignalPullback()
  • ...and 22 more

INTERNAL CONSTANTS (0 total):

INPUT PARAMETERS (62 total across 9 groups):

  • [=== Trade Execution ===] InpMagicNumber = 22218080 // Magic Number
  • [=== Trade Execution ===] InpSlippage = 30 // Max Slippage (points)
  • [=== Trade Execution ===] InpMaxSpread = 300 // Max Spread (points, 0=disable)
  • [=== Trade Execution ===] InpMaxRetries = 3 // Order Retry Attempts
  • [=== Trade Execution ===] InpTradeComment = "Psgrowth.com Expert_18080" // Trade Comment
  • [=== Money Management ===] InpLotMode = LOT_MODE_RISK // Lot Sizing Mode
  • [=== Money Management ===] InpFixedLotSize = 0.01 // Fixed Lot Size
  • [=== Money Management ===] InpRiskPercent = 1.0 // Risk Percent (%)
  • [=== Money Management ===] InpMaxLotSize = 5.0 // Maximum Lot Size
  • [=== Money Management ===] InpMaxLotPerTrade = 1.0 // Gap Protection: Max Lot Per Trade
  • [=== SL/TP Settings ===] InpStopLoss = 500 // Stop Loss (points)
  • [=== SL/TP Settings ===] InpTakeProfit = 1500 // Take Profit (points, 0=disable)
  • [=== Strategy: MTF Hull ===] InpHullPeriodM1 = 14 // Hull M1 Period (fast)
  • [=== Strategy: MTF Hull ===] InpHullPeriodM5 = 21 // Hull M5 Period (medium)
  • [=== Strategy: MTF Hull ===] InpHullPeriodM15 = 34 // Hull M15 Period (slow)
  • [=== Strategy: MTF Hull ===] InpStrategyMode = STRATEGY_COLOR_CHANGE // Entry Strategy Mode
  • [=== Strategy: MTF Hull ===] InpMinTrendBars = 3 // Min Trend Bars on M15 (filter)
  • [=== Strategy: MTF Hull ===] InpPullbackATRMult = 1 // Pullback: Max Distance (ATR mult)
  • [=== Strategy: MTF Hull ===] InpUseHAConfirm = true // Use Heiken Ashi M1 Confirmation
  • [=== Market Filters ===] InpUseADXFilter = true // Enable ADX Trend Filter
  • [=== Market Filters ===] InpADXPeriod = 14 // ADX Period
  • [=== Market Filters ===] InpADXThreshold = 20 // ADX Min Threshold (15-30)
  • [=== Market Filters ===] InpUseHullSepFilter = true // Enable Hull Separation Filter
  • [=== Market Filters ===] InpHullSepATR = 0.3 // Hull Separation (ATR mult)
  • [=== Market Filters ===] InpUseATRFilter = false // Enable ATR Volatility Filter
  • [=== Market Filters ===] InpMinATRMult = 0.8 // Min ATR vs 50-bar Average
  • [=== Market Filters ===] InpUseADXRising = false // Require ADX Rising (anti-exhaustion)
  • [=== Market Filters ===] InpMaxTrendBarsEntry = 0 // Max M15 Trend Bars for Entry (0=off)
  • [=== Market Filters ===] InpMaxPriceDistATR = 2.0 // Max Price Distance from Hull (ATR, 0=off)
  • [=== Market Filters ===] InpUseRangeFilter = true // Enable Candle Range Filter
  • [=== Market Filters ===] InpRangeBars = 5 // Range Filter: Bars to Check
  • [=== Market Filters ===] InpRangeMaxATR = 3.0 // Max Avg Candle Range (ATR mult, news filter)
  • [=== Market Filters ===] InpRangeMinATR = 0.15 // Min Avg Candle Range (ATR mult, chop filter)
  • [=== Time Filter ===] InpUseTimeFilter = false // Enable Time Filter
  • [=== Time Filter ===] InpStartHour = 8 // Start Hour (Server Time)
  • [=== Time Filter ===] InpEndHour = 20 // End Hour (Server Time)
  • [=== Time Filter ===] InpTradeFriday = true // Trade on Friday
  • [=== Time Filter ===] InpFridayCloseHour = 20 // Friday: Close All After Hour
  • [=== Trade Management ===] InpUseBreakeven = true // Enable Breakeven
  • [=== Trade Management ===] InpBEStart = 200 // BE Start (points profit)
  • [=== Trade Management ===] InpBEOffset = 30 // BE Offset (points above entry)
  • [=== Trade Management ===] InpUseTrailing = true // Enable Trailing Stop
  • [=== Trade Management ===] InpTrailStart = 300 // Trail Start (points profit)
  • [=== Trade Management ===] InpTrailDistance = 150 // Trail Distance (points)
  • [=== Trade Management ===] InpUseTighten = true // Enable Tighten SL
  • [=== Trade Management ===] InpTightenStart = 600 // Tighten Start (points profit)
  • [=== Trade Management ===] InpTightenDist = 80 // Tighten Distance (points)
  • [=== Trade Management ===] InpCloseOnOpposite = true // Close on Full Opposite Alignment
  • [=== Trade Management ===] InpUseSwingExit = true // Enable Swing Low/High Exit
  • [=== Trade Management ===] InpSwingBars = 5 // Swing Exit: N Bars to Check
  • [=== Trade Management ===] InpSwingIgnoreADX = 30 // Swing Exit: Ignore if ADX > (0=never ignore)
  • [=== Drawdown Protection ===] InpUseDDProtection = true // Enable Drawdown Protection
  • [=== Drawdown Protection ===] InpMaxDailyLoss = 3.0 // Max Daily Loss % (0=disabled)
  • [=== Drawdown Protection ===] InpMaxEquityLoss = 10.0 // Max Equity Loss % from Peak (0=disabled)
  • [=== Drawdown Protection ===] InpCloseOnDDLimit = true // Close All When DD Limit Hit
  • [=== Display ===] InpShowPanel = true // Show Info Panel
  • [=== Display ===] InpPanelX = 10 // Panel X Position
  • [=== Display ===] InpPanelY = 30 // Panel Y Position
  • [=== Display ===] InpDrawHullLines = true // Draw Hull MA Lines on Chart
  • [=== Display ===] InpDrawHACandles = true // Draw Heiken Ashi Candles on Chart
  • [=== Display ===] InpHABarsToShow = 100 // Heiken Ashi Bars to Display
  • [=== Display ===] InpDrawSignalLines = true // Draw Vertical Lines on Trade Events
Pseudocode
// Pipsgrowth EX18080 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Multi-Timeframe True Hull MA Trend-Lock EA using M1, M5, M15 Hull Moving Averages for trend confluence. Entry only when ALL timeframes align. Two entry modes: Hull Color Change or Pullback. 3-stage profit protection: Breakeven, Trailing, and Tighten. Includes ADX filter, spread filter, and DD protection. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

ON_INIT:
    Create indicator handles: aHandle
    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:
XAGUSDXAUUSDEURUSDUSDJPYGBPUSD
Optimized Timeframes:
M5H1

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 onto an H4 or Daily chart for best results
  7. 7Configure EMA periods, ADX threshold, and lot size in the dialog
  8. 8Enable Allow Algo Trading and click OK

EA Parameters

ParameterDefaultDescription
InpMagicNumber22218080Magic Number
InpSlippage30Max Slippage (points)
InpMaxSpread300Max Spread (points, 0=disable)
InpMaxRetries3Order Retry Attempts
InpTradeComment"Psgrowth.com Expert_18080"Trade Comment
InpLotModeLOT_MODE_RISKLot Sizing Mode
InpFixedLotSize0.01Fixed Lot Size
InpRiskPercent1.0Risk Percent (%)
InpMaxLotSize5.0Maximum Lot Size
InpMaxLotPerTrade1.0Gap Protection: Max Lot Per Trade
InpStopLoss500Stop Loss (points)
InpTakeProfit1500Take Profit (points, 0=disable)
InpHullPeriodM114Hull M1 Period (fast)
InpHullPeriodM521Hull M5 Period (medium)
InpHullPeriodM1534Hull M15 Period (slow)
InpStrategyModeSTRATEGY_COLOR_CHANGEEntry Strategy Mode
InpMinTrendBars3Min Trend Bars on M15 (filter)
InpPullbackATRMult1Pullback: Max Distance (ATR mult)
InpUseHAConfirmtrueUse Heiken Ashi M1 Confirmation
InpUseADXFiltertrueEnable ADX Trend Filter
InpADXPeriod14ADX Period
InpADXThreshold20ADX Min Threshold (15-30)
InpUseHullSepFiltertrueEnable Hull Separation Filter
InpHullSepATR0.3Hull Separation (ATR mult)
InpUseATRFilterfalseEnable ATR Volatility Filter
InpMinATRMult0.8Min ATR vs 50-bar Average
InpUseADXRisingfalseRequire ADX Rising (anti-exhaustion)
InpMaxTrendBarsEntry0Max M15 Trend Bars for Entry (0=off)
InpMaxPriceDistATR2.0Max Price Distance from Hull (ATR, 0=off)
InpUseRangeFiltertrueEnable Candle Range Filter
InpRangeBars5Range Filter: Bars to Check
InpRangeMaxATR3.0Max Avg Candle Range (ATR mult, news filter)
InpRangeMinATR0.15Min Avg Candle Range (ATR mult, chop filter)
InpUseTimeFilterfalseEnable Time Filter
InpStartHour8Start Hour (Server Time)
InpEndHour20End Hour (Server Time)
InpTradeFridaytrueTrade on Friday
InpFridayCloseHour20Friday: Close All After Hour
InpUseBreakeventrueEnable Breakeven
InpBEStart200BE Start (points profit)
InpBEOffset30BE Offset (points above entry)
InpUseTrailingtrueEnable Trailing Stop
InpTrailStart300Trail Start (points profit)
InpTrailDistance150Trail Distance (points)
InpUseTightentrueEnable Tighten SL
InpTightenStart600Tighten Start (points profit)
InpTightenDist80Tighten Distance (points)
InpCloseOnOppositetrueClose on Full Opposite Alignment
InpUseSwingExittrueEnable Swing Low/High Exit
InpSwingBars5Swing Exit: N Bars to Check
InpSwingIgnoreADX30Swing Exit: Ignore if ADX > (0=never ignore)
InpUseDDProtectiontrueEnable Drawdown Protection
InpMaxDailyLoss3.0Max Daily Loss % (0=disabled)
InpMaxEquityLoss10.0Max Equity Loss % from Peak (0=disabled)
InpCloseOnDDLimittrueClose All When DD Limit Hit
InpShowPaneltrueShow Info Panel
InpPanelX10Panel X Position
InpPanelY30Panel Y Position
InpDrawHullLinestrueDraw Hull MA Lines on Chart
InpDrawHACandlestrueDraw Heiken Ashi Candles on Chart
InpHABarsToShow100Heiken Ashi Bars to Display
InpDrawSignalLinestrueDraw Vertical Lines on Trade Events
Source Code (.mq5)Open Source
Pipsgrowth_com_EX18080.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18080 MTF_TrueHull_EA — Multi-TF Hull MA trend-lock with dual entry modes, full 12-layer stack."
#include <Trade\Trade.mqh>

//+------------------------------------------------------------------+
//| ENUMS                                                            |
//+------------------------------------------------------------------+
enum ENUM_LOT_MODE
{
   LOT_MODE_FIXED = 0,  // Fixed Lot Size
   LOT_MODE_RISK  = 1   // Risk % of Balance
};

enum ENUM_STRATEGY_MODE
{
   STRATEGY_COLOR_CHANGE = 0,  // A: All TFs Aligned + M1 Hull Flip
   STRATEGY_PULLBACK     = 1   // B: Pullback Entry when Higher TFs Aligned
};

//+------------------------------------------------------------------+
//| INPUT GROUP: Trade Execution                                     |
//+------------------------------------------------------------------+
input group "=== Trade Execution ==="
input int            InpMagicNumber     = 22218080;        // Magic Number
input int            InpSlippage        = 30;            // Max Slippage (points)
input int            InpMaxSpread       = 300;           // Max Spread (points, 0=disable)
input int            InpMaxRetries      = 3;             // Order Retry Attempts
input string         InpTradeComment    = "Psgrowth.com Expert_18080";     // Trade Comment

//+------------------------------------------------------------------+
//| INPUT GROUP: Money Management                                    |
//+------------------------------------------------------------------+
input group "=== Money Management ==="
input ENUM_LOT_MODE  InpLotMode         = LOT_MODE_RISK; // Lot Sizing Mode
input double         InpFixedLotSize    = 0.01;          // Fixed Lot Size
input double         InpRiskPercent     = 1.0;           // Risk Percent (%)
input double         InpMaxLotSize      = 5.0;           // Maximum Lot Size
input double         InpMaxLotPerTrade  = 1.0;           // Gap Protection: Max Lot Per Trade

//+------------------------------------------------------------------+
//| INPUT GROUP: Stop Loss & Take Profit                             |
//+------------------------------------------------------------------+
input group "=== SL/TP Settings ==="
input int            InpStopLoss        = 500;           // Stop Loss (points)
input int            InpTakeProfit      = 1500;          // Take Profit (points, 0=disable)

//+------------------------------------------------------------------+
//| INPUT GROUP: MTF Hull Strategy                                   |
//+------------------------------------------------------------------+
input group "=== Strategy: MTF Hull ==="
input int            InpHullPeriodM1    = 14;            // Hull M1 Period (fast)
input int            InpHullPeriodM5    = 21;            // Hull M5 Period (medium)
input int            InpHullPeriodM15   = 34;            // Hull M15 Period (slow)
input ENUM_STRATEGY_MODE InpStrategyMode = STRATEGY_COLOR_CHANGE; // Entry Strategy Mode
input int            InpMinTrendBars    = 3;             // Min Trend Bars on M15 (filter)
input int            InpPullbackATRMult = 1;             // Pullback: Max Distance (ATR mult)
input bool           InpUseHAConfirm    = true;          // Use Heiken Ashi M1 Confirmation

Full source code available on download

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

Tags:ex18080trendfollowpipsgrowthfreemt5xagusdxauusdeurusdusdjpygbpusd

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_EX18080.mq5
File Size65.3 KB
Versionv2.00
PlatformMetaTrader 5
File Type.mq5 Source
StrategyTrend Following
Risk LevelMedium Risk
Timeframes
M5H1
Currency Pairs
XAGUSDXAUUSDEURUSDUSDJPYGBPUSD
Min. Deposit$100