TradingView alert

One alert per chart with your webhook URL. How to create it, what it sends, and the rule that catches everyone once.

Applies to the Meanward Platform connectorOpen app
On this page

One alert per chart covers everything the strategy does on it: entries, adds, TP updates and closes. Webhook alerts need TradingView Essential or higher, with two-factor authentication on. One alert runs one symbol, so your plan sets how many: 20 on Essential, 100 on Plus, 400 on Premium.

Your webhook URL

Every exchange account has its own URL. In the cabinet at app.meanward.com: onboarding step Webhook URL, or the account's card under Accounts later. Copy it. It looks like this:

https://hooks.meanward.com/webhook/<your-token>
  • The token is your password for sending orders. Anyone who has the URL can send commands to your account, so don't post it in a chat or a screenshot.
  • The URL already says which account trades, so there's nothing to add to it. An old URL ending in ?exchange=binance keeps working: the connector checks that binance matches the account and refuses the signal if it doesn't.
  • Rotate issues a new URL and kills the old one immediately. Every alert that uses the old URL stops working until you paste the new one into it.

Create the alert

  1. Open the chart with Meanward Revert Strategy on it, on the symbol and timeframe you want to trade.
  2. Right-click the chart → Add alert.
  3. Condition: Meanward Revert Strategy → Any alert() function call.
  4. Expiration: on Premium and higher an alert doesn't expire; on Essential and Plus it lasts 2 months at most. Put the expiry date in your calendar. An expired alert is the most common reason "the bot stopped".
  5. Notifications: tick Webhook URL and paste your URL. Tick the app notification too, so you see every alert on your phone.
  6. Message: leave it alone. The strategy writes the body of every alert itself.
  7. Alert name: something you'll recognise, for example Revert BTCUSDT 5m.

One chart, one alert. Several symbols means several charts and several alerts, all with the URL of the account they trade on. Two accounts, two sets of alerts.

The rule: an alert is a snapshot

TradingView stores the strategy's settings inside the alert at the moment you create it. Change any input on the chart afterwards, including the risk inputs, and the alert keeps sending the old rules.

So after every settings change: delete the alert and create it again. The same after a new script version: TradingView doesn't move existing alerts to it.

What the alert sends

A single line of JSON per command. You don't need to read it, but it helps to know what the connector receives:

{"action":"open","params":{"strategy":"long","pairs":["BTCUSDT"],"open":{"leverage":10,"orderType":"Market","marginType":"cross","orderVolume":"500"},"close":{"enabled":true,"event":"percentage","value":"0.54"}}}
  • action: open, average, update or close;
  • strategy: the side, long or short;
  • pairs: the symbol without the exchange prefix and without TradingView's .P suffix;
  • orderVolume / amount: the order size in USDT (USDC on Hyperliquid), not in coins;
  • close.value: the TP %, with Take profit boost (%) applied (0.5% × 1.08 = 0.54%).

To see the exact body of each command on the chart, turn on Show JSON labels in the strategy's 🎨 Display group.

When nothing arrives

Check in this order:

  1. The alert is in the Alerts list, active and not expired.
  2. The alert log shows that it fired. No entry there means the strategy produced no command, not that the connector missed one.
  3. The webhook box is ticked and the URL is the current one (not rotated since).
  4. The cabinet's onboarding step Check or the Trades → Signals tab shows what arrived. A signal that arrived and was refused shows with its status; see Execution statuses.
  5. The chart's Start time isn't in the future, and the bot you expect (long or short) is enabled.

TradingView itself can deliver an alert late, twice or not at all. The connector handles a repeat safely (an open for a position that already exists is skipped), but it can't execute an alert that never came.