Put this in the alert's Message field. You can also copy it from Settings → Advanced → TradingView Alerts → Alert message:
{
"instrument": "{{ticker}}",
"direction": "BUY",
"entry": {{close}},
"sl": 0.0000,
"tp1": 0.0000
}Replace both 0.0000 values with real prices. An alert with a stop-loss or take-profit of 0 is rejected.
Fields
| Field | Required | Meaning |
|---|---|---|
| instrument | yes | The instrument, for example {{ticker}}. Also accepted: ticker, symbol, pair. PipSync upper-cases it and removes everything except letters and digits; GOLD becomes XAUUSD. |
| direction | yes | buy, long or call for a buy; sell, short or put for a sell, in any capitalisation. Also accepted under the names action, side and order, so {{strategy.order.action}} works. |
| entry | yes | Entry price, greater than 0. Also accepted: entryPrice, price, close. A price of 0 is not read as "market". |
| sl | yes | Stop-loss price, greater than 0. Also accepted: stopLoss, stop_loss, stoploss. |
| tp1 | yes, at least one | Take-profit price, greater than 0. Use tp (or takeProfit) for a single target, tp1 to tp5 for several, or takeProfits as a list. Several targets share the position equally unless the list form gives percentages. |
comment and other unknown fields are ignored. A size field never sets the size: an alert that names its own size or risk (for example lots, qty, contracts, size, volume, units, amount or risk) is never traded automatically and is saved as a signal for your approval. There is no close action: a direction other than buy or sell is rejected, and PipSync does not close positions from TradingView alerts.
What gets an alert rejected
PipSync answers HTTP 422 and creates no signal when the instrument, direction, entry, stop-loss or at least one take-profit is missing, is not a number, or is 0 or below. The reason is listed under Recent alerts, for example "Missing or invalid stop loss" or "Missing take profit levels".
Two things that break it
- Invalid JSON. One missing comma, or a smart quote pasted from a document, and the payload is no longer JSON. PipSync then tries to read it as plain text, which almost always ends in an error such as "Could not extract entry price". Plain-text alerts are read on a best-effort basis and can misread a level, for example a decimal comma (
TP 1,0950) or a level number written straight against the price (TP21.0950), so they are never traded automatically: a plain-text alert is always saved as a signal for your approval. - The instrument's name.
{{ticker}}gives TradingView's spelling, which may differ from your broker's. There is no mapping setting for alerts. If your broker spells an instrument differently, message us in the support chat with the symbol and the broker.
What happens next
A valid alert becomes a signal named "TradingView Alert" on the Signals page and is scored like any other signal. Unless you have switched on TradingView auto-trading, PipSync places no order from it — open the signal on the Signals page to review it. When auto-trading is on, see Auto-trading TradingView alerts for when an alert is traded and when it is kept as a signal.
Verifying
Fire the alert once, then open Settings → Advanced → TradingView Alerts and look at Recent alerts (the last 20 alerts received on your URL). Each call is listed with instrument, direction, status and — if it was rejected — the exact error.