P
PipsGrowth
Trend FollowingOpen Source – Free

Pipsgrowth EX18081 TrendFollow

MT5 Expert Advisor (Open Source) · USDJPY, EURUSD, XAUUSD, XAGUSD · M1

Pipsgrowth.com EX18081 Hull_USDJPY_EA — M1 Hull MA color-change scalper with anti-chop filters, full 12-layer stack.

Overview

EX18081 is the M1 scalper of the EX18 TrendFollow family. Where its siblings like EX18075 build five-minute trend stacks and EX18079 layers Hull triplets with Gaussian bands, EX18081 is a pure M1 color-flip machine: a single Hull moving average on the chart timeframe, computed inline, painted lime when its current value sits above the previous bar's value and red when it sits below. The trade idea is brutally simple — when the Hull flips color, ride the flip until the next flip or the stop. Everything else in the file is plumbing that decides whether to let the flip through.

The Hull itself is built without any indicator handle. The UpdateHullMA() function pulls period + sqrt(period) + 5 close prices from the broker, computes a linearly weighted moving average of the first half = floor(period/2) bars and another LWMA over the full period bars, and stores 2 * WMA(half) - WMA(full) for each of the last three bars in g_hullValue[0..2]. The comment in source flags this as the simplified form: the textbook Hull would then take a third WMA of the raw values over sqrt(period) bars, but EX18081 skips that smoothing step on purpose because the slimmer line reacts faster on a one-minute chart. The price source is user-selectable through InpHullPrice (1=close, 2=open, 3=high, 4=low, 5=median, 6=typical, 7=weighted), so the same engine can be tuned from a momentum-style weighted reading down to a pure close-to-close reaction.

Direction is just g_hullValue[0] > g_hullValue[1] for bullish and the inverse for bearish, and the signal fires only on a flip — GetSignal() returns 1 when g_prevDirection != 1 && g_hullDirection == 1, returns -1 on the mirror flip, and returns 0 on every other tick. That single binary output then has to clear five independent gates in CheckMarketFilters() before OpenPosition() is allowed to run.

The first gate is ADX. With InpUseADXFilter=true (the default) and InpADXPeriod=14, the EA copies two bars of the ADX main buffer and requires the current reading to be at or above InpADXThreshold=20. A separate InpUseADXRising input, off by default, additionally requires g_lastADX > prevADX to block entries at exhaustion points where the trend is already rolling over. The second gate is the ATR volatility filter, disabled by default — when turned on, it requires the current ATR(14) to be at least InpMinATRMult=0.8 times the 50-bar ATR average, so a market that has gone to sleep relative to its own recent history gets frozen out. The third gate is the range filter, which is on by default: it averages the high-low range of the last InpRangeBars=5 closed candles and compares that average to the current ATR. A range-ATR ratio above InpRangeMaxATR=3.0 trips the ✗NEWS branch (candle bodies are too fat, probably an event release) and a ratio below InpRangeMinATR=0.15 trips the ✗CHOP branch (price is dead, every flip is noise). The fourth gate is a price-distance from Hull filter, off by default at InpMaxPriceDistATR=0; when raised, it caps how far the bid can stray from g_hullValue[0] in ATR multiples — a way to refuse entries where the candle has already sprinted away from the line. The fifth and last gate is a hard spread check: (int)SymbolInfoInteger(_Symbol, SYMBOL_SPREAD) > InpMaxSpread immediately returns false and refuses the signal without a Print, so any tick where the broker widens past 20 points (2.0 pips on a five-digit feed) is a no-trade regardless of what the Hull is doing.

Once a signal clears all five gates, OpenPosition() sizes the trade from CalculateLot(). With InpUseAutoLot=true (the default) the lot comes from balance * 0.5% / (InpStopLoss * SYMBOL_TRADE_TICK_VALUE), floored to the symbol's lot step, and capped between the broker's min/max lot and InpMaxLotSize=5.0. The 0.5% default is the conservative end of the family; turning InpUseAutoLot off falls back to a fixed InpInitialLot=0.01. The order goes out with trade.PositionOpen(), the magic 22218081, the comment Psgrowth.com Expert_18081, and the broker's filling mode auto-detected from SYMBOL_FILLING_MODE (FOK preferred, then IOC, then RETURN).

