Inizia gratis

Quickstart TradingView

Il tuo primo alert TradingView in 10 minuti

Copia l'URL webhook del tuo account TheConnector, incollala in TradingView, invia un segnale di test e verifica lo stato nella dashboard.

Dettagli tecnici

Stati e scadenza restano espliciti.

Webhook ingress, ACK, Delivered, BrokerRejected, Expired, ttl_ms, no replay, symbol mapping e routing sono utili quando il primo test è chiaro.

URL webhook https://webhook.theconnector.fr/YOUR_ACCESS_KEY

La chiave è nel percorso. Account/platform solo con routing condiviso.

Scadenza Finestra realtime 1-3s

Non usare ttl_ms: WebhookIngress non lo legge oggi. Se perde la finestra, scade.

Nessun replay Accepted significa realtime

Comando rejected/expired/offline appare in Transactions.

Generatore

Messaggio accettato da WebhookIngress

Messaggio alert

Incolla questo JSON in Message. Webhook URL usa l'URL account.

Validatore dry-run

Valida sintassi senza webhook

Contratto attuale

Campi letti oggi da WebhookIngress

action Obbligatorio. Accetta anche side, command, type, msgtype.
symbol Obbligatorio per comandi trading. Accetta anche pair, ticker, instrument, market, asset.
risk Rischio numerico inviato al robot. Usa volume/lot/lots/fixedVolume per lotti esatti.
sl / tp I nomi attuali sono sl e tp, con alias stoploss/stop_loss e takeprofit/take_profit.
price Richiesto solo per pendenti: buystop, buylimit, sellstop, selllimit.
source Etichetta opzionale, utile per identificare TradingView o Pine Script in diagnosi.
id / streamId Opzionale ma consigliato per diagnosi. Il server ne genera uno se manca.
account / platform Opzionale usando l'URL webhook dell'account dal dashboard.
Dettagli account con URL webhook 1. Copia URL account

Non mescolare chiave e account.

Dialog alert TradingView 2. Incolla URL + JSON

Usa once per bar close e poi Transactions.

Pine Script

Esempi del parser attuale

MT4 / MT5
//@version=5
indicator("TC first alert", overlay=true)
longSignal = ta.crossover(ta.sma(close, 9), ta.sma(close, 21))
if longSignal
    message = "{\"action\":\"buy\",\"symbol\":\"" + syminfo.ticker + "\",\"risk\":1,\"sl\":20,\"tp\":40,\"source\":\"TradingView\",\"id\":\"" + syminfo.ticker + "-" + str.tostring(time) + "\"}"
    alert(message, alert.freq_once_per_bar_close)
Lotti esatti
//@version=5
indicator("TC fixed lots", overlay=true)
shortSignal = ta.crossunder(ta.ema(close, 12), ta.ema(close, 26))
if shortSignal
    message = "{\"action\":\"sell\",\"symbol\":\"" + syminfo.ticker + "\",\"volume\":\"0.10\",\"sl\":25,\"tp\":50,\"source\":\"TradingView\",\"id\":\"fixed-" + str.tostring(time) + "\"}"
    alert(message, alert.freq_once_per_bar_close)
Ordine pendente cTrader
//@version=5
indicator("TC pending", overlay=true)
breakout = close > ta.highest(high, 20)[1]
if breakout
    message = "{\"action\":\"buystop\",\"symbol\":\"" + syminfo.ticker + "\",\"price\":" + str.tostring(high, format.mintick) + ",\"risk\":1,\"sl\":20,\"tp\":45,\"source\":\"TradingView\",\"id\":\"pending-" + str.tostring(time) + "\"}"
    alert(message, alert.freq_once_per_bar_close)