The Impossible Bullion — Optimisation & Set File Guide

The Impossible Bullion — Optimisation & Set File Guide

4 June 2026, 16:11
MORTAH Technology Limited
0
426

The Impossible Bullion v3.41 — Optimisation & Settings Guide

This guide explains Bullion's inputs, how to configure RSI and the economic-calendar news filter, and how to test your own settings for different brokers and prop-rule environments. For general product information see the Bullion product page.

Quick link Purpose
MQL5 private message Product support and configuration questions
MQL5 product comments Product questions and public support
Discord community Forward-test discussion, setup help, release notices, trader chat
Live signal Live signal coming soon
Product page Market listing, updates, screenshots, public comments


Recommended Raw ECN Broker

The Impossible Bullion has been extensively tested across multiple broker conditions. For live raw-ECN execution on XAUUSD, we recommend RoboForex for tighter pricing and cleaner execution with this strategy profile.

Open Recommended Raw ECN Broker (RoboForex)

Configure and test your own profile using the parameter reference below. Product support is available through MQL5 comments or private message; this guide focuses on explaining the settings rather than supplying broker-matched files.

⚠️ Important

  • Always demo test first for at least 2 to 4 weeks before trading live or funded
  • Prop firms change rules; always verify your current DD clause yourself before enabling PropFirm mode
  • News filter uses the MT5 calendar and does not work in Strategy Tester
  • Past performance and backtests do not guarantee future results
  • The guide below explains how settings behave; changing key parameters without re-testing creates a new strategy profile

Starting Point

When examples below do not specify an environment, assume a raw / ECN retail-style baseline with tight spread and commission pricing. That is the cleanest starting point for Bullion because spreads are tighter, fills are cleaner, and spread-related filters can stay more selective.

RoboForex ECN Demo Test Set (2026)

Download the attached robo_market_200_bboff_buyblock55_2026.set file from this blog post. It was tested on RoboForex ECN XAUUSD M5, but can also be loaded as a starting point with other brokers and prop accounts. Demo users can open MT5 Strategy Tester, select The Impossible Bullion on XAUUSD M5, choose Inputs > Load, and select the downloaded .set file. Use Every tick based on real ticks and select deposit currency rather than profit in pips when comparing monetary results.

The set uses 2% risk per trade, a minimum entry score of 83, an ATR ceiling of 0.10% and a 200-pip maximum range. It turns off the Bollinger exhaustion block, keeps RSI scoring bands at BUY 50–60 and SELL 30–40, and blocks BUY entries when RSI reaches 55 or higher. Prop-firm mode and standalone daily/total drawdown stops are off; the MT5 calendar news filter is enabled but does not operate in Strategy Tester. Do not use this 2% risk setting on a funded or prop account without adapting it to your own limits.

For another broker, review the symbol specification, typical spread, commission, session hours and lot sizing before testing. For a prop account, configure its exact daily and total drawdown rules, risk per trade and trade caps; the supplied set does not enforce prop limits. Adjust the relevant inputs in the reference below, then backtest on your broker's data and demo-test the result. The same settings can behave differently across feeds, and the RoboForex result is not a performance guarantee elsewhere.

On RoboForex ECN real-tick data from 1 January through 28 September 2026, with a $100,000 USD test deposit. It was tuned for that environment and performed better there than unconfigured application defaults; a different feed, spread/commission profile, test window or modelling mode can change the result substantially. Run your own backtests and demo forward test before considering live use. The file is provided as a testing starting point, not a guarantee of returns or an offer of broker-matched set files.

Backtest mode reminder: Bullion's multi-window optimization tests used Every tick based on real ticks. Use real-tick mode for final validation when sufficient broker tick history is available; Every Tick or 1 Minute OHLC can speed up exploratory runs. Keep the broker feed, symbol, test dates, and inputs consistent when comparing results.

Strategy Tester: Validate Your Configuration

Save your chosen inputs as an MT5 .set file and reload it for repeatable Strategy Tester runs. This checks your configuration against the selected symbol, timeframe, and broker data; the MT5 Economic Calendar news filter is unavailable in Strategy Tester.