Management runs every tick on every open position, before the new-bar logic. ManagePositions() handles two upgrade paths. The first is breakeven: once profit in points crosses InpBEStart=100, the stop is moved to openPrice + InpBEOffset * point (10 points above entry by default) — a small locked-in offset that covers spread and commission on the way out. The second is the trailing ratchet, which only activates once profit clears InpTrailStart=150 and then walks the stop to bid - InpTrailDistance * point for buys and the mirror for sells; it only ever tightens, never loosens, and it never fires before the breakeven threshold is met. Both moves go through TryModify_EX18081(), a three-attempt wrapper that retries on TRADE_RETCODE_REQUOTE, _TIMEOUT, _PRICE_OFF, and _PRICE_CHANGED with 100ms sleeps.

Two more exit paths sit on top of the bracket. CheckOppositeSignal(), gated by InpCloseOnOpposite=true, watches g_hullDirection and force-closes any open position the moment the Hull flips to the opposite color — the rationale is that the entry was a color-flip, so the original thesis is dead the moment the color flips back. CheckSwingExit() looks at the last InpSwingBars=5 closed candles and force-closes a long if the current bid prints below the lowest low in that window (or a short if the ask prints above the highest high), unless the ADX is still in a strong-trend regime above InpSwingIgnoreADX=30. The single-position cap is enforced inside the OnTick logic: buyCount == 0 for buys and sellCount == 0 for sells, so the EA never pyramids and never holds both sides. If an opposite-direction signal arrives while a position is open, the existing one is force-closed with g_closeReason = "NEW" before the new one is sent, so the position book always reads at most one ticket per symbol.

Safety is layered on top of all of that. CheckDrawdownLimits() ratchets g_equityPeak up on every tick and blocks the rest of the EA when either the daily loss from g_dailyStartBalance hits InpMaxDailyLoss=5.0% or the drawdown from peak hits InpMaxEquityLoss=10.0%. CheckTimeFilter() is off by default (InpUseTimeFilter=false) but, when enabled, blocks weekends, blocks Friday trading if InpTradeFriday=false, force-closes everything at InpFridayCloseHour=20 on Friday, and rejects ticks outside the InpStartHour=8 to InpEndHour=20 server window. UpdateDailyStats() resets g_dailyStartBalance at the first tick of each new server day so the daily loss measurement matches the broker's day boundary. The visuals are: a colored Hull line drawn as 100 OBJ_TREND segments (lime when rising, red when falling, yellow on ties), and a single-line info panel in the top-left showing the trend label, the live Hull value, the live ADX, the position counts, and the filter pass/fail string with ✓/✗ glyphs. Both are skipped during optimization and tester runs to keep the backtest fast. There is no OnTester formula in source — the EA relies on MT5's standard pass/fail statistics for genetic optimization.

For a backtest, the practical expectation is tens of trades per session day on a quiet M1 USDJPY feed and three or four times that on XAUUSD, with the bulk filtered out by the range and ADX gates. The 1:2 risk-reward (20-point stop, 40-point target) means a 45–50% win rate on a fixed-target basis is roughly the breakeven point before spread, and the swing exit can convert what would have been a stop-loss into a smaller scratch if the candles whipsaw back through. The EA does not call OnTester and does not carry a custom fitness function, so genetic optimization should be run with the standard custom-max criterion and a wide pass range over the Hull period (15 to 30) and ADX threshold (15 to 30).

Strategy Deep Dive

OnInit creates up to two indicator handles: an iATR(_Symbol, PERIOD_CURRENT, 14) handle that always runs, and an iADX(_Symbol, PERIOD_CURRENT, InpADXPeriod=14) handle created only if InpUseADXFilter or InpUseADXRising is enabled. There is no Hull indicator handle — UpdateHullMA() rebuilds the line on every tick by copying close prices, computing a linear-weighted WMA over the first floor(InpHullPeriod/2)=10 bars and another over the full 21 bars, and storing 2*WMA(10)−WMA(21) for the last three bars. Direction flips when g_hullValue[0] crosses g_hullValue[1], and GetSignal() returns 1 or -1 only on that flip. OnTick runs UpdateDailyStats → CheckDrawdownLimits → CheckTimeFilter → UpdateHullMA → ManagePositions (BE+trail) → CheckSwingExit → CheckOppositeSignal → CheckMarketFilters → GetSignal → CountPositions → OpenPosition. A flip has to clear the ADX threshold, the 5-bar range-ATR ratio (✗NEWS above 3.0x, ✗CHOP below 0.15x), the optional ATR-volatility and price-distance gates, and the hard spread cap of InpMaxSpread=20 points, and only then does the order go out. Two 3-attempt wrappers (TryClose_EX18081, TryModify_EX18081) retry on requote/timeout/price-off/price-changed with 200ms and 100ms sleeps. The 1-position cap is enforced by gating the buy or sell path on buyCount==0 / sellCount==0.

