BullionDocs

TradingView

Alert Payload

The JSON payload you send in the TradingView alert message body. Two fields are required; the rest is for your own logging and audit trail.

ExampleExample payload

Paste this directly into the TradingView alert Message field — the placeholders expand at alert time:

json
{
  "symbol":   "{{ticker}}",
  "side":     "{{strategy.order.action}}",
  "strategy": "breakout-v2",
  "price":    {{close}}
}

For manual one-sided alerts (not from a strategy), use a static side value:

json
{
  "symbol":   "XAUUSD",
  "side":     "BUY",
  "strategy": "manual-gold",
  "price":    {{close}}
}

FieldsField reference

FieldTypeNotes
symbolstringrequiredBroker symbol name exactly as it appears in MT5, e.g. EURUSD, XAUUSD, US500.cash. Must match your broker's naming.
sidestringrequiredDirection of the trade. Accepts BUY or SELL (case-insensitive).
strategystringoptionalAny label for your own reference. Shown in the Alerts log in the dashboard. Does not affect execution.
pricenumberoptionalAlert price for logging only. Bullion places market orders — this value is recorded but not used for execution.

SymbolSymbol naming

The symbol field must match exactly what your broker uses in MT5 — not TradingView's symbol name. These often differ. For example:

TradingView showsMT5 broker may use
EURUSDEURUSD
GOLDXAUUSD
SPX500USDUS500.cash
BTCUSDBTCUSD or BTC/USD

Check your broker's symbol list in MT5 under View → Symbols to confirm the exact name. A symbol mismatch will cause the order to be rejected by MT5 — you'll see the error in the dashboard Logs page.

DeduplicationDeduplication

The backend computes a SHA-256 hash of the raw request body and stores it with a 5-minute TTL. If an identical payload arrives within that window, the backend returns { "status": "deduplicated" } and no execution job is created. This prevents duplicate orders from TradingView's built-in webhook retry logic.

Different payloads are not deduplicated. If your strategy fires a BUY and then immediately a SELL on the same symbol, those are different hashes and both will execute. Deduplication only prevents exact retries of the same alert.