Step What to do Why it matters
1 Select The Impossible Bullion on XAUUSD M5 in Strategy Tester This is the documented baseline; confirm your broker's symbol name and timeframe.
2 Load your saved .set file in Inputs Ensures repeat runs use your intended configuration, not terminal defaults.
3 Use Every tick based on real ticks when broker tick history covers the test window; use Every Tick or 1 Minute OHLC for quicker exploratory passes Real ticks provide the recorded tick sequence; consistent broker history and settings are essential for repeatable comparisons.
4 Run an in-sample and out-of-sample window, then compare trade quality and DD behavior Checks profile stability, not just one period's headline result.
5 Only change one major parameter at a time, then re-test Multiple simultaneous edits create a new unvalidated strategy profile.

Using Real Ticks for Bullion Validation

Bullion's weekly regime filter reads completed W1 data from MT5 history to decide directional gating and trade permission. The available history and broker's weekly session boundaries can affect those values, so load sufficient W1 history and keep broker, symbol, and date range consistent when comparing runs.

Every tick based on real ticks is a supported final-validation mode; Bullion's multi-window optimization tests used it. The former blanket advice to avoid real ticks was too strong. Every Tick and 1 Minute OHLC remain useful for faster screening, but modeling modes are not interchangeable. The MT5 Economic Calendar news filter is unavailable in Strategy Tester regardless of the selected mode.

Environment Use when Main adjustments
Raw / ECN retail baseline Tight spread XAUUSD, commission model, no prop DD rules Moderate MaxSpread, PropFirm OFF, static risk, tighter spread filtering
Wider raw retail Still commission-based, but spread spikes more often Raise MaxSpread modestly, keep SpreadMultiplier realistic, re-check trailing profile
Standard 10/5 challenge-style prop Typical 10% max / 5% daily rule set Enable PropFirm, set PropMaxDD / PropDailyDD correctly, use conservative risk and trade caps
Stricter 6/3 prop Narrower 6% max / 3% daily rule set Lower risk, earlier Yellow / Red zones, stricter spread acceptance, more conservative trade frequency

Spread, Execution, And Rule Mapping

Spread Calibration

Observed XAUUSD conditions Typical approach What usually changes
Very tight raw / ECN Keep entry filter selective Lower MaxSpread, lower tolerance for random spread spikes
Acceptable but wider raw Allow slightly more entry tolerance without normalising bad execution Raise MaxSpread moderately, keep SpreadMultiplier realistic
Standard-spread account Not preferred for Bullion Re-test before use; wider spread often requires materially different TP / SL behavior and lower expectancy

Do not raise MaxSpread just to force more trades. If valid trades are being blocked, first confirm your real spread distribution during Bullion's trading hours. A spread filter that is too loose can turn a carefully tested configuration into a low-quality execution profile.

Prop Rule Calibration

Rule style Key inputs to review Notes
Standard 10/5 challenge-style EnablePropFirm, PropMaxDD, PropDailyDD, PropDDMode, Yellow/Red/Dead thresholds Use the exact daily / total DD rules published by your firm, not a brand name assumption
Stricter 6/3 prop Same inputs as above, with lower risk and earlier zone tightening Usually requires lower risk-per-trade and tighter trade-frequency discipline
Trailing DD floor PropDDMode=DD_TRAILING_HWM Use only if the firm truly ratchets the DD floor with peak equity / balance
Static start-balance DD floor PropDDMode=DD_STATIC_INITIAL Most common choice for standard challenge accounts

Settings Reference

The tables below explain what each group of parameters does and how to think about the trade-offs. They are configuration notes, not optimisation promises.

New in v3.41: RSI Entry Configuration

RSI contributes up to 25 points to the strategy confirmation score; it is not a standalone entry signal. The score bands tune how RSI confirms a buy or sell setup. The optional hard block is independent and can reject an exhausted breakout even when the other entry conditions pass.