Entry Signal

EX18081 enters on a single Hull MA color flip on the M1 chart, computed inline as 2*WMA(floor(period/2)) − WMA(period) over InpHullPeriod=21 candles with the user-selected InpHullPrice (close by default). GetSignal() returns 1 only when the previous-bar direction was not bullish and the current-bar direction is bullish; the sell mirror fires when the previous direction was not bearish and the current direction is bearish. The flip is then gated by CheckMarketFilters(): ADX(14) ≥ InpADXThreshold=20 (default enabled), 5-bar average candle range vs ATR between InpRangeMinATR=0.15 and InpRangeMaxATR=3.0 (the ✗CHOP and ✗NEWS bounds), current spread ≤ InpMaxSpread=20 points, and the optional ATR-volatility and price-distance-from-Hull filters. Only one position is held per symbol at a time, and an opposite-direction signal force-closes the existing ticket before opening the new one.

Exit Signal

Three exit paths run alongside the bracket. The fixed InpStopLoss=20 / InpTakeProfit=40 points (a 1:2 R:R) close the trade at the broker, and InpUseTrailing=true starts a one-way ratchet at InpTrailStart=150 points profit with a InpTrailDistance=50 point trail. CheckOppositeSignal() force-closes the open position the moment the Hull flips back to the opposite color, and CheckSwingExit() force-closes a long if the bid prints below the lowest low of the last InpSwingBars=5 closed candles (mirror for shorts), unless ADX is above InpSwingIgnoreADX=30. Breakeven at InpBEStart=100 points profit moves the stop to entry+InpBEOffset points. The drawdown circuit-breaker close fires when daily loss hits InpMaxDailyLoss=5% or peak-to-trace equity loss hits InpMaxEquityLoss=10%.

Stop Loss

Every order is opened with a hard InpStopLoss=20 points attached on the broker side, computed as price ± InpStopLoss * _Point. ManagePositions() ratchets this stop to entry+10 points once profit clears InpBEStart=100, and then to bid-50 points (or ask+50 for shorts) once profit clears InpTrailStart=150 — the ratchet only tightens, never loosens. There is no global account-level stop beyond the daily-loss and equity-peak drawdown tripwires in CheckDrawdownLimits() (5% and 10% respectively).

Take Profit

InpTakeProfit=40 points is sent with the order, sized as price ± 40 * _Point from the entry, for a fixed 1:2 risk-reward against the 20-point stop. The TP is a single static target at the broker — there is no partial close, no scaling out, and no basket TP. The trailing ratchet and opposite-signal exit are the only mechanisms that can close a position before the TP fills.

Best For

USDJPY or XAUUSD on M1 with a $100 minimum deposit and a $500+ balance recommended. MEDIUM risk on a low-spread ECN or RAW account (target sub-15-point spreads, because the 20-point cap sits only marginally above that) and a broker that supports FOK or IOC filling — the EA auto-picks the best mode via SYMBOL_FILLING_MODE. Best during the London 8–17 and New York 13–22 server windows when the 5-bar candle range clears the 0.15x ATR chop floor; the time filter is off by default so the trader can turn it on for those sessions or leave it open for 24/7 M1 action. Expect tens of trades per session day on JPY pairs and three to four times that on XAUUSD, with the ADX and range filters killing the bulk of the M1 noise. The 0.5% default risk is conservative for a 1:2 RR; aggressive users can switch to fixed lots after the bracket and risk profile are validated in the Strategy Tester.

Strategy Logic

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

Family: TrendFollow Magic: 22218081 Version: 2.00

BRIEF: M1 Hull MA Color Change scalper with comprehensive market filters. Uses single timeframe Hull MA for fast scalping with anti-chop filters including ADX, Hull Separation, ATR, Range, and Swing exit. Includes BE, trailing, DD protection, and time filter. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

INDICATOR STACK:

  • Standard MT5 indicators

KEY FUNCTIONS:

  • UpdateHullMA()
  • GetSignal()
  • CheckMarketFilters()
  • OpenPosition()
  • CalculateLot()
  • ManagePositions()
  • CheckSwingExit()
  • CheckOppositeSignal()
  • ClosePositionsByType()
  • CountPositions()
  • CheckTimeFilter()
  • CloseAllPositions()
  • ...and 7 more

INTERNAL CONSTANTS (0 total):

