BULLION HORIZON EA - HOW TO SET UP

BULLION HORIZON EA - HOW TO SET UP

14 April 2026, 07:57
Kestutis Balciunas
0
44
BULLION HORIZON EA - HOW TO SET UP

INFO

Working Specifications:

  • Symbols: XAUUSD, GOLD, XAUEUR (multi-symbol support)
  • Timeframe: H1 (1-hour)
  • Minimum Deposit: $500 for Low Risk (recommended $1000+ for Medium, $2000+ for High)
  • Leverage: 1:100 or higher recommended
  • Account Type: Any (Hedging account preferred for MT5)
  • Broker: ECN broker with tight gold spreads recommended
  • VPS: Highly recommended for uninterrupted 24/5 operation

Core Features:

  • 4-indicator confluence entry (SMA + RSI + Cycle + Price Action)
  • Three risk modes: Low (single order), Medium (grid), High (aggressive grid)
  • Dynamic grid system with linear lot progression
  • Multi-symbol support (XAUUSD, GOLD, XAUEUR simultaneously)
  • Live News Filter with economic calendar integration
  • Per-weekday trading hour controls
  • Optional trailing stop, recovery mode, and weekly pivot levels
  • Real-time on-chart dashboard with signal breakdown
  • 3 pre-optimized preset files included

STEP 1 - INSTALLATION

For MT5:

  1. Purchase Bullion Horizon EA from the MQL5 Market
  2. The EA installs automatically into your MetaTrader 5 terminal
  3. Open the Navigator panel (Ctrl+N)
  4. Find "Bullion Horizon EA" under Expert Advisors > Market
  5. Drag it onto any Gold chart (XAUUSD, GOLD, or XAUEUR) set to H1 timeframe

For MT4:

  1. Purchase Bullion Horizon EA from the MQL5 Market
  2. The EA installs automatically into your MetaTrader 4 terminal
  3. Open the Navigator panel (Ctrl+N)
  4. Find "Bullion Horizon EA" under Expert Advisors > Market
  5. Drag it onto any Gold chart (XAUUSD, GOLD, or XAUEUR) set to H1 timeframe

Important: Enable WebRequest for News Filter

The News Filter requires internet access to fetch the economic calendar.

MT4: Go to Tools > Options > Expert Advisors > Check "Allow WebRequest for listed URL" and add:

https://nfs.faireconomy.media

MT5: Go to Tools > Options > Expert Advisors > Check "Allow WebRequest for listed URL" and add:

https://nfs.faireconomy.media

Also make sure "Allow algorithmic trading" is enabled.

Load a Preset

In the EA Inputs tab, click Load and select a preset matching your risk tolerance:

  • BH_Conservative_LowRisk.set  - Single order mode, lowest exposure
  • BH_Balanced_MediumRisk.set  - Grid mode, balanced risk/reward
  • BH_Aggressive_HighRisk.set  - Extended grid, maximum opportunity

Click OK to start.


STEP 2 - RISK MODE SELECTION

Bullion Horizon EA offers three distinct risk modes controlled by the SelectRisk parameter:

Low Risk (SelectRisk = Low)

  • Opens a single trade per confluence signal
  • Closes all existing orders before opening a new position
  • Uses fixed TakeProfit and StopLoss distances (default 500 points each)
  • Optional Recovery Mode with martingale-style lot multiplication after losses
  • Recovery Multiplier: 1.59x per failed cycle, max 3 cycles

Best for: Conservative traders, smaller accounts ($500+). Defined risk per trade with no grid exposure.

Medium Risk (SelectRisk = Medium) — DEFAULT

  • Opens an initial trade on confluence signal, then adds grid orders as price moves against the position
  • Grid expands up to OrdersMax (default 8) orders
  • Each grid level adds LotsStep (default 0.01) to the lot size
  • Closes the entire basket when combined profit reaches OrdersProfit ($100 default)
  • Optional fixed SL/TP per individual order via FixedTotalSLTP

Best for: Balanced approach with grid recovery capability. Recommended $1,000+ account.

High Risk (SelectRisk = High)

  • Same grid logic as Medium but with more aggressive defaults
  • Up to 15 orders, tighter spacing (50 points), faster lot stepping
  • Higher profit potential with proportionally higher risk

Best for: Experienced grid traders with $2,000+ accounts who understand martingale-style exposure.


STEP 3 - LOT SIZE CONFIGURATION

Risk-Based Lot Sizing (Default)