Parameter Default What it does / how to configure it
RSIScoreBuyMin / RSIScoreBuyMax 55 / 72 Buy RSI band. RSI inside this range earns full RSI confirmation; values outside it receive a reduced or neutral component.
RSIScoreSellMin / RSIScoreSellMax 28 / 45 Sell RSI band. RSI inside this range earns full RSI confirmation; values outside it receive a reduced or neutral component.
BlockExtremeRSI false When enabled, rejects buy or sell breakouts that meet the corresponding hard-block threshold. Leave off to use RSI only as a score component.
RSIHardBlockBuyAbove 72 With BlockExtremeRSI enabled, blocks buys when RSI is at or above this value.
RSIHardBlockSellBelow 28 With BlockExtremeRSI enabled, blocks sells when RSI is at or below this value.

Start with the defaults, then adjust one boundary at a time and compare in-sample and out-of-sample results. Keep the score bands distinct from hard-block behavior: changing a score range changes confirmation points, while enabling the hard block prevents qualifying entries altogether.

1. Strategy Core

Parameter What it changes Practical guidance
Timeframe Chart timeframe Bullion reads for entry logic Use XAUUSD M5. Do not treat other timeframes as equivalent.
LookbackBars Size of the breakout range window Lower values react faster; higher values need more structure before breakout.
BufferPips Distance beyond the range required before entry qualifies Raise it if you want fewer, cleaner breakouts; lower it if entries are too delayed.
MinRangePips Minimum range size required to consider the setup valid Raise it to avoid compressed sessions; lower it only if you have tested thin-range behavior carefully.
MaxRangePips Upper limit on range size Usually left wide. Lower only if extremely expanded pre-breakout sessions are polluting entries.
MinScoreToTrade Primary quality threshold for Bullion's scoring engine One of the most sensitive settings. Raising it usually reduces frequency and can improve selectivity; lowering it usually increases activity and noise.
MaxScoreToTrade Optional upper band limit Normally leave at 0 (off). Useful only for research or band testing.

2. D1 Gate And D1 Classifier

Parameter What it changes Practical guidance
RegimeGateEnabled Enables the lightweight D1 ADX chop gate Good first layer if you want simple chop rejection before enabling the full D1 classifier.
RegimeGateTF Timeframe used for the gate ADX Leave at D1 unless you are deliberately researching a different regime horizon.
RegimeGatePeriod ADX period for the simple gate Higher values smooth more; lower values react faster and can flicker more.
RegimeGateMinADX Minimum ADX needed for entries to stay open to new trades Raise it to block more choppy days; lower it to allow more marginal regimes.
RegimeClassifierEnabled Enables the full 5-factor D1 regime classifier More advanced than the simple gate. Best enabled only after observation and logging.
RegimeClassifierMode 0=diagnostic, 1=block chop, 2=direction-aware Use diagnostic first if you are not sure how the votes behave on your broker feed.
RegimeAdxTrendMin ADX threshold for trend vote Raise for stricter trend recognition; lower for more permissive trend votes.
RegimeAdxChopMax ADX threshold for chop vote Higher values classify more days as chop; lower values require cleaner trendlessness before blocking.
RegimeAtrPctMax ATR % ceiling used inside the classifier Controls how stretched daily conditions are interpreted. Do not change casually.
RegimeDiagCSV Writes classifier diagnostics to file Recommended before enabling live blocking in a new environment.
MaxHoldBars Maximum bar duration for any open trade Useful if you want to prevent extended holds on M5.
CooldownBars Pause between trades after a close Useful to suppress rapid re-entry loops in volatile periods.

3. Session Filter

Parameter What it changes Practical guidance
SessionStart / SessionEnd Main trading window in GMT Use the liquid part of the day for XAUUSD. All-hours configurations typically sit around London through New York.
ExcludeStart / ExcludeEnd Optional sub-window inside the main session where entries are suppressed Use only if your testing shows a reliably poor intraday pocket.
BlockMonday ... BlockFriday Per-day trading switches Useful if one weekday is consistently weak on your broker feed.

Bullion supports SessionStart > SessionEnd for overnight windows that wrap midnight. That allows one continuous session without splitting into two charts.

4. Risk

