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:
{
"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:
{
"symbol": "XAUUSD",
"side": "BUY",
"strategy": "manual-gold",
"price": {{close}}
}FieldsField reference
| Field | Type | Notes | |
|---|---|---|---|
| symbol | string | required | Broker symbol name exactly as it appears in MT5, e.g. EURUSD, XAUUSD, US500.cash. Must match your broker's naming. |
| side | string | required | Direction of the trade. Accepts BUY or SELL (case-insensitive). |
| strategy | string | optional | Any label for your own reference. Shown in the Alerts log in the dashboard. Does not affect execution. |
| price | number | optional | Alert 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 shows | MT5 broker may use |
|---|---|
| EURUSD | EURUSD |
| GOLD | XAUUSD |
| SPX500USD | US500.cash |
| BTCUSD | BTCUSD 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.