When FixedLot = 0 (default), the EA calculates lot size based on your account equity and the RiskPercent parameter:

  • RiskPercent = 2 (default) means 2% of equity is risked per trade
  • The EA uses the StopLoss distance to calculate appropriate lot size
  • Only applies to Low Risk mode and Medium/High with FixedTotalSLTP enabled

Fixed Lot Mode

Set FixedLot to a specific value (e.g., 0.05) to use the same lot size regardless of account size.

Grid Lot Progression (Medium/High Risk)

In grid mode, each subsequent order increases the lot size by LotsStep:

Grid Level Calculation (Lots=0.01, LotsStep=0.01) Lot Size
Level 1 0.01 + (0 × 0.01) 0.01
Level 2 0.01 + (1 × 0.01) 0.02
Level 3 0.01 + (2 × 0.01) 0.03
Level 4 0.01 + (3 × 0.01) 0.04
Level 5 0.01 + (4 × 0.01) 0.05
Level 6 0.01 + (5 × 0.01) 0.06
Level 7 0.01 + (6 × 0.01) 0.07
Level 8 0.01 + (7 × 0.01) 0.08

All lots are normalized to your broker's lot step constraints.

Recovery Mode (Low Risk Only)

When RecoveryMode = true, the EA increases lot size after a losing trade:

Cycle Calculation (Multiplier=1.59) Example (Base=0.01)
Cycle 0 Base lot 0.01
Cycle 1 0.01 × 1.59 0.02
Cycle 2 0.01 × 1.59² 0.03
Cycle 3 0.01 × 1.59³ 0.04

Recovery resets to Cycle 0 after a profitable trade. Maximum cycles capped by RecoveryMaxCycle (default 3).


STEP 4 - GRID SETTINGS

These parameters control how the grid is built and expanded (Medium/High Risk only):

Parameter Default Description
OrdersMax 8 Maximum number of grid orders per side
OrdersStep 500.0 Points between grid levels
OrdersProfit 100.0 Basket profit target in $ (closes all when reached)
Lots 0.01 Base lot size for the first order
LotsStep 0.01 Lot size increase per grid level
FixedTotalSLTP false Place fixed SL/TP on each individual order
Pending false Use pending stop orders instead of market orders

Grid Expansion Logic

BUY Grid: First order opens on a buy signal. Additional orders are placed when price drops OrdersStep points below the last buy order's entry price.

SELL Grid: First order opens on a sell signal. Additional orders are placed when price rises OrdersStep points above the last sell order's entry price.

Basket Close

When the combined floating profit of all buy orders (or all sell orders) reaches the OrdersProfit target, the entire side is closed. The StopAtProfit parameter (default 0) can trigger an earlier close at a percentage of OrdersProfit.


STEP 5 - TAKE PROFIT & STOP LOSS

Per-Order SL/TP (FixedTotalSLTP = true)

When enabled, each individual order receives:

Parameter Default Description
TakeProfit 500.0 Take profit distance in points
StopLoss 500.0 Stop loss distance in points

These are placed directly on the order via the broker server.

Basket Stop Loss (StopLossPercent)

Parameter Default Description
StopLossPercent 100.0 Close all orders of one side when loss exceeds this % of balance

Set to a value less than 100 to activate (e.g., 30 = close basket if loss exceeds 30% of balance). Set to 100 to disable.

Independent for buy and sell sides - each side is evaluated separately.

Stop at Profit

Parameter Default Description
StopAtProfit 0.0 Close basket at this % of OrdersProfit (0 = disabled)

Example: OrdersProfit=100, StopAtProfit=50 means close when basket profit reaches $50.

Disable After Loss

Parameter Default Description
DisableAfterLoss false Completely stop the EA after a StopLossPercent event

When enabled, the EA halts after a loss event. You must remove and reattach the EA to resume.


STEP 6 - TRAILING STOP

The trailing stop activates after individual orders reach a minimum profit threshold.

Parameter Default Description
TrailingStopStart 0.0 Points of profit before trailing activates (0 = disabled)
TrailingStopStep 0.0 Trailing step distance in points

How it works: Once an individual order's profit exceeds TrailingStopStart, the EA sets a stop loss at that distance behind the current price. The SL only moves in the profitable direction and advances in TrailingStopStep increments.

Note: Set TrailingStopStart = 0 to disable trailing entirely. When disabled, the EA relies on basket profit target and StopLossPercent to close positions.


STEP 7 - SIGNAL SETTINGS