Parameter What it changes Practical guidance
RiskPerTrade Percent of equity risked per trade when using dynamic sizing Lower it first on prop accounts. This is the first place to reduce aggression.
CompoundAggressive Whether sizing compounds with current equity Leave on for normal compounding; turn off if you want steadier sizing relative to start balance.
FixedLots Overrides risk-based sizing with a fixed lot size Use only if you intentionally want manual lot control.
MinLotSize / MaxLotSize Caps on calculated position size Important for very small or very large accounts.
MagicNumber Unique trade identifier Change when running multiple Bullion instances on one terminal.

5. TP / SL And Spread

Parameter What it changes Practical guidance
TP_Pips Fixed take-profit distance One of the core expectancy settings. Do not alter without re-testing the full exit profile.
SL_Pips Fixed stop-loss distance Must be considered together with trailing and breakeven behavior.
MaxSpread Hard entry block above this spread level Match this to your real XAUUSD spread distribution. Too high usually harms quality more than it helps activity.
SpreadMultiplier Minimum-stop safety buffer relative to spread Higher values are more conservative. Use realistic values for ECN/raw execution.

6. ATR Scaling

Parameter What it changes Practical guidance
UseATRScaling Replaces fixed TP / SL with ATR-based values Leave off unless you are intentionally building and testing a volatility-adaptive profile.
SL_ATR_Mult ATR multiplier used for stop-loss Lower = tighter stop; higher = more room.
TP_ATR_Mult ATR multiplier used for take-profit Usually kept above the SL multiplier to preserve a healthy reward structure.

7. Trade Management

Parameter What it changes Practical guidance
UseBreakeven Moves stop after price reaches a trigger Can reduce left-tail risk, but can also cut good trades too early if the trigger is too tight.
BreakevenTrigger Profit distance before breakeven activates Lower values protect earlier but often reduce follow-through room.
BreakevenOffset Offset beyond entry after breakeven fires Useful if you want small locked profit instead of exact flat break-even.
UseTrailingStop Enables trailing stop management One of Bullion's most important exit tools.
TrailingStart Profit distance before trailing begins Lower = earlier protection; higher = more room for trade development.
TrailingStep Distance maintained once trailing is active Tighter values lock profit faster but can choke runners.
EnableTPExtension Enables Progressive TP Extension Bullion-exclusive feature. Useful when strong moves regularly push beyond the first TP.
ExtendTPTriggerATR How close price must get before extension logic arms Lower values trigger later; higher values trigger earlier.
ExtendTPByPips How far TP is pushed each time Larger steps chase bigger runners but can also delay realization.
ExtendTPMaxCount Max number of TP extensions 0 means unlimited.
ExtendTPRatchetSL Whether SL is shifted when TP extends Mainly useful if trailing is off and you still want additional protection.

8. Protection

Parameter What it changes Practical guidance
MaxDrawdown Total account-level halt threshold Set it to your personal or firm risk ceiling.
MaxDailyLoss Daily halt threshold Critical for funded or challenge-style accounts.
MaxOpenTrades Maximum concurrent positions Default one-trade structure is the safest baseline.
MaxTradesPerDay Daily trade cap Use to prevent overtrading during noisy sessions.
MaxConsecLosses Daily stop after a losing streak Useful if the strategy degrades sharply once regime quality falls.

9. News Filter

The MT5 Economic Calendar supplies event times, currencies, names, and impact. When EnableNewsFilter is on, Bullion blocks new baskets around matching high-impact events; it does not close an existing basket. With the filter off, the dashboard can still monitor calendar events. A matching event must pass both the currency and keyword filters.

