logo
TradFi

Guía para configurar alertas Webhook en trading de señales Phemex

Para conectar una estrategia de TradingView con Phemex Signal Trading, pega la plantilla JSON que aparece a continuación en el campo Mensaje de tu alerta de TradingView, completa con tu signalToken proporcionado por Phemex y envía la alerta a la URL de webhook de Phemex. Phemex replicará automáticamente tus señales de compra/venta. Si necesitas una guía paso a paso detallada, consulta este artículo > ¿Cómo usar bots de Signal Trading en Phemex? (Web)

Formato de Alerta

Copia esta plantilla JSON en el campo Mensaje de tu alerta de TradingView. Los espacios entre llaves { } actúan como variables de la estrategia de TradingView y serán reemplazados automáticamente en tiempo de ejecución.

 
{ "id": "{{strategy.order.id}}", "symbol": "{{ticker}}", "action": "{{strategy.order.action}}", "qty": "{{strategy.order.contracts}}", "price": "{{strategy.order.price}}", "type": "Limit", "marketPosition": "{{strategy.market_position}}", "prevMarketPosition": "{{strategy.prev_market_position}}", "marketPositionSize": "{{strategy.market_position_size}}", "prevMarketPositionSize": "{{strategy.prev_market_position_size}}", "signalToken": "POdKsisSLkUxWXXIcjlx-eh_4UDuqfgYXL2KKX5wbOgazrhgKhdNhLoUb8OQK_xv0RnLdIclDFOOfqL6sfXwzkBJTN6n9v-U4qgwWK5YCtMP38IG1UJ91dsn2cw=", "timestamp": "{{timenow}}" }
 

Referencia de Parámetros

Parámetro Tipo Valor Descripción
id Obligatorio {{strategy.order.id}} de TradingView Identificador de la Orden – Devuelve el ID de la orden ejecutada, el cual corresponde a la cadena utilizada como primer argumento en la función que genera la orden: strategy.entry, strategy.exit o strategy.order.
symbol Obligatorio {{ticker}} de TradingView Símbolo de TradingView, debe coincidir con el nombre de símbolo utilizado por Phemex.
action Obligatorio {{strategy.order.action}} de TradingView Acción - ¿"buy" o "sell"? Devuelve el string "buy" o "sell" según la orden ejecutada. Buy: abre una posición larga o cierra una corta. Sell: abre una posición corta o cierra una larga.
qty Opcional {{strategy.order.contracts}} de TradingView Cantidad de la orden – Válido cuando la condición de entrada coincide con TradingView, por ejemplo, para colocar una orden de 0.001 de BTCUSDT, es decir, qty=0.001.
price Obligatorio {{strategy.order.price}} de TradingView Precio de la orden límite – Todas las órdenes de la estrategia de señales usarán tipo Limit por defecto.
type Opcional El tipo de orden por defecto es Limit en la señal. Puede cambiarse a Market si se requiere. Para colocar una orden Límite, usar "Limit"; para una orden a Mercado, usar "Market".
marketPosition Opcional {{strategy.market_position}} de TradingView Estado esperado de la posición (en el momento de la ejecución de la orden). Devuelve la dirección actual de la posición de la estrategia como texto: "long" (pos. larga), "flat" (sin pos.), "short" (pos. corta).
prevMarketPosition Opcional {{strategy.prev_market_position}} de TradingView Estado anterior de la posición (antes de la ejecución de la orden). Devuelve la dirección previa de la posición como texto: "long", "flat", "short".
marketPositionSize Opcional {{strategy.market_position_size}} de TradingView Tamaño esperado de la posición (al ejecutar la orden).
prevMarketPositionSize Opcional {{strategy.prev_market_position_size}} de TradingView Tamaño anterior de la posición (antes de ejecutar la orden).
signalToken Obligatorio Proporcionado por Phemex al crear la señal Código de Señal: Autenticación de la señal. Garantiza que la solicitud entrante sea válida y autorizada. Este código se genera automáticamente al momento de crear una nueva señal en Phemex y debe pegarse en el mensaje de alerta de TradingView.
timestamp Obligatorio {{timenow}} de TradingView Timestamp de la orden.

Ejemplos

Ejemplo 1: Apertura de posición larga → Cierre de posición larga (Cerrar Todo)