All entries require a minimum confluence score from 4 independent indicators. All indicators analyze the H1 timeframe on confirmed (closed) bars.

SMA Trend Strength

Uses 20-period and 50-period Simple Moving Averages:

  • BUY: Close > SMA20 > SMA50 (bullish alignment) = +1 point
  • SELL: Close < SMA20 < SMA50 (bearish alignment) = -1 point

RSI Momentum

Parameter Default Description
RSI_Oversold 35 Buy signal threshold (RSI below this = +1 point)
RSI_Overbought 65 Sell signal threshold (RSI above this = -1 point)

Uses 14-period RSI on H1.

Cycle Momentum

Compares 20-bar momentum vs recent 5-bar momentum:

  • Upward cycle (positive long-term and short-term momentum): +1 point
  • Downward cycle (negative long-term and short-term momentum): -1 point

Price Action Patterns

Detects candlestick patterns and support/resistance proximity:

  • Bullish engulfing pattern: +1 point
  • Bearish engulfing pattern: -1 point
  • Bullish pin bar (long lower wick): +1 point
  • Bearish pin bar (long upper wick): -1 point
  • Near 20-bar support with bullish close: +1 point
  • Near 20-bar resistance with bearish close: -1 point

Confluence Scoring

Parameter Default Description
MinSignalScore 2 Minimum combined score to trigger a trade (1-4)

Total score = SMA + RSI + Cycle + PriceAction (range: -4 to +4)

  • Score >= +MinSignalScore = BUY signal
  • Score <= -MinSignalScore = SELL signal

ATR Volatility Filter

Parameter Default Description
MinATR_Filter 0.0 Minimum H1 ATR value for entry (0 = disabled)

When enabled, blocks entries during low-volatility choppy conditions where false signals are more likely.


STEP 8 - NEWS FILTER CONFIGURATION

Activation

Set NewsFilter = true to enable live economic calendar filtering.

How It Works

  1. The EA fetches the weekly economic calendar from the FairEconomy API every 4 hours
  2. It filters events by currency (USD, EUR) and impact level (High only)
  3. Trading pauses 60 minutes before and resumes 60 minutes after each matching event
  4. If the API is unavailable, a built-in fallback detects major events (NFP, FOMC, CPI, GDP, ECB Rate)

Currency Filter

Parameter Default Description
ReportForUSD true Filter USD high-impact events
ReportForEUR true Filter EUR high-impact events

Timing

Parameter Default Description
doNotTradeBeforeInMinutes 60 Stop trading X minutes before event
doNotTradeAfterInMinutes 60 Resume trading X minutes after event

Holiday Blocking

Parameter Default Description
AllowTradingOnHolidays false Block trading on bank holidays detected in calendar

Keyword-Based Important News Detection

Parameter Default Description
FindKeyword false Enable keyword matching for important events
FindKeywordsList ECB, FOMC, Fed, Federal Funds Rate, Non-Farm Keywords to match
StopLossImportantNews 100.0 Special SL (% of balance) during keyword events
StopAtProfitImportantNews 0.0 Special TP (% of OrdersProfit) during keyword events

When FindKeyword is enabled and a matching event is detected, the EA applies stricter SL/TP rules during the news window.

WebRequest Setup (REQUIRED)

You MUST add the news URL to your platform's allowed list:

MT4/MT5: Tools > Options > Expert Advisors > Allow WebRequest for listed URL > Add:

https://nfs.faireconomy.media

Without this step, the news filter will use only the built-in fallback calendar.


STEP 9 - TRADING HOURS

Per-Weekday Schedule

Bullion Horizon uses local time for trading hour configuration. Each weekday can be independently enabled/disabled with custom start and end times:

Day Default Enabled Default Hours
Monday true 08:00 - 22:00
Tuesday true 08:00 - 22:00
Wednesday true 08:00 - 22:00
Thursday true 08:00 - 22:00
Friday true 08:00 - 20:00

Friday has an earlier close (20:00) by default to reduce weekend gap risk.

24-Hour Mode

Set Trading24h = true to bypass the schedule entirely and trade 24/5.

Timed Close-All

Parameter Default Description
ClosingAllOrders false Enable daily close-all at a specific time
ClosingTime 22:00 Time to close all positions (server time)

When enabled, all open positions across all symbols are closed at the specified time daily.


STEP 10 - GENERAL SETTINGS

