Pipsgrowth EX12063 MultiIndicatorConfluence
MT5 Expert Advisor (Open Source) · XAUUSD · M5
Pipsgrowth.com EX12063 GB10 1.3 Alligator+Gaussian+Donchian+ADX+RSI — adaptive breakout, full 12-layer stack.
Overview
EX12063 sits at the top of the EX12 multi-filter family. Where its cousins ship a 3-handle baseline or a 4-handle Gaussian-bands core, this EA wires up to seven distinct indicator streams (five of them optional), two higher-timeframe moving averages, a candle-quality filter, a per-direction profitable-add gate, an EOD/session smart-close subsystem, and a dynamic profit-locking ratchet — all wrapped in a 10% account-level drawdown cap. It is the most fully optioned member of the family and the only one in the lineup that actually delivers the full 12-layer cascade the file header advertises: REGIME → SIGNAL → ENTRY → CONFIRM → NO-TRADE → CAPITAL CAP → RISK → SIZING → MANAGE → EXIT → SCALING → OnTester.
The breakout engine works on a Gaussian midline. OnInit() builds a single iMA(_Symbol, g_Timeframe, Length=10, 0, MODE_EMA, PRICE_CLOSE) and a single iATR(_Symbol, g_Timeframe, 14). The Gaussian midline is read at shift 0 and shift 1 to derive a slope direction; the upper and lower bands are constructed in OnTick as midline ± DistanceMultiplier × ATR(14). When UseAutoFilter is enabled, that DistanceMultiplier is overwritten by AutoTuneFilters() — a function that sniffs the live ASK-BID spread and switches between a 0.85 multiplier (tight spread, sub-3-point) and 1.0 (wide spread), then clamps MinATR to 3× a derived pip factor. So the band tightness is responsive to actual book depth rather than a fixed parameter.
An initial buy signal requires all of the following on the same close: (a) the candle's body is at least 60% of its full range (strongCandle test on shift 0), (b) the Gaussian slope is up, (c) the close is above the upper band and the prior two closes are also below the upper band — a deliberate two-bar breakout confirmation rather than a single-tick cross, and (d) the close-vs-midline distance exceeds MinBreakDistance × ATR. The sell side mirrors. There is no first-cross entry; the file requires the previous two bars as confirmation, a deliberate filter against false breakouts on noise bars.
Before the order is sent, the PassesGeneralFilters() function (lines 901–929) walks the four optional confirmation indicators. If UseAlligatorFilter is on, the EA demands jaws > teeth > lips for a buy (or the inverse for a sell). If UseDonchianFilter is on, price must be above the prior 20-bar high plus a 5-pip offset for a buy. If UseRSIFilter is on, buys are blocked when RSI(14) ≥ 70 and sells when RSI(14) ≤ 30. If UseADXFilter is on, ADX(14) must be ≥ 25. All four filters default to OFF, but each can be enabled independently for either the initial trade or for additional trades via the AddUse* inputs — so the EA can run a stripped-down initial entry and a fully-filtered pyramid, or vice versa.
Trend alignment is enforced on two higher timeframes. TrendTF1 = 8 maps to PERIOD_D1 and TrendTF2 = 9 maps to PERIOD_W1; both default ON. IsTrendAligned() requires price > EMA(50) on the daily AND price > EMA(100) on the weekly for a buy (and the mirror for a sell). The EA will sit flat on both sides of a session if the daily or weekly bias disagrees with the M5 signal — that gate alone suppresses the bulk of counter-trend breakouts and is the most aggressive regime filter in the EX12 lineup.
Pyramiding is supported but strictly gated. After the first entry, the EA counts positions on the symbol and refuses a new buy unless every existing buy has its stop above entry by at least MinPointsPerTradeToAdd = 150 points. The 150-point gate is the real-money test: it forces you to lock at least 150 points of profit per position before the next lot is added. If AllowOnlyProfitableAdditions is enabled (the default), this check is mandatory. The new position is sent at the same Lots (0.1) with the same SL/TP — there is no lot multiplication, no martingale, no scaling. Position caps sit at MaxOpenTrades = 5.
The risk stack runs the file's signature triple-stop. Each new order gets an ATR-based stop at 1.2 × ATR(14), a fixed-points fallback at HardSL_Points = 120, and a fixed-points TP at FixedTP_Points = 160. The TP is set on the order ticket (not held virtually). The dynamic-profit-lock ratchet then takes over in OnTick for as long as the position is open: when bid−entry crosses LockProfitEvery_X_Points (100 points), the EA computes a step count, multiplies it by 100, subtracts LockMinusBufferPoints (50), and ratchets SL to entry + (step × 100 − 50) × point. At 100 points of profit the lock sits 50 points in the money; at 200 it sits 150; at 300 it sits 250. The 50-point buffer is a documented feature — the file's input comment spells it out: "lock 15 points if step is 20 and buffer is 5." The lock is forward-only, so it never loosens.
A separate trailing stop runs in parallel: when UseTrailingStop is on, newSL is bid − 1.2 × ATR(14) for buys (or ask + 1.2 × ATR for sells), and the EA modifies only when that value is past the current SL. The breakeven ratchet triggers when bid − entry > 1.2 × ATR(14) and the current SL is below entry — it pushes SL to entry exactly. The dynamic profit lock, the ATR trailing stop, and the breakeven ratchet are three independent runners; whichever fires first updates the SL.
The exit cascade has two additional layers. The Gaussian mean-reversion exit: if a long position is open and price < gaussNow (or short and price > gaussNow), the EA closes the position flat regardless of the SL/TP ticket. The smart-close subsystem, gated on EOD/Session/Weekend handling (PauseTime "22:00", SmartCloseStart "22:00", SmartCloseEnd "22:10", FinalCloseTime "22:15", CloseAllOnWeekend = true), lets you set a PauseTime, a 10-minute smart-close window, a FinalCloseTime, and a Friday/EveryDay flag. Between 22:00 and 22:10, the EA checks every open position: if the position is in profit and the Gaussian slope has flipped against the direction, it closes. At 22:15 on Friday (or every day if CloseAllEveryDay is on), the EA force-closes every position on the symbol. This is the only EA in the EX12 family that ships with a full session-aware close.
The capital cap sits at the account level. CheckMaxDrawdown() returns false when 100 × (balance − equity) / balance > MaxDrawdownPercent (10%), at which point OnTick returns early. A volatility cap runs alongside: when UseVolatilityFilter is true, ATR(14) must be inside [MinVolatilityATR = 0.02, MaxVolatilityATR = 0.10].
The trade object is the standard CTrade wrapper with SetExpertMagicNumber(22212063) set in OnInit. Three retry-wrappers — TryClose_EX12063, TryClosePartial_EX12063, and TryModify_EX12063 — each loop up to 3 attempts on REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED with 200 ms (close) or 100 ms (modify) Sleep before falling through. Position iteration uses PositionsTotal() with a reverse loop and a 0-ticket guard so partial-close retries are safe. The file does not ship a dashboard panel or an OnTester formula, and the OnDeinit handler releases all seven indicator handles in sequence.
For the trader: the right deployment is a $500+ account with the smart-close window set so positions are flat before the 22:00 UTC NY close. With 0.1 lots on XAUUSD M5, the 120/160 point SL/TP is roughly $12/$16 per position — a single bad session can chew through a third of a $100 deposit, so the EOD machinery and the 10% drawdown cap are not optional. EX12063 behaves like a London/NY breakout system with a hard 22:15 EOD, not a 24-hour trend follower. The dynamic profit lock and ATR trailing give it a non-martingale scaling character that grows equity while capping drawdown by design.
Strategy Deep Dive
OnInit() creates up to seven indicator handles — the base Gaussian midline (iMA Length=10) and ATR(14) are mandatory, plus optional handles for the daily EMA(50) trend filter, weekly EMA(100) trend filter, the Alligator 13/8/5, RSI(14), and ADX(14). OnTick runs HandleEODSessionWeekend() first, then the 10% account drawdown cap, then the daily+weekly trend-alignment gate, then AutoTuneFilters() which adjusts the Gaussian band width based on live spread. The breakout engine then checks the strong-candle/upper-band/2-bar-confirm/slope combination and sends the order with ATR-SL and fixed TP. Pyramiding is gated by a 150-point-per-position profit-lock check, and three independent runners — ATR trailing, breakeven ratchet, and 100-point dynamic profit lock minus 50-point buffer — manage the stop during the trade.
Initial entries trigger when a strong candle (body ≥ 60% of range) closes above the Gaussian midline + 0.85 × ATR(14) upper band, with the Gaussian slope pointing up and the two prior closes also below that band — a deliberate two-bar breakout confirmation. Sells mirror the conditions. Entries are only sent when the daily EMA(50) and weekly EMA(100) trend filters are aligned with the signal direction, and only after the four optional filters (Alligator, Donchian, RSI, ADX) pass when enabled.
Positions close via three independent stop paths: the ATR-trailing stop (1.2 × ATR(14), forward-only), the breakeven ratchet (SL → entry when bid-entry > 1.2 × ATR), and the dynamic profit lock that steps in 100-point increments minus a 50-point buffer. A Gaussian mean-reversion exit also force-closes the position flat when price crosses the midline against the direction. The smart-close subsystem force-closes every position at 22:15 on Friday and runs a Gaussian-aware profit-take between 22:00 and 22:10.
Initial SL is set on the order at entry ± 1.2 × ATR(14), with a 120-point hard-floor fallback. The ATR-trailing stop and breakeven ratchet both modify SL during the trade; the dynamic profit lock steps SL up in 100-point increments minus a 50-point buffer, never loosening. The dynamic lock is the dominant stop-management feature.
TP is fixed at 160 points on the order ticket. The dynamic profit lock and ATR-trailing stop are the in-trade profit-extraction mechanisms; the smart-close subsystem can also take profits between 22:00 and 22:10 if the Gaussian slope has flipped against the position direction. There is no partial-close ladder.
Best deployed on a $500+ account on XAUUSD M5 (the file's default pair and timeframe) under an ECN/RAW-spread broker with the smart-close window set so positions are flat before the 22:00 UTC NY close. The 0.1-lot default with 120/160-point SL/TP is too tight for sub-$200 deposits — a single bad session can take 30%+ of a $100 balance, so the 10% drawdown cap is mandatory, not optional. The 4 optional filters (Alligator, Donchian, RSI, ADX) and the volatility gate let a risk-conscious trader dial the strategy from a permissive London-session breakout (all filters off) to a high-confirmation daily+weekly trend pullback (all filters on, all AddUse* filters on, MaxOpenTrades=2).
Strategy Logic
Pipsgrowth EX12063 MultiIndicatorConfluence — Strategy Logic Analysis (from .mq5 source)
Family: MultiIndicatorConfluence
Magic: 22212063
Version: 2.00
BRIEF:
Adaptive breakout EA with optional Gaussian bands, Alligator, Donchian Channel, RSI, and ADX filters. Multi-TF MA trend alignment, dynamic profit lock, ATR-based SL, trailing stop, breakeven, EOD/session management, and volatility filtering. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
INDICATOR STACK:
- Standard
MT5indicators
KEY FUNCTIONS:
IsTrendAlignedTF1()IsTrendAlignedTF2()IsTrendAligned()GetBuffer()GaussianFilter()GetATR()GetRSI()GetADX()PositionExists()CloseOpposite()AutoTuneFilters()CheckMaxDrawdown()- ...and 16 more
INTERNAL CONSTANTS (0 total):
INPUT PARAMETERS (67 total across 15 groups):
- [=== Identity ===]
MagicNumber=22212063// Magic number - [=== Identity ===]
InpTradeComment= "Psgrowth.com Expert_12063" // Trade comment - [=== General
EASettings ===] Lots =0.1// Lot size for trades - [=== General
EASettings ===]OneTradeOnly=true// Allow only one trade at a time per symbol - [=== General
EASettings ===]MaxOpenTrades= 5 // Maximum allowed open trades at the same time - [=== General
EASettings ===] Timeframe = 0 //Timeframe(1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Chart timeframe forEAoperation - [=== Trend
Filter(Multi-g_TimeframeMA Alignment) ===]UseTrendTF1=true// Enable/Disable first trend filter - [=== Trend
Filter(Multi-g_TimeframeMA Alignment) ===]TrendTF1= 8 //Timeframe(1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) - [=== Trend
Filter(Multi-g_TimeframeMA Alignment) ===]UseTrendTF2=true// Enable/Disable second trend filter - [=== Trend
Filter(Multi-g_TimeframeMA Alignment) ===]TrendTF2= 9 //Timeframe(1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) - [=== Trend
Filter(Multi-g_TimeframeMA Alignment) ===]TrendMAPeriod2= 100 // --- Risk Management - [=== Risk Management ===]
MaxDrawdownPercent=10.0// Max drawdown % allowed before stopping trades - [=== Risk Management ===] ATR_MultiplierSL =
1.2//ATRmultiplier for Stop Loss calculation - [=== Risk Management ===]
HardSL_Points= 120 // Fixed Stop Loss in points (if ATR_MultiplierSL is not used or as a fallback) - [=== Risk Management ===]
FixedTP_Points= 160 // Fixed Take Profit in points - [=== Risk Management ===]
UseTrailingStop=true// Enable/Disable trailing stop - [=== Risk Management ===]
UseBreakeven=true// Enable/Disable moving SL to breakeven - [=== Additional Trade Logic ===]
AllowOnlyProfitableAdditions=true// Allow new trades only if existing ones are in profit - [=== Additional Trade Logic ===]
MinPointsPerTradeToAdd=150.0// Minimum points locked per existing trade to allow additional trades - [=== Dynamic Profit Lock ===]
EnableDynamicLockProfit=true// Enable/Disable dynamic profit locking - [=== Dynamic Profit Lock ===]
LockProfitEvery_X_Points=100.0// Lock profit every X points of gain - [=== Dynamic Profit Lock ===]
LockMinusBufferPoints=50.0// Buffer to subtract when locking profit (e.g., lock 15 points if step is 20 and buffer is 5) - [=== Auto Filter Tuning ===]
UseAutoFilter=true// Enable/Disable automatic tuning ofMinATR,BreakDistance,BandMultiplier - [=== Auto Filter Tuning ===]
MinATR=0.03// MinimumATRvalue for trades (used ifUseAutoFilterisfalse) - [=== Auto Filter Tuning ===]
MinBreakDistance=0.3// Minimum break distance factor for Gaussian bands (used ifUseAutoFilterisfalse) - [=== Gaussian Filter ===]
UseGaussianFilter=true// Enable/Disable full Gaussian filter (bands) - [=== Gaussian Filter ===]
UseGaussianSlopeOnly=false// Enable/Disable using only Gaussian slope for trend - [=== Gaussian Filter ===] Length = 10 // Period for Gaussian filter calculation
- [=== Gaussian Filter ===]
DistanceMultiplier=0.85// Multiplier for Gaussian bands (used ifUseAutoFilterisfalse) - [=== Alligator Filter ===]
UseAlligatorFilter=false// Enable/Disable Alligator filter - [=== Alligator Filter ===]
AlligatorJawsPeriod= 13 // Alligator Jaws period - [=== Alligator Filter ===]
AlligatorTeethPeriod= 8 // Alligator Teeth period - [=== Alligator Filter ===]
AlligatorLipsPeriod= 5 // Alligator Lips period - [=== Alligator Filter ===]
AlligatorJawsShift= 8 // Alligator Jaws shift - [=== Alligator Filter ===]
AlligatorTeethShift= 5 // Alligator Teeth shift - [=== Alligator Filter ===]
AlligatorLipsShift= 3 // Alligator Lips shift - [=== Alligator Filter ===]
AlligatorMethod=MODE_SMMA// Moving Average method for Alligator - [=== Alligator Filter ===]
AlligatorApplied= 5 // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied price for Alligator - [=== Donchian Channel Filter ===]
UseDonchianFilter=false// Enable/Disable Donchian Channel filter - [=== Donchian Channel Filter ===]
DonchianPeriod= 20 // Lookback period for Donchian Channel - [=== Donchian Channel Filter ===]
DonchianConfirmBars= 2 // Number of bars price must stay beyond channel to confirm breakout - [=== Donchian Channel Filter ===]
DonchianOffsetPips=5.0// Offset in pips for Donchian Channel breakout confirmation - [===
RSIFilter ===]UseRSIFilter=false// Enable/DisableRSIfilter - [===
RSIFilter ===] RSIPeriod = 14 //RSIperiod - [===
RSIFilter ===]OverboughtLevel=70.0//RSIoverboughtlevel - [===
RSIFilter ===]OversoldLevel=30.0//RSIoversoldlevel - [===
ADXFilter ===]UseADXFilter=false// Enable/DisableADXfilter - [===
ADXFilter ===] ADXPeriod = 14 //ADXperiod - [===
ADXFilter ===]MinADXValue=25.0// MinimumADXvalue to confirm trend strength - [=== Additional Trade Filters ===]
AddUseGaussianFilter=false// Enable Gaussian filter for additional trades - [=== Additional Trade Filters ===]
AddUseAlligatorFilter=false// Enable Alligator filter for additional trades - [=== Additional Trade Filters ===]
AddUseDonchianFilter=false// Enable Donchian Channel filter for additional trades - [=== Additional Trade Filters ===]
AddUseRSIFilter=false// EnableRSIfilter for additional trades - [=== Additional Trade Filters ===]
AddUseADXFilter=false// EnableADXfilter for additional trades - [=== Volatility
Filter(ATRBased) ===]UseVolatilityFilter=false// Enable/Disable volatility filter - [=== Volatility
Filter(ATRBased) ===]MinVolatilityATR=0.02// MinimumATRvalue required to trade (avoid low volatility) - [=== Volatility
Filter(ATRBased) ===]MaxVolatilityATR=0.10// MaximumATRvalue allowed to trade (avoid extreme volatility) - [===
EOD& Session Handling ===]PauseNewTradesBeforeEOD=true// Pause new trades beforeEOD/session - [===
EOD& Session Handling ===]PauseTime= "22:00" // Time to pause new trades (HH:MM) - [===
EOD& Session Handling ===]SmartCloseStart= "22:00" // Start smart close window (HH:MM) - [===
EOD& Session Handling ===]SmartCloseEnd= "22:10" // End smart close window (HH:MM) - [===
EOD& Session Handling ===]FinalCloseTime= "22:15" // Force close time (HH:MM) - [===
EOD& Session Handling ===]CloseAllOnWeekend=true// Close all trades before weekend - [===
EOD& Session Handling ===]CloseAllEveryDay=false// Close all trades every day atEOD - [===
EOD& Session Handling ===]SmartCloseEnabled=true// Enable smart close logic - [===
EOD& Session Handling ===]SmartCloseOnWeekend=true// Enable smart close on weekend - [===
EOD& Session Handling ===]SmartCloseEveryDay=false// Enable smart close every day
// Pipsgrowth EX12063 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// Adaptive breakout EA with optional Gaussian bands, Alligator, Donchian Channel, RSI, and ADX filters. Multi-TF MA trend alignment, dynamic profit lock, ATR-based SL, trailing stop, breakeven, EOD/session management, and volatility filtering. 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
How to Install This EA on MT5
- 1Download the .mq5 file using the button above
- 2Open MetaTrader 5 on your computer
- 3Click File → Open Data Folder in the top menu
- 4Navigate to MQL5 → Experts and paste the .mq5 file there
- 5In MT5, right-click Expert Advisors in the Navigator panel → Refresh
- 6Drag the EA onto a chart matching the recommended timeframe
- 7Configure parameters according to the table on this page
- 8Enable Allow Algo Trading and click OK
EA Parameters
| Parameter | Default | Description |
|---|---|---|
| MagicNumber | 22212063 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_12063" | Trade comment |
| Lots | 0.1 | Lot size for trades |
| OneTradeOnly | true | Allow only one trade at a time per symbol |
| MaxOpenTrades | 5 | Maximum allowed open trades at the same time |
| Timeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Chart timeframe for EA operation |
| UseTrendTF1 | true | Enable/Disable first trend filter |
| TrendTF1 | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| UseTrendTF2 | true | Enable/Disable second trend filter |
| TrendTF2 | 9 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| TrendMAPeriod2 | 100 | --- Risk Management |
| MaxDrawdownPercent | 10.0 | Max drawdown % allowed before stopping trades |
| ATR_MultiplierSL | 1.2 | ATR multiplier for Stop Loss calculation |
| HardSL_Points | 120 | Fixed Stop Loss in points (if ATR_MultiplierSL is not used or as a fallback) |
| FixedTP_Points | 160 | Fixed Take Profit in points |
| UseTrailingStop | true | Enable/Disable trailing stop |
| UseBreakeven | true | Enable/Disable moving SL to breakeven |
| AllowOnlyProfitableAdditions | true | Allow new trades only if existing ones are in profit |
| MinPointsPerTradeToAdd | 150.0 | Minimum points locked per existing trade to allow additional trades |
| EnableDynamicLockProfit | true | Enable/Disable dynamic profit locking |
| LockProfitEvery_X_Points | 100.0 | Lock profit every X points of gain |
| LockMinusBufferPoints | 50.0 | Buffer to subtract when locking profit (e.g., lock 15 points if step is 20 and buffer is 5) |
| UseAutoFilter | true | Enable/Disable automatic tuning of MinATR, BreakDistance, BandMultiplier |
| MinATR | 0.03 | Minimum ATR value for trades (used if UseAutoFilter is false) |
| MinBreakDistance | 0.3 | Minimum break distance factor for Gaussian bands (used if UseAutoFilter is false) |
| UseGaussianFilter | true | Enable/Disable full Gaussian filter (bands) |
| UseGaussianSlopeOnly | false | Enable/Disable using only Gaussian slope for trend |
| Length | 10 | Period for Gaussian filter calculation |
| DistanceMultiplier | 0.85 | Multiplier for Gaussian bands (used if UseAutoFilter is false) |
| UseAlligatorFilter | false | Enable/Disable Alligator filter |
| AlligatorJawsPeriod | 13 | Alligator Jaws period |
| AlligatorTeethPeriod | 8 | Alligator Teeth period |
| AlligatorLipsPeriod | 5 | Alligator Lips period |
| AlligatorJawsShift | 8 | Alligator Jaws shift |
| AlligatorTeethShift | 5 | Alligator Teeth shift |
| AlligatorLipsShift | 3 | Alligator Lips shift |
| AlligatorMethod | MODE_SMMA | Moving Average method for Alligator |
| AlligatorApplied | 5 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied price for Alligator |
| UseDonchianFilter | false | Enable/Disable Donchian Channel filter |
| DonchianPeriod | 20 | Lookback period for Donchian Channel |
| DonchianConfirmBars | 2 | Number of bars price must stay beyond channel to confirm breakout |
| DonchianOffsetPips | 5.0 | Offset in pips for Donchian Channel breakout confirmation |
| UseRSIFilter | false | Enable/Disable RSI filter |
| RSIPeriod | 14 | RSI period |
| OverboughtLevel | 70.0 | RSI overbought level |
| OversoldLevel | 30.0 | RSI oversold level |
| UseADXFilter | false | Enable/Disable ADX filter |
| ADXPeriod | 14 | ADX period |
| MinADXValue | 25.0 | Minimum ADX value to confirm trend strength |
| AddUseGaussianFilter | false | Enable Gaussian filter for additional trades |
| AddUseAlligatorFilter | false | Enable Alligator filter for additional trades |
| AddUseDonchianFilter | false | Enable Donchian Channel filter for additional trades |
| AddUseRSIFilter | false | Enable RSI filter for additional trades |
| AddUseADXFilter | false | Enable ADX filter for additional trades |
| UseVolatilityFilter | false | Enable/Disable volatility filter |
| MinVolatilityATR | 0.02 | Minimum ATR value required to trade (avoid low volatility) |
| MaxVolatilityATR | 0.10 | Maximum ATR value allowed to trade (avoid extreme volatility) |
| PauseNewTradesBeforeEOD | true | Pause new trades before EOD/session |
| PauseTime | "22:00" | Time to pause new trades (HH:MM) |
| SmartCloseStart | "22:00" | Start smart close window (HH:MM) |
| SmartCloseEnd | "22:10" | End smart close window (HH:MM) |
| FinalCloseTime | "22:15" | Force close time (HH:MM) |
| CloseAllOnWeekend | true | Close all trades before weekend |
| CloseAllEveryDay | false | Close all trades every day at EOD |
| SmartCloseEnabled | true | Enable smart close logic |
| SmartCloseOnWeekend | true | Enable smart close on weekend |
| SmartCloseEveryDay | false | Enable smart close every day |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX12063 GB10 1.3 Alligator+Gaussian+Donchian+ADX+RSI — adaptive breakout, full 12-layer stack."
#include <Trade/Trade.mqh>
CTrade trade;
//--- Identity
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;
case 3: return PERIOD_M15;
case 4: return PERIOD_M30;
case 5: return PERIOD_H1;
case 6: return PERIOD_H4;
case 7: return PERIOD_D1;
default: return PERIOD_H1;
}
}
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_TIMEFRAMES g_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_TrendTF1 = PERIOD_H1;
ENUM_TIMEFRAMES g_TrendTF2 = PERIOD_H1;
ENUM_APPLIED_PRICE g_AlligatorApplied = PRICE_CLOSE;
input group "=== Identity ==="
input int MagicNumber = 22212063; // Magic number
input string InpTradeComment = "Psgrowth.com Expert_12063"; // Trade comment
//--- General EA Settings
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;
case 3: return PERIOD_M15;
case 4: return PERIOD_M30;
case 5: return PERIOD_H1;
case 6: return PERIOD_H4;
case 7: return PERIOD_D1;
default: return PERIOD_H1;
}
}
Full source code available on download
Educational purposes only. Do NOT use with real money. Test on demo accounts only.
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
Markets.com
Exness
IC Markets
Similar Expert Advisors
View All Expert AdvisorsMore Other strategy EAs from our library
Pipsgrowth EX01007 Adaptive
Pipsgrowth.com EX01007 Adaptive XAUUSD 5M — multi-indicator signal scorer with regime filter, full 12-layer stack, configurable timeframe, trailing/BE/profit-lock toggles, pyramid gate, spread filter, new-bar gate, filling mode detection.
Pipsgrowth EX01019 Adaptive
Pipsgrowth.com EX01019 Self-Adaptive Market EA Fixed — multi-regime adaptive EA, full 12-layer stack.
Pipsgrowth EX15029 SMC-OrderBlock
Pipsgrowth.com EX15029 SMCBreakoutEA — SMC breakout CHOCH/liquidity sweep EA, full 12-layer stack.
Community
Educational purposes only. Do NOT use with real money. Test on demo accounts only.