Documentación · Webhook

Payload webhook de TradingView

Campos exactos leídos por WebhookIngress cuando llega una alerta TradingView a TheConnector.

Vídeo de YouTube (dominio sin cookies), cargado solo cuando pulsas reproducir.
Tutorial sin voz — todo está escrito en pantalla.

Objetivo

Esta página documenta el contrato público de WebhookIngress para alertas TradingView. No es el payload de órdenes manuales del dashboard.

Ruta de acceso

  • En el área cliente: Mis cuentas > abrir una cuenta de trading > copiar la clave de acceso.
  • En TradingView: Alerta > Notificaciones > pegar https://webhook.theconnector.fr/YOUR_ACCESS_KEY en Webhook URL.
  • En el campo Message de TradingView, pegar el mensaje: JSON o una línea, como prefiera.
Captura de configuración de cuenta
Abra el detalle de cuenta y copie el código de cuenta o la clave de acceso en el dashboard real.

Dos formatos, el mismo resultado

WebhookIngress lee dos formatos de mensaje y los trata exactamente igual: un objeto JSON o una sola línea de texto. Use el que prefiera. En una línea, la acción y el símbolo van primero y después los demás campos en la forma nombre=valor, separados por comas.

JSON mínimo

json
{
  "action": "buy",
  "symbol": "EURUSD",
  "risk": 1,
  "sl": 0.2,
  "tp": 0.4,
  "priceMode": "percent"
}

priceMode indica la unidad de sl, tp y price en la propia alerta: price, pips o percent. Aquí el stop está al 0,2 % de la entrada y el objetivo al 0,4 %, sea cual sea el modo de precio de la cuenta; sin priceMode, se aplica el modo de precio de la cuenta.

Campos leídos por WebhookIngress

  • action es obligatorio. Aliases, en JSON como en una línea: side, type, command, msgtype. type indica el comando, no un tipo de orden: buy con type=limit da dos comandos distintos, y la alerta se rechaza — una orden pendiente tiene su propio comando, buylimit, selllimit, buystop o sellstop, con su precio de entrada en price.
  • symbol es obligatorio para comandos de trading. Aliases: pair, ticker, instrument, market, asset.
  • risk se transmite como riesgo numérico. Para lotaje exacto, use volume, lot, lots, fixedVolume o size.
  • sl y tp son los nombres actuales de stop loss / take profit. Aliases: stoploss, stop_loss, takeprofit, take_profit.
  • price solo se usa para órdenes pendientes: buystop, buylimit, sellstop, selllimit.
  • expiration (alias expiry) da a una orden pendiente una duración de vida, en minutos: el bróker la elimina si no se ha activado antes, incluso con el robot apagado. Ejemplo: "expiration": 60. Se ignora en las órdenes a mercado. Requiere el robot 0.0.30 o posterior: con un robot más antiguo la alerta se rechaza en lugar de dejar la orden pendiente indefinidamente. Si el bróker no acepta vencimiento en ese símbolo, la orden se rechaza, nunca se coloca sin él.
  • priceMode fija la unidad de sl, tp y price para esta alerta: price, pips o percent. Sin él, se aplica el modo de precio de la cuenta.
  • ticket, orderId, order_id, positionId o position_id se usan solo si se apunta a una orden o posición conocida.
  • account / accountCode y platform son opcionales con la URL de cuenta; solo sirven en rutas compartidas.
  • streamId o id puede enviarse para seguimiento. El servidor lo conserva en su propio id, precedido de TV- (17 caracteres como máximo, guiones cambiados por _), seguido de _ y de 8 caracteres. Dos alertas enviadas con el mismo id son, por tanto, dos alertas distintas: la segunda nunca se trata como un duplicado. Si falta, el servidor crea un id.
  • tag (alias comment) nombra la estrategia a la que pertenece la alerta. En una entrada se escribe en el comentario de la posición en el bróker; en un cierre limita el cierre a las posiciones que llevan ese nombre, así varias estrategias pueden compartir una cuenta y un símbolo. Se pasa a minúsculas y se corta a 12 caracteres, y se respeta a partir del robot 0.0.21 — por debajo, un cierre con nombre se rechaza en lugar de ejecutarse sobre la posición de otra estrategia. Si envía su propio streamId, este sustituye al generado y el nombre nunca llega al comentario de la posición: omita streamId cuando use nombres.
  • clientRequestedAtUtc, requestedAtUtc o requestedAt pueden enviarse como marca UTC informativa.

El mismo mensaje en una línea

La misma orden que arriba, escrita en una sola línea:

text
buy,EURUSD,risk=1,sl=0.2,tp=0.4,priceMode=percent

Qué no enviar

No se base en ttl_ms: el parser actual de WebhookIngress no lo lee. vol_lots se lee como volume. Cada precio conserva la unidad en la que está escrito: un sufijo fija la unidad de ese valor solamente (sl_pips, sl_price, sl_pct, tp_pips, tp_price, tp_pct, y entry_pips, entry_price, entry_pct para la entrada de una orden pendiente); sl, tp y price sin sufijo toman el priceMode (o unit) escrito en la alerta y, si no, el modo de precio de la cuenta. El robot aplica una sola unidad a toda la orden: una alerta cuyos precios piden dos unidades se rechaza, nunca sale sin su stop-loss o su take-profit — sl_pips con tp_price, o sl sin sufijo junto a tp_pips (incluso en una cuenta configurada en pips; añada priceMode=pips). Ponga un sufijo en todos los precios, o en ninguno. Una alerta que escribe dos veces el mismo campo con dos valores distintos también se rechaza (sl=10 y luego sl=20, o "type":"sell" con "action":"buy"); el mismo valor dos veces cuenta como uno.

Alertas escritas para WebhookTrade

Una alerta en el formato de WebhookTrade se lee tal cual para symbol, action (buy_limit, sell_stop…), price, stop_loss, take_profit, size (lotes) y expiration (minutos); comment nombra la estrategia, como tag; username, api_key, broker y account_type se ignoran. De sus acciones de cierre, close_all se lee como closeall; en lugar de close_buy, close_sell y close_pending, envíe closelong, closeshort, o cancellong y cancelshort. Sus otros parámetros de stop, objetivo, tamaño, trailing y break-even — sl_percentage, tp_percentage, sl_distance, tp_distance, sl_distance_price, tp_distance_price, stop_amount, profit_amount, size_percentage, risk_percentage, size_multiplier, ts_…, breakeven_… — hacen que la alerta se rechace, con un mensaje que los nombra: ejecutada sin ellos, la orden saldría sin su stop o con otro tamaño. Escríbalos con sl / tp y priceMode, volume o risk, y betrigger / trailtrig / traildist.

¿Ya tiene alertas? Consérvelas

No necesita reescribir sus alertas. Un mensaje de una línea funciona tal cual, aunque empiece por un identificador de licencia: en cada alerta de TradingView, sustituya solo la URL del webhook por la suya, la que termina con su clave de acceso. El valor situado delante del comando se ignora entonces, y los nombres de parámetros como sl_pips, tp_price o vol_lots se traducen automáticamente. Una excepción: una alerta que mezcla unidades de precio (sl_pips con tp_price, por ejemplo) ahora se rechaza: escriba todos los precios en la misma unidad.

¿Un caso específico de broker? Contactar soporte