TickerShare parses two formats. JSON is the primary format and a plain line format works as a fallback. The raw message is always preserved, so forward-as-is mode can send exactly what you wrote.
JSON (primary)
{
"symbol": "{{ticker}}",
"side": "buy",
"price": "{{close}}",
"entry2": "",
"tp1": "", "tp2": "", "tp3": "", "tp4": "", "tp5": "", "tp6": "",
"sl": "",
"lev": "",
"margin": "",
"tf": "{{interval}}",
"note": ""
}Every field except symbol is optional. Blank fields simply drop off the card and message. No "N/A", no empty boxes.
Line format (fallback)
A plain non-JSON alert works via the line parser:
symbol: XAUUSD side: sell price: 4175 tp1: 4145 sl: 4182
Both key: value and key=value lines are accepted.
Field reference
symbol: the only required field. Use{{ticker}}to fill it live.side: a side that mentionsbuyorlongdraws a green BUY card,sellorshorta red SELL card. An exit likeExit Long, or any other word, posts as a text message that shows your word exactly as sent, never as a card. See Buy, sell and other side words.price: the entry. Withentry2set, the entry renders as a zone (X – Y).tp1totp6: up to six targets. They auto-fit on the card: 4 or fewer sit in one row, 5 to 6 wrap to a second row.sl: stop loss.lev: leverage as free text, so ranges like 10x-20x pass through.margin: margin, free text.tf: timeframe. Use{{interval}}to fill it live.note: a strategy note. About 70 characters show on the card, the full text goes in the caption.
If parsing fails
Malformed JSON falls back to the line parser. If nothing parses, the card renders with what is present and the symbol falls back to a dash. TradingView never receives an error for a parse problem.