HextradeHEXTRADEDashboard

TradingView webhooks

Set up TradingView webhook automation with Hextrade. Send Pine Script alerts to a private webhook URL and execute on Tradovate, ProjectX, NinjaTrader, Rithmic, and more.

TradingView webhook automation lets you keep researching in TradingView while Hextrade places the order. Send a Pine Script strategy alert to your private webhook URL; Hextrade executes on the broker account named in the payload.

Related: TradingView FAQ · algorithmic trading on the website

Webhook platforms

Set platformType to the lowercase value.

PlatformplatformType
ProjectXProjectXprojectx
TradovateTradovatetradovate
NinjaTraderNinjaTraderninjatrader
RithmicRithmicrithmic
TradeLockerTradeLockertradelocker
MatchTraderMatchTradermatchtrader
VolumetricaVolumetricavolumetrica
MetaTrader 5MetaTrader 5mt5
OandaOandaoanda
HyperliquidHyperliquidhyperliquid
Plus500Plus500plus500

Payload template

Paste this into the TradingView alert message:

{
  "ticker": "NQ",
  "action": "{{strategy.order.action}}",
  "sentiment": "{{strategy.market_position}}",
  "quantity": "{{strategy.order.contracts}}",
  "price": "{{close}}",
  "platformType": "projectx",
  "accountId": "your_account_id",
  "tp": "100",
  "sl": "20"
}

Note

tp and sl are ticks, not dollars. Match the instrument tick size. See Futures, CFDs, and Crypto.

Required fields

FieldDescription
platformTypeBroker slug from the table above
accountIdExact ID from Accounts
symbol or tickerInstrument
quantityContracts or shares
side or actionbuy or sell

Optional fields

FieldPurpose
strategyName / alertNameLabel in logs
note / tagsNotes and filters
dryRunValidate only — no order
maxQtyHard cap on size
cooldownSeconds before another fill on the same account + symbol
session / sessionTimezoneRTH = 09:30–16:00, ETH = outside that window
tradeWindowCustom days and times (timezone, days, start, end)
allowedSymbolsWhitelist
symbolOverrideSend a different symbol than ticker
maxTradesPerDayIn-memory cap; resets on process restart
comment / timeInForce / slippagePassed to the broker when supported
callbackUrlPOST after success or failure

cooldown and maxTradesPerDay are in-memory. dryRun: true returns HTTP 200 with the planned trade and does not update those counters.

Set it up in TradingView

  1. 1

    Copy your webhook URL

    On Accounts open Webhooks. It looks like https://api.hextrade.io/webhook/your-unique-token.

  2. 2

    Add an alert

    On the chart with your strategy, click Add Alert.

  3. 3

    Paste URL and JSON

    Condition = your strategy. Webhook URL = the Hextrade URL. Message = the payload. Replace your_account_id.

  4. 4

    Set platform and ticker

    platformType, accountId, ticker, and optional tp / sl.

  5. 5

    Test small

    Start with 1 micro contract before you scale.

Example payloads

RithmicRithmicMNQ
{
  "ticker": "MNQ",
  "action": "{{strategy.order.action}}",
  "sentiment": "{{strategy.market_position}}",
  "quantity": "{{strategy.order.contracts}}",
  "price": "{{close}}",
  "platformType": "rithmic",
  "accountId": "your_account_id",
  "tp": "80",
  "sl": "20"
}
TradovateTradovateES
{
  "ticker": "ES",
  "action": "{{strategy.order.action}}",
  "sentiment": "{{strategy.market_position}}",
  "quantity": "{{strategy.order.contracts}}",
  "price": "{{close}}",
  "platformType": "tradovate",
  "accountId": "your_account_id",
  "tp": "50",
  "sl": "15"
}

Troubleshooting

IssueFix
Alert fires, no orderaccountId must match Accounts exactly
platformType errorUse lowercase slugs
tp / sl ignoredValues are ticks
Alert never firesAlert must be active and the strategy must be on the chart
Broker rejectBalance, limits, or session hours

Warning

TradingView can delay delivery by a few seconds. Watch the first live fills. Keep the webhook URL private — regenerate it on Accounts if it leaks.