// Abrir una posición larga en BTCUSDT, precio de entrada: 40,000, cantidad de apertura: 0.001.
{ "id": "id_9b4b19b3d112", "symbol": "BTCUSDT", "action": "buy", "qty": 0.001, "price": 40000, "type": "Limit", "marketPosition": "long", "prevMarketPosition": "flat", "marketPositionSize": 0.001, "prevMarketPositionSize": 0, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T10:51:58Z" }
// Cerrar una posición larga en BTCUSDT, precio de cierre: 41,000, cantidad de cierre: 0.001.
{ "id": "id_9b4b19b3d113", "symbol": "BTCUSDT", "action": "sell", "qty": 0.001, "price": 41000, "type": "Limit", "marketPosition": "flat", "prevMarketPosition": "long", "marketPositionSize": 0, "prevMarketPositionSize": 0.001, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T11:51:58Z" }

Ejemplo 2: Largo → Corto (Reversión en un solo paso)

// Abrir una posición larga en BTCUSDT, precio de entrada: 40,000, cantidad de apertura: 0.001.
{ "id": "id_9b4b19b3d112", "symbol": "BTCUSDT", "action": "buy", "qty": 0.001, "price": 40000, "type": "Limit", "marketPosition": "long", "prevMarketPosition": "flat", "marketPositionSize": 0.001, "prevMarketPositionSize": 0, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T10:51:58Z" }
// Abrir una posición corta en BTCUSDT, precio: 41,000, cantidad: 0.002.// Si qty > posQty, se revierte: cierra completamente la larga de 0.001 y abre una corta de 0.001.
{ "id": "id_9b4b19b3d113", "symbol": "BTCUSDT", "action": "sell", "qty": 0.002, "price": 41000, "type": "Limit", "marketPosition": "short", "prevMarketPosition": "long", "marketPositionSize": 0.001, "prevMarketPositionSize": 0.001, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T11:51:58Z" }

Ejemplo 3: Apertura de largo → Cierre parcial → Cierre completo

// Abrir una posición larga en BTCUSDT, precio de entrada: 40,000, cantidad: 0.002.
{ "id": "id_9b4b19b3d112", "symbol": "BTCUSDT", "action": "buy", "qty": 0.002, "price": 40000, "type": "Limit", "marketPosition": "long", "prevMarketPosition": "flat", "marketPositionSize": 0.002, "prevMarketPositionSize": 0, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T10:51:58Z" }
// Cierre parcial de la posición larga, precio: 41,000, cantidad: 0.001.
{ "id": "id_9b4b19b3d113", "symbol": "BTCUSDT", "action": "sell", "qty": 0.001, "price": 41000, "type": "Limit", "marketPosition": "long", "prevMarketPosition": "long", "marketPositionSize": 0.001, "prevMarketPositionSize": 0.002, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T11:51:58Z" }
// Cierre total de la posición larga, precio: 42,000, cantidad: 0.001.
{ "id": "id_9b4b19b3d114", "symbol": "BTCUSDT", "action": "sell", "qty": 0.001, "price": 42000, "type": "Limit", "marketPosition": "flat", "prevMarketPosition": "long", "marketPositionSize": 0, "prevMarketPositionSize": 0.001, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T12:51:58Z" }

Ejemplo 4: Entrada de orden de mercado larga → Salida de orden de mercado larga

// Abrir posición larga inmediata en BTCUSDT, precio de entrada: 40,000, cantidad: 0.001
{ "id": "id_9b4b19b3d112", "symbol": "BTCUSDT", "action": "buy", "qty": 0.001, "price": 40000, "type": "Market", "marketPosition": "long", "prevMarketPosition": "flat", "marketPositionSize": 0.001, "prevMarketPositionSize": 0, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T10:51:58Z" }
// Cierra la posición larga, precio de salida: 41,000, cantidad: 0.001
{ "id": "id_9b4b19b3d113", "symbol": "BTCUSDT", "action": "sell", "qty": 0.001, "price": 41000, "type": "Market", "marketPosition": "flat", "prevMarketPosition": "long", "marketPositionSize": 0, "prevMarketPositionSize": 0.001, "signalToken": "kGAOBKheClXD7bVZHe-hEYHxF1rfTwlPPyko3DSWT1Q==", "timestamp": "2024-01-17T11:51:58Z" }

Artículos Relacionados

Sorry we couldn't help — let us assist you directly

Choose a contact method — support responds within 2 minutes:

Submit Ticket

Log in to check your account status in real time