Parameter Default Description
Trading GOLD, XAUUSD, XAUEUR Comma-separated list of symbols to trade
TradeComment Bullion Horizon Comment text attached to all orders
MagicNumber 378579 Unique EA identifier for order management
MaxSpread 100.0 Maximum spread filter in points (0 = disabled)
Slippage 50 Maximum acceptable slippage in points
Pending false Use pending stop orders instead of market orders
FIFO false Close oldest orders first (US broker compliance)
System true Master enable/disable for the EA
tradeDirection Buy and Sell Allow both directions (BuyOnly/SellOnly available)

Important: If running multiple instances of Bullion Horizon on the same account, each instance MUST have a unique Magic Number to prevent order conflicts.


PANEL

Once running, the EA displays a real-time dashboard on your chart showing:

  • EA name (BULLION HORIZON EA v2.00) and server time
  • Current symbol and live spread
  • Risk mode (Low / Medium / High)
  • Trade direction (Buy & Sell / Buy Only / Sell Only)
  • Grid status: Buy order count, Sell order count, and max orders
  • Weighted average entry prices for buy and sell sides
  • Total P/L, drawdown percentage
  • Account balance and equity
  • Current signal with individual indicator scores (SMA, RSI, Cycle, PA)
  • EA status message (Trading Active, News Filter Active, Outside Trading Hours, etc.)
  • Next scheduled news event with countdown
  • Recovery cycle progress (Low Risk with RecoveryMode only)

Panel Customization

Set Panel = false to hide the dashboard (reduces CPU usage on VPS).

Weekly Gold Levels

Set GoldWeeklyLevels = true to display weekly pivot points on the chart:

  • Gold dashed lines: Weekly High and Low
  • Blue dotted line: Weekly Pivot
  • Green dotted lines: R1 and R2 (resistance)
  • Red dotted lines: S1 and S2 (support)

PRESETS

3 pre-optimized preset files are included for immediate deployment:

Preset Risk Mode Max Orders Grid Step Basket Profit SL% Lots LotsStep Account
Conservative Low 15 (unused) 70 pts $50 100% 0.05 0.01 $500+
Balanced Medium 10 70 pts $50 30% 0.05 0.01 $1,000+
Aggressive High 15 50 pts $75 100% 0.05 0.02 $2,000+

To load a preset: Open EA Inputs tab > Click Load > Select the matching  .set  file > Click OK.


If you are new to Bullion Horizon, use these settings:

  1. Load the Balanced preset ( BH_Balanced_MediumRisk.set ) for a good starting point
  2. NewsFilter = true (always filter news, especially for gold)
  3. Keep default trading hours (08:00-22:00 weekdays, 08:00-20:00 Friday)
  4. tradeDirection = Buy and Sell (allow both directions for maximum opportunity)
  5. Panel = true (monitor the EA's behavior and signal quality)
  6. Start on Demo (test for at least 2-4 weeks before going live)
  7. Do not increase OrdersMax until you understand grid risk and have tested extensively

IMPORTANT NOTES

  1. Symbol: Bullion Horizon is optimized for gold instruments (XAUUSD, GOLD, XAUEUR) on H1. The EA will warn you if attached to a non-gold symbol but will still run. Results on non-gold symbols are not guaranteed.

  2. Timeframe: The EA is designed for H1 (1-hour). Using other timeframes will produce different signal characteristics and is not recommended without re-optimization.

  3. Multi-Symbol: The Trading parameter accepts a comma-separated list of symbols. The EA validates each symbol exists on your broker. Each symbol is managed independently with its own grid state.

  4. VPS: For best results, run on a VPS located close to your broker's server. H1 signals are less time-sensitive than M1, but consistent connectivity ensures proper grid management.

  5. Broker: Choose an ECN broker with tight gold spreads (under 50 points). Wide spreads will trigger the MaxSpread filter and prevent trading.

  6. WebRequest: The news filter REQUIRES the WebRequest URL to be added in platform settings. Without it, only the pattern-based fallback works.

  7. Grid Risk: Medium and High risk modes with grid expansion increase exposure as price moves against you. A 10-level grid with LotsStep=0.01 results in total lots of 0.01+0.02+...+0.10 = 0.55 lots. Always test on demo first and use StopLossPercent to cap maximum loss.

  8. FIFO Compliance: If your broker requires FIFO order closing (common with US brokers), set FIFO=true. The EA will close oldest orders first instead of newest first.

  9. Broker Digits: The EA automatically detects 2-digit vs 3-digit gold pricing and adjusts point calculations accordingly.


CONTACT & SUPPORT