INPUT PARAMETERS (42 total across 8 groups):

  • [=== Identity ===] InpMagicNumber = 22218081 // Magic Number
  • [=== Identity ===] InpTradeComment = "Psgrowth.com Expert_18081" // +------------------------------------------------------------------+
  • [=== Risk Management ===] InpInitialLot = 0.01 // Fixed Lot (if AutoLot=false)
  • [=== Risk Management ===] InpUseAutoLot = true // Use Dynamic Lot Sizing
  • [=== Risk Management ===] InpRiskPercent = 0.5 // Risk % per trade
  • [=== Risk Management ===] InpMaxLotSize = 5.0 // Max Lot Size Cap
  • [=== Hull MA Settings ===] InpHullPeriod = 21 // Hull MA Period
  • [=== Hull MA Settings ===] InpHullPrice = 1 // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Hull Price Source
  • [=== Hull MA Settings ===] InpDrawHullLine = true // Draw Hull Line on Chart
  • [=== Hull MA Settings ===] InpShowInfoPanel = true // Show Info Panel
  • [=== Trade Settings ===] InpStopLoss = 20 // Stop Loss (points)
  • [=== Trade Settings ===] InpTakeProfit = 40 // Take Profit (points)
  • [=== Trade Settings ===] InpMaxSpread = 20 // Max Spread (points)
  • [=== Trade Management ===] InpUseTrailing = true // Enable Trailing Stop
  • [=== Trade Management ===] InpTrailStart = 150 // Trail Start (points profit)
  • [=== Trade Management ===] InpTrailDistance = 50 // Trail Distance (points)
  • [=== Trade Management ===] InpUseBreakeven = true // Enable Breakeven
  • [=== Trade Management ===] InpBEStart = 100 // BE Start (points profit)
  • [=== Trade Management ===] InpBEOffset = 10 // BE Offset (points above entry)
  • [=== Trade Management ===] InpCloseOnOpposite = true // Close on Hull Color Change
  • [=== Market Filters ===] InpUseADXFilter = true // Enable ADX Trend Filter
  • [=== Market Filters ===] InpADXPeriod = 14 // ADX Period
  • [=== Market Filters ===] InpADXThreshold = 20 // ADX Min Threshold
  • [=== Market Filters ===] InpUseADXRising = false // Require ADX Rising (anti-exhaustion)
  • [=== Market Filters ===] InpUseATRFilter = false // Enable ATR Volatility Filter
  • [=== Market Filters ===] InpMinATRMult = 0.8 // Min ATR vs 50-bar Average
  • [=== Market Filters ===] InpUseRangeFilter = true // Enable Candle Range Filter
  • [=== Market Filters ===] InpRangeBars = 5 // Range Filter: Bars to Check
  • [=== Market Filters ===] InpRangeMaxATR = 3.0 // Max Avg Range (ATR mult, news)
  • [=== Market Filters ===] InpRangeMinATR = 0.15 // Min Avg Range (ATR mult, chop)
  • [=== Market Filters ===] InpMaxPriceDistATR = 0 // Max Price Distance from Hull (0=off)
  • [=== Market Filters ===] InpUseSwingExit = true // Enable Swing Low/High Exit
  • [=== Market Filters ===] InpSwingBars = 5 // Swing Exit: N Bars to Check
  • [=== Market Filters ===] InpSwingIgnoreADX = 30 // Ignore Swing Exit if ADX > (0=never)
  • [=== 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 Hour
  • [=== Drawdown Protection ===] InpUseDDProtection = true // Enable Drawdown Protection
  • [=== Drawdown Protection ===] InpMaxDailyLoss = 5.0 // Max Daily Loss %
  • [=== Drawdown Protection ===] InpMaxEquityLoss = 10.0 // Max Equity Loss from Peak %
Pseudocode
// Pipsgrowth EX18081 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// M1 Hull MA Color Change scalper with comprehensive market filters. Uses single timeframe Hull MA for fast scalping with anti-chop filters including ADX, Hull Separation, ATR, Range, and Swing exit. Includes BE, trailing, DD protection, and time filter. 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:
USDJPYEURUSDXAUUSDXAGUSD
Optimized Timeframes:
M1

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
InpMagicNumber22218081Magic Number
InpTradeComment"Psgrowth.com Expert_18081"+------------------------------------------------------------------+
InpInitialLot0.01Fixed Lot (if AutoLot=false)
InpUseAutoLottrueUse Dynamic Lot Sizing
InpRiskPercent0.5Risk % per trade
InpMaxLotSize5.0Max Lot Size Cap
InpHullPeriod21Hull MA Period
InpHullPrice1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Hull Price Source
InpDrawHullLinetrueDraw Hull Line on Chart
InpShowInfoPaneltrueShow Info Panel
InpStopLoss20Stop Loss (points)
InpTakeProfit40Take Profit (points)
InpMaxSpread20Max Spread (points)
InpUseTrailingtrueEnable Trailing Stop
InpTrailStart150Trail Start (points profit)
InpTrailDistance50Trail Distance (points)
InpUseBreakeventrueEnable Breakeven
InpBEStart100BE Start (points profit)
InpBEOffset10BE Offset (points above entry)
InpCloseOnOppositetrueClose on Hull Color Change
InpUseADXFiltertrueEnable ADX Trend Filter
InpADXPeriod14ADX Period
InpADXThreshold20ADX Min Threshold
InpUseADXRisingfalseRequire ADX Rising (anti-exhaustion)
InpUseATRFilterfalseEnable ATR Volatility Filter
InpMinATRMult0.8Min ATR vs 50-bar Average
InpUseRangeFiltertrueEnable Candle Range Filter
InpRangeBars5Range Filter: Bars to Check
InpRangeMaxATR3.0Max Avg Range (ATR mult, news)
InpRangeMinATR0.15Min Avg Range (ATR mult, chop)
InpMaxPriceDistATR0Max Price Distance from Hull (0=off)
InpUseSwingExittrueEnable Swing Low/High Exit
InpSwingBars5Swing Exit: N Bars to Check
InpSwingIgnoreADX30Ignore Swing Exit if ADX > (0=never)
InpUseTimeFilterfalseEnable Time Filter
InpStartHour8Start Hour (Server Time)
InpEndHour20End Hour (Server Time)
InpTradeFridaytrueTrade on Friday
InpFridayCloseHour20Friday Close Hour
InpUseDDProtectiontrueEnable Drawdown Protection
InpMaxDailyLoss5.0Max Daily Loss %
InpMaxEquityLoss10.0Max Equity Loss from Peak %
Source Code (.mq5)Open Source
Pipsgrowth_com_EX18081.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18081 Hull_USDJPY_EA — M1 Hull MA color-change scalper with anti-chop filters, full 12-layer stack."

#include <Trade\Trade.mqh>

ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
   switch(ap)
   {
      case 1: return PRICE_CLOSE;
      case 2: return PRICE_OPEN;
      case 3: return PRICE_HIGH;
      case 4: return PRICE_LOW;
      case 5: return PRICE_MEDIAN;
      case 6: return PRICE_TYPICAL;
      case 7: return PRICE_WEIGHTED;
      default: return PRICE_CLOSE;
   }
}
ENUM_APPLIED_PRICE g_InpHullPrice = PRICE_CLOSE;
input group "=== Identity ==="
input int    InpMagicNumber       = 22218081;   // Magic Number
input string InpTradeComment      = "Psgrowth.com Expert_18081";

