Inicio rápido TradingView
Su primera alerta TradingView en 10 minutos
Copie la URL webhook de su cuenta TheConnector, péguela en TradingView, envíe una señal de prueba y revise el estado en el panel.
Detalles técnicos
Los estados y la expiración quedan explícitos.
Webhook ingress, ACK, Delivered, BrokerRejected, Expired, ttl_ms, no replay, symbol mapping y routing son útiles cuando el primer test ya está claro.
La clave está en la URL. Account/platform son opcionales salvo ruta compartida.
No ponga ttl_ms: WebhookIngress no lo lee hoy. Si falla la ventana realtime, expira.
Un comando rechazado, expirado u offline aparece con la razón.
Generador
Mensaje aceptado por WebhookIngress
Mensaje de alerta
Pegue este JSON en Message. Webhook URL recibe la URL de cuenta del panel.
Validador dry-run
Validar sintaxis sin enviar webhook
Contrato actual
Campos que WebhookIngress lee hoy
action
Obligatorio. También acepta side, command, type, msgtype.
symbol
Obligatorio para comandos trading. También acepta pair, ticker, instrument, market, asset.
risk
Riesgo numérico enviado al robot. Use volume/lot/lots/fixedVolume para lotes exactos.
sl / tp
Los nombres actuales son sl y tp, con alias stoploss/stop_loss y takeprofit/take_profit.
price
Solo obligatorio para pendientes: buystop, buylimit, sellstop, selllimit.
source
Etiqueta opcional, útil para identificar TradingView o Pine Script en diagnóstico.
id / streamId
Opcional pero recomendado para diagnóstico. El servidor genera uno si falta.
account / platform
Opcional si usa la URL webhook de la cuenta copiada del panel.
No mezcle clave y cuenta.
Use once per bar close y revise Transactions.
Pine Script
Ejemplos del parser actual
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)
Lotes exactos
//@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)
Orden pendiente 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)