logo
TradFi

Guide : Configurer les alertes webhook pour le trading de signaux Phemex

Pour connecter une stratégie TradingView au Signal Trading de Phemex, collez le modèle JSON ci-dessous dans le champ Message de votre alerte TradingView, renseignez votre signalToken fourni par Phemex, puis envoyez l'alerte à l’URL de webhook de Phemex. Phemex répliquera alors automatiquement vos signaux d’achat/vente. Pour un guide détaillé étape par étape, veuillez consulter cet article > Comment utiliser les bots de trading par signaux sur Phemex ? (Web)

Format d'Alerte

Copiez ce modèle JSON dans le champ Message de l’alerte TradingView. Les variables entre accolades sont celles de la stratégie TradingView et seront automatiquement renseignées lors de l’exécution.

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

Référence des Paramètres

Paramètre Type Valeur Description
id Obligatoire {{strategy.order.id}} depuis TradingView id - Identifiant de l’ordre. Retourne l’ID de l’ordre exécuté, c’est la chaîne transmise en premier argument lors de l’appel de la fonction générant l’ordre : strategy.entry, strategy.exit ou strategy.order.
symbol Obligatoire {{ticker}} depuis TradingView Nom du symbole dans TradingView, identique à celui utilisé sur Phemex.
action Obligatoire {{strategy.order.action}} depuis TradingView Action - "buy" ou "sell". Retourne "buy" (achat) pour ouvrir une position longue / fermer une position courte ; "sell" (vente) pour ouvrir une position courte / fermer une position longue.
qty Optionnel {{strategy.order.contracts}} depuis TradingView Quantité de l’ordre, valide si la condition d’entrée correspond à celle de TradingView, ex : passer un ordre de 0.001 BTCUSDT (qty=0.001).
price Obligatoire {{strategy.order.price}} depuis TradingView Prix du Limit Order. La stratégie transmettra systématiquement des ordres au type "Limit".
type Optionnel Par défaut "Limit" dans le signal. Peut être modifié en "Market" si nécessaire. Pour un ordre limite, utilisez "Limit" ; pour un ordre au marché, "Market".
marketPosition Optionnel {{strategy.market_position}} depuis TradingView marketPosition - Direction attendue de la position au moment de l’exécution : "long" (acheteur), "flat" (à l’écart du marché), "short" (vendeur).
prevMarketPosition Optionnel {{strategy.prev_market_position}} depuis TradingView prevMarketPosition - Direction précédente de la position avant exécution de l’ordre, sous forme de chaîne : "long", "flat" ou "short".
marketPositionSize Optionnel {{strategy.market_position_size}} depuis TradingView marketPositionSize - Taille attendue de la position lors de l’exécution de l’ordre.
prevMarketPositionSize Optionnel {{strategy.prev_market_position_size}} depuis TradingView prevMarketPositionSize - Taille précédente de la position avant exécution.
signalToken Obligatoire Fourni par Phemex lors de la création du signal Code signal - Authentifie la requête. Ce token est généré lors de la création d’un signal sur Phemex et doit être copié dans le message d’alerte TradingView.
timestamp Obligatoire {{timenow}} depuis TradingView Date et heure de passage de l’ordre.

Exemples

Exemple 1 : Ouverture position longue → Clôture position longue (tout fermer) 

// Ouvrir une position longue sur BTCUSDT, prix d’entrée : 40 000, quantité : 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" }// Clôturer la position longue sur BTCUSDT, prix de clôture : 41 000, quantité : 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" }

Exemple 2 : Long → Short (Inversion en 1 étape) 

// Ouvrir une position longue sur BTCUSDT, prix d’entrée : 40 000, quantité : 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" }// Ouvrir une position short sur BTCUSDT, prix : 41 000, quantité : 0.002.// Si qty > posQty, un retournement aura lieu : clôture totale du long 0.001 puis ouverture d’un short 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" }

Exemple 3 : Ouverture Long → Clôture partielle → Clôture totale 

// Ouvrir une position longue sur BTCUSDT, prix d’entrée : 40 000, quantité : 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" }// Clôture partielle de la position longue sur BTCUSDT, prix : 41 000, quantité : 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" }// Clôture totale de la position longue sur BTCUSDT, prix : 42 000, quantité : 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" }

Exemple 4 : Entrée long au marché → Clôture long au marché

// Ouvrir une position longue sur BTCUSDT, prix d’entrée : 40 000, taille : 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" }// Clôturer la position longue sur BTCUSDT, prix sortie : 41 000, taille : 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" }

Articles liés

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