Parameter Default What it changes / practical guidance
EnableNewsFilter false Enables entry blocking around matching high-impact events. Leave off for dashboard monitoring without blocking.
NewsMinutesBefore / NewsMinutesAfter 30 / 15 Blackout minutes before and after an event. Widen these windows only if your feed remains unstable around releases.
NewsCurrencyWhitelist USD Comma-separated event currencies. Empty uses the chart symbol's base and profit currencies.
NewsKeywordWhitelist CPI,NFP,FOMC,PCE,POWELL,GDP,PMI Comma-separated text matched against event names. Empty accepts every event name that passes the currency filter.
ShowNewsPanelSection true Shows or hides the dashboard's NEWS section.
ShowUpcomingNewsInfo / NewsLookaheadMinutes true / 1440 Shows the next matching event and sets how far ahead the panel searches.
NewsPanelMinImpact Moderate Controls the minimum impact shown in the panel; entry blocking still checks high-impact events.
NewsPanelVerbosity Detailed Choose compact or detailed dashboard rows. Currency and event-name display can also be toggled.
NewsPanelRefreshSeconds 20 Sets the calendar-panel refresh interval; the minimum effective interval is 5 seconds.
NewsAlertLeadMinutes 20 Minutes before an upcoming event to issue alerts; set to 0 to disable the lead alert.
EnableNewsPopupAlert / EnableNewsPushAlert / EnableNewsSoundAlert false Optional terminal popup, push, and sound alerts before matching events.

The panel reports whether an event is near and shows the next event within the look-ahead window. Currency and keyword lists are comma-separated; matching is case-insensitive. The calendar is unavailable in Strategy Tester, so validate the filter and alerts on a demo or live terminal with calendar access.

10. Shield

Parameter What it changes Practical guidance
EnableShield Enables the equity-peak circuit breaker Useful when you want the EA to stand down after giving back too much from a peak.
ShieldArmPct Profit milestone before Shield fully arms Higher means Shield waits longer before becoming active.
ShieldDrawdownPct Drawdown from shield peak that triggers it Lower values protect faster; higher values allow more giveback.
ShieldRecovery 0=permanent, 1=next day, 2=recovery-based reset Choose the reset style that matches your account management rules.
ShieldRecoveryPct Required recovery before re-enable in recovery mode Only used when ShieldRecovery=2.

11. Prop Firm Mode

Parameter What it changes Practical guidance
EnablePropFirm Turns on zone-based risk control Enable only when the account is actually governed by explicit DD rules.
PropMaxDD / PropDailyDD Maximum total and daily DD limits These must match your actual firm rules exactly.
PropYellowPct / PropRedPct / PropDeadPct Thresholds for zone changes More conservative profiles move into Yellow and Red earlier.
YellowRiskMult / RedRiskMult Risk reduction inside warning zones Lower multipliers reduce size more aggressively as DD budget is consumed.
YellowMaxTrades / RedMaxTrades Trade cap overrides in warning zones Useful for cutting trade frequency as the account approaches limits.
YellowMinScore / RedMinScore Minimum score floors inside warning zones Raise to demand cleaner setups while under stress.
PropStartBalance Reference start balance for DD calculations Leave at 0 for auto-history reconstruction unless you specifically need manual override.
PropDDMode Static or trailing DD floor Use the firm's actual rule wording, not marketing shorthand, to choose the mode.

12. Weekly Regime Filter

Parameter What it changes Practical guidance
EnableRegimeFilter Enables W1 trend detection Core Bullion filter. Normally left on.
RegimeEMAPeriod Weekly EMA period used by the filter Lower reacts faster; higher smooths more.
RegimeLookback How many W1 bars are used for slope reading Higher values create a slower, more stable trend state.
RegimeMinSlope Minimum slope magnitude to classify trend Raise it to avoid weak-trend classification; lower it to accept softer trend states.
TrendMode How trade direction is allowed relative to the weekly trend Bullion-specific directional control. Use the mode matrix below for weekly UP, DN, and FLAT behavior.
Mode Weekly trend UP Weekly trend DN Weekly FLAT
TREND_BOTH Buys & sells Buys & sells Buys & sells
TREND_WITH_ONLY (default) Buys only Sells only Buys & sells
TREND_WITH_SKIP_FLAT Buys only Sells only No trades
TREND_BUY_ONLY Buys only Buys only Buys only
TREND_SELL_ONLY Sells only Sells only Sells only

TREND_WITH_ONLY is the default for Bullion. Use TREND_BOTH if you want Gold-style both-direction behavior, TREND_WITH_SKIP_FLAT if you want the EA to stand aside when the weekly trend is unclear, and TREND_BUY_ONLY / TREND_SELL_ONLY for pure directional overlays.

