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.
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" }

Submit Ticket