Version: v1.0 (Draft) • Updated: Oct 28, 2025 • Platform: MetaTrader 5
Author: [Igor/Widiger] • Support: [https://www.mql5.com/en/users/deinschanz]
1) Overview
Range Breakout Beast MT5 is a fully automated EA for breakouts from consolidation ranges, featuring comprehensive filters (range, volatility, news, RSI), adaptive time/range rules, and robust risk/position management (SL/TP, breakeven, trailing, partials). No Martingale, no grid.
⚠️ Risk Warning: Trading leveraged products carries significant risk. Past performance is not a reliable indicator of future results. Always test in the Strategy Tester and on a demo account before going live.
2) Quick Start
-
Timeframe & Symbol: e.g., EURUSD M15.
-
Time window: Set RangeStartHour/Min → RangeEndHour/Min (broker time).
-
Strategy: Use typeStrategy = strategy_ausbruch (Breakout) by default.
-
Entry: Configure TypeBuffer = trading_candle_close , BufferPoints , CloseTF , and RequireFullBody .
-
Stops/Targets: Choose sltype and tptype (points/percent/range/factor).
-
Protection: Enable Broker‑Protection, News Filter, Challenge/Risk limits as needed.
-
Test & Deploy: Validate in the Strategy Tester → start small on live.
3) Inputs by Group
Tables list Name, Default, Type/Values, and a short Description. Times refer to broker time unless stated otherwise.
3.1 General
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| MagicNumber | 15745 | Number | Unique ID per chart/instance. |
3.2 Strategy Filter
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| typeStrategy | strategy_ausbruch | startegy_auto / strategy_ausbruch / strategy_retest | Automatic, Breakout, or Retest mode. |
| AutoStrategy_ATR_Threshold | 0.62 | Double | ATR‑ratio threshold for Automatic mode. |
| AutoStrategy_Pct_Threshold | 0.42 | Double | Percent threshold for Automatic mode. |
| RetestCounter | 1 | Integer | Allowed number of retests (when Auto/Retest is enabled). |
| HysteresisPoints | 5 | Points | Hysteresis buffer to avoid choppy re‑triggers. |
| MinBodyPoints | 3 | Points | Minimum candle body size. |
Timeframe for range calculation
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| TimeframeRangeCalc | PERIOD_M1 | ENUM_TIMEFRAMES | TF used to compute the internal range. |
Position filter
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| PosSelected | all_trade | long_trade / short_trade / all_trade / automatic_trade | Directional lock or adaptive. |
Adaptive trend filter
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| UseAutoTrendTF | false | Bool | Choose TF automatically? |
| TrendTF_Override | PERIOD_M15 | ENUM_TIMEFRAMES | Manual TF if auto is off. |
| SwingDepthOverride | 3 | Integer | Bars left/right to confirm swings (3 = classic). |
| LookbackOverride | 200 | Integer | Bars to scan for swing points. |
3.3 Entry & Confirmation
Entry logic
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| TypeBuffer | trading_candle_close | trading_ohne_use / trading_mit_buffer / trading_candle_close | Enter without buffer, with points buffer, or on candle close. |
| BufferPoints | 20 | Points | Distance above/below range level. |
Candle‑close confirmation
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| CloseTF | PERIOD_M5 | ENUM_TIMEFRAMES | TF of the confirmation candle. |
| RequireFullBody | true | Bool | Require a full body close. |
| TolerancePts | 5 | Points | Tolerance (for borderline closes). |
3.4 Broker Protection
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| UseBrokerProtection | broker_schutz_on | on/off | Adds delay/randomization around orders. |
| MinDelayMs | 50 | ms | Minimum delay. |
| MaxDelayMs | 300 | ms | Maximum delay. |
| SlTpRandomPips | 0.3 | Pips | Random deviation on SL/TP (anti‑hunting). |
3.5 Prop/Challenge (FTMO‑style)
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| ChallengeType | challenge_off | off/on | Enable challenge protection. |
| MaxDailyLoss | −500.0 | Money | Daily loss limit ($/€). |
| MaxTotalLoss | −1000.0 | Money | Overall loss limit ($/€). |
| ProfitTarget | 1000.0 | Money | Challenge profit target ($/€). |
| StartBalance | 10000.0 | Money | Initial capital. |
| MinTradeDays | 4 | Days | Minimum trading days. |
Comments/Logs
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| ComentType | comentar_all | off/chart/expert/both | Output on chart, Experts tab, or both. |
3.6 News Filter & Visualization
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| MinutesBeforeNews | 3 | Minutes | Pause X minutes before news. |
| MinutesAfterNews | 3 | Minutes | Pause X minutes after news. |
| FilterImportance | NEWS_NONE | none/low/medium/high | Importance threshold. |
| ShowNewsLines | linien_on | on/off | Show vertical news lines. |
| NewsLineColor | clrRed | Color | Line color. |
| NewsLineStyle | STYLE_DOT | Style | Solid/dotted/dashed. |
| NewsLineWidth | 2 | Pixels | Line width. |
| ShowNewsBlocks | rechteck_on | on/off | Show time blocks (rectangles). |
| BlockColor | clrLightSalmon | Color | Block color. |
| BlockTransparency | 70 | 0–255 | Block transparency. |
3.7 Range Filter (incl. Adaptive)
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| rangetype | range_in_off | off/points/percent | Validate range by points or percent. |
| MinPoints | 500 | Points | Minimum range size (points). |
| MinProcent | 0.10 | % | Minimum range size in percent. |
| MaxPoints | 1000 | Points | Maximum range size (points). |
| MaxProcent | 0.50 | % | Maximum range size in percent. |
| UseAdaptive | false | Bool | Enable adaptive learning mode. |
| MinProcent_Base | 0.16 | % | Starting value for min‑range. |
| MaxProcent_Base | 0.40 | % | Starting value for max‑range. |
| MinProcent_Min/Max | 0.08 / 0.24 | % | Hard floor/ceiling for min‑range. |
| MaxProcent_Min/Max | 0.28 / 0.50 | % | Hard floor/ceiling for max‑range. |
| Step_MinProcent | 0.02 | % | Step size for min‑range. |
| Step_MaxProcent | 0.04 | % | Step size for max‑range. |
3.8 Volatility / RSI Filters
ATR volatility test
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| typeVola | atr_vola_off | off/on | Enforce minimum volatility via ATR. |
| InpATRPeriod | 14 | Period | ATR period. |
| InpATRThreshold | 1.3 | % | Minimum volatility in percent. |
| InpLookback | 1 | Bars | Bars retrieved for ATR (1 suffices). |
| InpATRTF | PERIOD_D1 | ENUM_TIMEFRAMES | Timeframe used for ATR check. |
RSI filter
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| UseRSIFilter | RSI_MODE_OFF | off/on | Enable RSI filter. |
| RSI_Period | 14 | Period | RSI period. |
| RSI_LowerLevel | 30.0 | Level | Below: no shorts. |
| RSI_UpperLevel | 70.0 | Level | Above: no longs. |
| RSI_TF | PERIOD_M5 | ENUM_TIMEFRAMES | TF for RSI. |
3.9 Risk & Position Sizing
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| volumetype | money_volume | procent_volume / money_volume / fixed_volume | Position sizing by % risk, money, or fixed lots. |
| RiskProzent | 0.5 | % | Risk per trade (percent mode). |
| RiskMoney | 50 | Money | Risk per trade (money mode). |
| Lots | 0.01 | Lots | Fixed lot size (fixed mode or when risk=0). |
Take Profit
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| tptype | tp_mode_off | off/points/factor/percent | TP calculation mode. |
| TPpoints | 600 | Points | Fixed TP in points. |
| TPFactor | 9 | Factor | TP by factor (R:R‑like). |
| TPProcent | 1.5 | % | TP in percent. |
Stop Loss
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| sltype | sl_range | off/points/percent/range | SL calculation; range = beyond the range. |
| SLpoints | 500 | Points | Fixed SL in points. |
| SLProcent | 50 | % | SL in percent. |
Weekly/Monthly Risk Manager
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| typeRiskOnOff | RISK_WEEK_MONTH_OFF | on/off | Enable weekly/monthly risk cap. |
| UseWeek | RISK_WEEK_MODE | week/month | Reference period. |
| UsePercent | RISK_MONEY_MODE | percent/money | Unit for limits. |
| WeeklyRiskPercent | 1.5 | % | Weekly cap in percent. |
| MonthlyRiskPercent | 4.5 | % | Monthly cap in percent. |
| WeeklyRiskMoney | 150.0 | Money | Weekly cap ($/€). |
| MonthlyRiskMoney | 450.0 | Money | Monthly cap ($/€). |
Adaptive Range & Time (equity‑based)
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| LossStreakTrigger | 2 | Trades | Tighten after X consecutive losses. |
| DD_TriggerPct | 2.0 | % | Tighten after X% drawdown. |
| CooldownDays | 2 | Days | Minimum interval between adjustments. |
| WinStreakRelief | 2 | Trades | Loosen after X consecutive wins. |
| NewHighReliefPct | 1.0 | % | Loosen after new equity high ≥ X%. |
| PauseLossOnOff | false | Bool | Pause trading after a losing day? |
| PauseLossInDays | 1 | Days | Pause length after loss day. |
| PauseOnOff | false | Bool | Pause after a winning day? |
| PauseInDays | 1 | Days | Pause length after win day. |
| InpRM50_Enable | true | Bool | Sell 50% if still in red after N candles. |
| InpRM50_AfterBars | 6 | Candles | Number of closed candles before check. |
| InpRM50_MinLossPct | 0.20 | % | Minimum loss (% of balance) to trigger. |
| typeMoneyManagement | MANAGEMENT_MODE_OFF | off/percent_close/money_close | Force close at threshold. |
| ManagementProcent | 3 | % | Close when profit reaches +X%. |
| ManagementMoney | 300 | Money | Close when profit reaches +X $/€. |
Close‑positions & Daily‑levels guards
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| TypeCloseFilter | close_pos_filter_off | off/on | Guard against adverse prior‑day levels. |
| InpTouchTolerancePoints | 20 | Points | Touch tolerance to yesterday’s level. |
| InpMinDistanceToRangePoints | 200 | Points | Min. distance Range↔Y‑High/Low. |
| InpMaxDailyLookbackDays | 7 | Days | Look back up to N calendar days. |
| InpMaxDailyLevelDistancePoints | 600 | Points | Max distance to current price (0=off). |
| InpPickClosestDailyLevel | true | Bool | Pick nearest level within last N days. |
| InpHighMustBeAboveEntry | true | Bool | BUY: High ≥ Entry (with tolerance). |
| InpHighMustBeAboveRangeHigh | false | Bool | BUY: High ≥ RangeHigh. |
| InpLowMustBeBelowEntry | true | Bool | SELL: Low ≤ Entry. |
| InpLowMustBeBelowRangeLow | false | Bool | SELL: Low ≤ RangeLow. |
| InpAheadTolerancePoints | 10 | Points | Tolerance for the above rules. |
| InpSkipIfRangeNearYHigh | true | Bool | Do not close longs if RangeHigh ≈ Y‑High. |
| InpSkipIfRangeNearYLow | true | Bool | Do not close shorts if RangeLow ≈ Y‑Low. |
| InpRequireRangeReady | true | Bool | Operate only when RangeHigh/Low are set. |
| InpRequireCross | true | Bool | Close only if the level was truly crossed. |
3.10 Time Control (GMT/Offsets & Trading Hours)
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| UseGMTTimes | false | Bool | Interpret range/trading times as GMT. |
| AutoGMTOffset | false | Bool | Auto‑detect server↔GMT offset. |
| ManualGMTOffsetWinterH | 2 | Hours | Manual winter offset. |
| ManualGMTOffsetSummerH | 3 | Hours | Manual summer offset. |
| ManualIsSummerTime | false | Bool | Toggle summer/winter (if Auto is off). |
| ResetGmtDeltasOnInit | false | Bool | Reset GMT deltas on init. |
| TesterUseManualOffset | true | Bool | Important: Force manual offset in tester. |
| TesterGMTOffsetWinterH | 2 | Hours | Tester winter offset. |
| TesterGMTOffsetSummerH | 3 | Hours | Tester summer offset. |
Windows & trading style
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| RangeStartHour/Min | 3 / 0 | h/min | Start of range measurement. |
| RangeEndHour/Min | 6 / 0 | h/min | End of range measurement. |
| TradingArt | day_trading | day_trading/swing_trading | Trading style. |
| LimitOpenPosSym | 1 | Count | Max open positions (mainly for swing). |
| TradingEndHour/Min | 18 / 0 | h/min | End of trading. |
Adaptive times
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| UseAdaptiveTimes | false | Bool | Adapt the time window based on equity. |
| InpAutoAdaptiveTimesOnStress | true | Bool | Tighten during stress (DD). |
| InpAutoAdaptiveResetOnRelief | true | Bool | Loosen on relief. |
| RangeStartHour/Min_Base | 3 / 0 | h/min | Base start time. |
| RangeEndHour/Min_Base | 6 / 0 | h/min | Base end time. |
| TradingEndHour/Min_Base | 18 / 0 | h/min | Base trading end. |
| Step_TimeMinutes | 30 | Minutes | Adjustment step. |
| RangeStart_Min/MaxHour | 1 / 3 | Hours | Bounds for start time. |
| RangeEnd_Min/MaxHour | 4 / 7 | Hours | Bounds for end time. |
| TradingEnd_Min/MaxHour | 16 / 20 | Hours | Bounds for trading end. |
3.11 Breakeven & Trailing
Breakeven
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| brtype | br_mode_off | off/points/factor/percent | Breakeven mode. |
| BRpoints | 100 | Points | Profit distance to move to BE. |
| BRFactor | 2 | Factor | BE at X× risk distance. |
| BRProcent | 50 | % | BE at X% profit. |
| BRBuffer | 10 | Points | Buffer for the BE stop. |
Trailing stop
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| trtype | tr_mode_off | off/points/factor/percent/intelligent/candle | Trailing mode. |
| TRstep | 100 | Points | Step size (0 = continuous). |
| TRpoints | 100 | Points | Trail distance in points. |
| TRFactor | 2 | Factor | Trail by factor. |
| TRProcent | 50 | % | Trail by percent. |
| trailing_value | seventyfive | 25/50/75 | Guaranteed profit lock level. |
Intelligent trailing
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| typeART | tr_in_range | in_points/range_height | Reference: points or range height. |
| TrSpeed | 50 | Points/min | Stop move speed. |
| TimeframeTrailing | PERIOD_M1 | ENUM_TIMEFRAMES | Evaluation TF. |
Candle‑break trailing
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| LookbackBars | 30 | Bars | Search window for last red/green candle. |
| BreakBufferPts | 2 | Points | Buffer above/below high/low. |
| SLBufferPts | 2 | Points | Extra buffer for SL. |
| MinBodyPts | 0 | Points | Doji filter (0 = ignore). |
| ConfirmOnClose | true | Bool | Confirm on candle close only. |
| EqualEpsPts | 0.1 | Points | Epsilon to avoid rounding noise. |
Anti‑flat filters
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| UseProfitGate | true | Bool | Trail only with sufficient profit. |
| MinProfitPts | 20.0 | Points | Minimum profit in points. |
| MinProfitPercBalance | 0.20 | % balance | Minimum profit as % of balance. |
| UseATRFilter | false | Bool | Trail only if ATR is high enough. |
| ATRPeriod | 14 | Period | Period for ATR gate. |
| ATRMinPts | 10.0 | Points | Minimum ATR in points. |
| UseADXFilter | false | Bool | Trail only if ADX ≥ threshold. |
| ADXPeriod | 14 | Period | ADX period. |
| ADXMin | 20.0 | Value | Minimum ADX. |
| ConfirmBodyMinPts | 0 | Points | Minimum body of confirmation candle. |
Partial profits
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| parttype | part_mode_off | off/points/factor/percent | Partial‑close mode (in profit). |
| PARTpoints | 100 | Points | Profit points to trigger partial close. |
| PARTFactor | 2 | Factor | Profit factor to trigger partial close. |
| PARTProcent | 50 | % | Profit percent to trigger partial close. |
| partialtype | procent_50 | 25/50/75/90 | Portion to close. |
3.12 Trading Calendar & UI
Monthly filter (allow trading?)
Jan–Dec booleans (all true by default) — enable/disable months individually.
Weekday filter
Mon–Fri: true; Sat/Sun: false by default.
More settings
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| RangeRefrsh | 3 | Days | Re‑draw range objects every X days. |
| RangeColor | clrDarkOrange | Color | Range background color. |
| ShowRangeMarkers | false | Bool | Show visual range markers. |
Dashboard
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| DashModus | dash_off | off/on | Display info panel. |
| VersionNameColor | clrDodgerBlue | Color | Title color (name/version). |
| dashboardFont | Arial | String | Font family. |
| DashFontSize | 10 | px | Font size. |
| DashboardYOffset | 25 | px | Move panel down. |
Adaptive Panel (HUD)
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| ShowHUD | false | Bool | Show additional HUD. |
| TimeframeShowHud | PERIOD_M1 | ENUM_TIMEFRAMES | Update TF. |
| Xoffset | 15 | px | Move HUD to the right. |
| VerboseLogs | false | Bool | Verbose logs for adaptive logic. |
Statistics Panel
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| ShowPanel | true | Bool | Show statistics panel. |
| HistoryDays | 3650 | Days | Lookback period. |
| FilterSymbol | false | Bool | Limit to current symbol. |
| UiScale | 0.6 | Factor | Panel scaling (1.0 = default). |
| PanelCorner | CORNER_LEFT_UPPER | Corner | Panel alignment. |
| PanelOffsetX | 500 | px | Horizontal offset. |
Chart design
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| InpTheme | THEME_DARK | off/dark/light | Chart theme. |
| InpShowGrid | false | Bool | Show grid. |
| InpShowOHLC | false | Bool | Show OHLC in corner. |
| InpUseCandles | true | Bool | Force candlestick chart. |
Notifications
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| InpSendPush | false | Bool | Send push notifications. |
| InpSendEmail | false | Bool | Send emails. |
| InpEAName | "Range Breakout Beast MT5" | String | Name in the subject. |
| InpShowServerTime | true | Bool | Include server time in text. |
| InpShowLocalTime | true | Bool | Include local time in text. |
| InpLocalTZLabel | "Europe/Berlin" | String | Label for local time zone. |
Debug
| Parameter | Default | Type/Values | Description |
|---|---|---|---|
| DebugLevel | debug_level_off | off/basic/details/full | Verbosity of debug output. |
4) Practical Notes
-
Range quality: If many fakeouts, increase MinPoints/MinProcent , raise BufferPoints , and consider RequireFullBody=true with a higher‑TF CloseTF .
-
Volatility: If too little movement, set typeVola=on and raise InpATRThreshold . If over‑filtered, reduce it.
-
News: Using NEWS_HIGH blocks a lot of time — consider Medium/Low unless you specifically need to avoid all spikes.
-
Risk caps: For prop rules, switch ChallengeType=on and enable the weekly/monthly manager.
-
Trailing/BE: Enable only after the core logic is stable; otherwise you may cut strong moves too early.
-
GMT/Tester: In Strategy Tester, keep TesterUseManualOffset=true and set offsets correctly.
5) Troubleshooting
| Symptom | Possible Cause | Fix |
|---|---|---|
| No trades | News pause, range outside limits, volatility off | Check News/Range/ATR settings. |
| Many false breakouts | Buffer/confirmation too loose | Increase BufferPoints , use RequireFullBody , adjust CloseTF . |
| SL hit too often | SL too tight / noisy market | Revisit SL mode, consider ATR/ADX gates for trailing. |
| Pending orders expire | Expiry too short (if used) | Increase expiry or use market entries. |
6) Glossary
ATR (Average True Range), R**:R** (Risk:Reward), ADX, Swing High/Low, Hysteresis, Doji, GMT Offset.
7) Changelog
-
v1.0 (Draft, Oct 28, 2025): Initial handbook derived from MQL5 inputs.


