Summary: A systematic approach combining trend-following grid entries with a hedging layer for XAUUSD. Avoids martingale. Focuses on surviving trends while profiting from oscillations.




Title: Trend-Following Grid and Hedging Strategy for Gold: A Non-Martingale Approach

Gold (XAUUSD) presents a unique challenge: it trends powerfully but spends most of its time ranging . A pure grid dies in a breakout. A pure trend system gets chopped to pieces. The solution is a hybrid: a trend-following grid with a hedging overlay. This article outlines a mature, non-martingale logic designed for the 4H to Daily timeframe.

1. Core Concept: The Two-Phase Logic
Unlike a martingale (which doubles down to recoup losses), this system uses a fixed-lot grid to lower average entry price, paired with a hedge trigger to cap drawdown during strong breakouts .
  • Phase 1 (Oscillation): The EA places a grid of limit orders above and below the current price. As price oscillates, it collects small profits.

  • Phase 2 (Trend/Hedge): If the grid reaches a maximum size (e.g., 5 open positions) and price still moves against the initial direction, the system opens a hedge position in the opposite direction instead of adding more risk.


  • 2. Specific Parameters for XAUUSD
    Based on Gold’s average true range (ATR) of ~18-25 on 4H, use these settings :
  • Grid Spacing: 1.5x ATR (approx. 30-40 pips). Do not use fixed pip values; use ATR-based dynamic spacing.

  • Grid Layers: Max 5 levels per direction.

  • Lot Size: Fixed (e.g., 0.01 per $1000 account equity). No multiplication.

  • Hedge Trigger: Activate when the total loss of the grid reaches 3% of account balance.

  • Hedge Distance: Open the hedge 2x ATR beyond the last grid level.


  • 3. Simplified EA Logic Snippet
    ```python
    # Trend-Following Grid with Hedge (Pseudo-code for MT5)
    if not hedge_active:
    if price crosses above grid_line_buy and buy_positions < max_layers:
    open_buy(volume=fixed_lot)
    set_tp(grid_spacing * 0.8) # Take profit on oscillation
    # Check for hedge trigger
    if total_grid_loss >= max_risk_pct * account_balance:
    activate_hedge()
    open_sell(volume=total_grid_volume * 0.5) # Hedge half the risk
    if hedge_active:
    # Wait for price to revert, close hedge profit first, then grid
    if hedge_profit > total_grid_loss:
    close_hedge()
    close_all_grid_trades() # Exit the mess
    ```

    4. Why This Works for Ranging Markets
    Statistical data shows that commodity ratios (like Gold/Silver) oscillate 67% of the time . A standard grid capitalizes on this. The hedge is *not* a second grid; it is a dynamic stop-loss. It locks the floating loss without closing the original position, allowing you to wait for the range to return.

    5. Mandatory Risk Rules
  • Max Drawdown Limit: Hard stop at 15% monthly. If hit, close everything and stop trading for 24 hours.

  • Hedge Ratio: Never hedge 1:1. Hedge only 50-70% of the grid volume. Full hedging turns you into a market maker paying swap for no reason.

  • Swap Management: Gold CFDs carry high overnight swaps. Run this strategy mainly during high-volatility sessions (London/NY overlap) and close everything before the weekend .


  • Reference:
  • Elder, A. (1993). *Come Into My Trading Room.* Barron's.

  • Kaufman, P. J. (2013). *Trading Systems and Methods.* Wiley.

  • MQL5 Market. (2025). *Product Philosophy for Gold 4 Gold EA.*