//+------------------------------------------------------------------+
//| ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
   switch(ap)
   {
      case 1: return PRICE_CLOSE;
      case 2: return PRICE_OPEN;
      case 3: return PRICE_HIGH;
      case 4: return PRICE_LOW;
      case 5: return PRICE_MEDIAN;
      case 6: return PRICE_TYPICAL;
      case 7: return PRICE_WEIGHTED;
      default: return PRICE_CLOSE;
   }
}
ENUM_APPLIED_PRICE g_InpHullPrice = PRICE_CLOSE;
INPUT GROUP: Risk Management                                      |
//+------------------------------------------------------------------+
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
   switch(ap)
   {
      case 1: return PRICE_CLOSE;
      case 2: return PRICE_OPEN;
      case 3: return PRICE_HIGH;
      case 4: return PRICE_LOW;
      case 5: return PRICE_MEDIAN;
      case 6: return PRICE_TYPICAL;
      case 7: return PRICE_WEIGHTED;
      default: return PRICE_CLOSE;
   }
}
ENUM_APPLIED_PRICE g_InpHullPrice = PRICE_CLOSE;

Full source code available on download

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

Tags:ex18081trendfollowpipsgrowthfreemt5usdjpyeurusdxauusdxagusd

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_EX18081.mq5
File Size40.0 KB
Versionv2.00
PlatformMetaTrader 5
File Type.mq5 Source
StrategyTrend Following
Risk LevelMedium Risk
Timeframes
M1
Currency Pairs
USDJPYEURUSDXAUUSDXAGUSD
Min. Deposit$100