13. Additional Prop Filters

Parameter What it changes Practical guidance
EnablePropFilters Master switch for the additional prop-only filters Useful when you want extra protection beyond the normal score and regime stack.
FilterCounterTrendH1 Blocks entries against H1 EMA50 slope Can reduce counter-trend exposure, but may also cut valid reversals.
FilterMinADX Blocks low-ADX entries Use with care; it can overlap with other trend-strength filters.
MinADXForEntry ADX threshold used by FilterMinADX Higher values allow only stronger momentum states.

14. Audit, Direction Exclusions, Discord, And Display

Parameter What it changes Practical guidance
LogTradeFactors Writes per-trade score audit CSV Enable when diagnosing why trades did or did not happen.
AuditCSVPrefix Sets the audit filename prefix Useful when separating logs by environment.
BuyExcludeStart / End Suppresses buys during selected GMT hours Use only if a directional intraday bias is consistently poor on your broker.
BuyExclude2Start / End Second buy exclusion zone Use if you need two separate buy-suppression windows.
SellExcludeStart / End Suppresses sells during selected GMT hours Same logic as buy exclusions.
DiscordWebhookURL Main Discord webhook Blank disables alerts.
DiscordRecapWebhookURL Optional separate recap webhook Leave blank to reuse the main webhook.
DiscordAlertOnOpen / Close Trade event alerts Normal live-monitoring settings.
DiscordWeeklyRecap Monday performance recap Useful for VPS-based unattended monitoring.
DiscordStartupPing Startup confirmation message Strongly recommended for VPS setups.
SetDescription Instance label shown on dashboard and in alerts Important if you run multiple Bullion charts.
ShowDashboard Shows the on-chart panel Usually left on.
ShowChartExtras Extra overlays and labels Personal preference unless you want a cleaner chart.
ShowATRWarning Displays elevated daily ATR warning Recommended on.
DebugMode Verbose logging Use only when troubleshooting.

Example Configuration Logic

Situation Usually review first Why
Broker spread is tighter than expected MaxSpread You may be able to keep entry quality tighter without losing valid trades.
Broker spread is wider than raw baseline MaxSpread, SpreadMultiplier, TP / SL behavior Do not simply lift MaxSpread aggressively; confirm the entire exit structure still makes sense.
10/5 challenge account EnablePropFirm, PropMaxDD, PropDailyDD, PropDDMode, risk, trade caps The rule framework matters more than brand naming.
6/3 account Same as above, but with lower risk and earlier zone tightening Narrower DD tolerance requires faster defensive behavior.
Too many low-quality entries MinScoreToTrade, RegimeGateEnabled, RegimeClassifier Raise selectivity before touching exits.
Too many trades in poor intraday pockets Session window, exclusion hours, weekday blocks Time-of-day filtering often fixes this more cleanly than changing score thresholds.
Good trades stop out too early TrailingStart, TrailingStep, breakeven, SL structure Exit logic is usually the issue, not entry logic.

Deployment Checklist

  1. Attach Bullion to XAUUSD M5
  2. Confirm broker symbol, digits, and spread behavior
  3. Set your core environment: retail raw, wider raw, standard 10/5 prop, or stricter 6/3 prop
  4. Verify PropDDMode against the firm's actual rule wording if funded / challenge
  5. Set a unique MagicNumber and meaningful SetDescription
  6. Configure Discord webhook if you want live monitoring
  7. Demo test for 2 to 4 weeks
  8. Only then move to live or funded deployment

Final Notes

This guide explains how to configure Bullion intelligently. It does not replace broker-specific or rule-specific testing. The same EA can behave differently across feeds because spread, slippage, execution style, and DD rules materially affect the realised profile.

For product or configuration support, use MQL5 comments or send a private message to the seller. For community setup discussion and release updates, use the Discord details linked near the top of this guide.

Past performance does not guarantee future results. Trading involves significant risk. Only trade with capital you can afford to lose.

All broker and prop firm names are trademarks of their respective owners. The developer is not affiliated with, endorsed by, or sponsored by any named broker or firm.