Spécifications 2.0 des messages d'alerte du bot de signal de trading
Table des matières
Présentation
Grâce au lancement des bots de signaux, les utilisateurs de TradingView peuvent désormais publier leurs signaux et créer un bot de signal sur OKX. Dans ce guide, nous allons passer en revue les différentes spécifications des messages d'alerte pris en charge par OKX pour les utilisateurs.
Nous avons méticuleusement conçu un format de spécifications exclusif pour ceux qui maîtrisent Pine Script™ et qui utilisent exclusivement des scripts de stratégie pour envoyer des signaux. Ce format intègre de manière transparente les paramètres de stratégie de Pine Script™, ce qui vous permet de transmettre des signaux de trading avec une facilité remarquable. Ce format est idéal pour les utilisateurs de la stratégie Pine Script™, car il offre une approche simplifiée pour fusionner vos scripts de stratégie avec les paramètres de stratégie de TradingView. Si vous êtes un créateur de stratégie et que vous utilisez les fonctions strategy.*() pour construire vos signaux de trading, veuillez vous reporter à la Section A : pour les utilisateurs de la stratégie Pine Script™ ci-dessous.
Par ailleurs, nous comprenons que certains ne s'appuient pas uniquement sur les scripts de stratégie Pine Script. Dans la Section B : compatibilité universelle de ce guide, nous présentons un ensemble de spécifications polyvalentes qui vont au-delà des méthodes d'écriture de scripts. Ces spécifications sont valables pour toutes les approches de génération de signaux. Que vous utilisiez des indicateurs personnalisés, différentes techniques graphiques ou que vous préfériez les alertes manuelles, ce cadre de spécification « unique » est fait pour vous.
Bref aperçu de Pine Script : « Stratégie » ou « Indicateur »
Les stratégies Pine Script permettent de réaliser des backtests sur des données historiques ainsi que des tests avancés sur des marchés réels. Outre les calculs d'indicateurs, les stratégies comprennent des appels de fonctions de stratégie.*() qui transmettent les ordres de trading à l'émulateur de courtier de Pine Script. Cet émulateur peut alors simuler l'exécution de ces ordres. Les résultats des backtests peuvent être visualisés dans l'onglet « Tester la stratégie » en bas du graphique, à côté de l'onglet « Éditeur Pine Script ».
Les indicateurs Pine Script, quant à eux, reposent également sur des calculs, mais ils ne sont pas destinés à être utilisés dans des scénarios de backtesting. En raison de leur indépendance par rapport à l'émulateur de courtier, les indicateurs consomment moins de ressources et s'exécutent plus rapidement.
Il est important de noter qu'il vous est possible d'utiliser soit le format de la section A, soit celui de la section B, les deux étant entièrement compatibles. Le système reconnaîtra intelligemment le format utilisé et analysera vos messages en fonction de ceux que vous transmettez. Ce traitement intelligent garantit une expérience transparente quelle que soit l’approche choisie.
Section A (utilisateurs de la stratégie Pine Script™)
Les spécifications suivantes sont spécialement conçues pour les utilisateurs qui composent leurs algorithmes en se servant des stratégies Pine Script™ et principalement de la fonction strategy.*. Ce format est destiné à accueillir les valeurs de paramètres de la stratégie, ce qui garantit une adaptation sans faille. Nous vous invitons à cliquer sur ce link pour en savoir plus sur les scripts de stratégie et sur le processus d'envoi des alertes à l'aide des variables de remplacement de la stratégie.
Si cette notion ne vous est pas familière, la section B propose une autre approche de création d'alertes, applicable à un plus grand nombre de scénarios.
Présentation des spécifications d'AlertMsg
Paramètre
|
Requis
|
Valeurs
|
ID
|
Requis
|
|
action
|
Requis
|
|
marketPosition
|
Requis
|
|
prevMarketPosition
|
Requis
|
|
instrument
|
Requis
|
|
signalToken
|
Requis
|
Fourni par OKX lors de la création du signal
|
horodatage
|
Requis
|
{{timenow}} de TradingView
|
maxLag
|
Facultatif
|
Valeur entière non négative comprise entre [1, 3600]. La valeur par défaut est 60.
|
investmentType
|
Facultatif*
|
|
montant
|
Requis
|
|
1. Spécification de l'AlertMsg - ID
ID : Identifiant de l'ordre
{{strategy.order.id}} - renvoie l'ID de l'ordre exécuté (la chaîne utilisée comme premier paramètre dans l'un des appels de fonction générant les ordres : stratégie.entry, stratégie.exit ou stratégie.ordre).
2. Spécification de l'AlertMsg - action
Action - acheter ou vendre ?
{{strategy.order.action}} -renvoie la chaîne « acheter » ou « vendre » de l'ordre exécuté.
3. Spécification de l'AlertMsg - marketPosition
marketPosition - statut de la position souhaitée (lors de l'exécution de l'ordre)
{{strategy.market_position}} - renvoie la position actuelle de la stratégie sous forme de chaîne : « longue », « fixe » ou « courte ».
4. Spécification de l'AlertMsg - prevMarketPosition
prevMarketPosition - statut de la position précédente (avant l'exécution de l'ordre)
{{strategy.prev_market_position}} - renvoie la position précédent de la stratégie sous forme de chaîne : « longue », « fixe » ou « courte ».
5. Spécification de l'AlertMsg - instrument
Format 1 : ticker - Valeurs de l’élément de substitution TradingView
Un élément de substitution « standard »* correspond à un morceau de texte littéral placé entre deux accolades et inséré dans un message d'alerte.
« {{ticker}} » renverra le ticker de l'instrument sur lequel l'alerte a été générée.
Imaginons « BTCUSDT.P », « ETHUSDT.P ».
* Élément de substitution standard pour accéder aux variables dans Pine Script™. Découvrez-en plus ici.
Format 2 : Format de l'instrument OKX
ID de l'instrument, ou « instId » dans l’API OKX. Vous trouverez plus de détails en cliquant sur ce lien.
Imaginons « BTC-USDT-SWAP », « ETH-USDT-SWAP »
6. Spécification de l'AlertMsg - signalToken
signalToken - Authentification du signal
Le token est une mesure de sécurité qui permet de s'assurer que les requêtes entrantes sont légitimes et autorisées. Ce signalToken sera généré automatiquement lorsque l'utilisateur crée avec succès un nouveau signal sur notre plateforme, et devra être copié dans le message d'alerte de TradingView.
Comment localiser votre signalToken lorsque le signal est déjà actif ?
- Consultez la section Détails de votre signal
- Localisez votre signalToken dans la section Messages d'alerte recommandés
7. Spécification de l'AlertMsg - horodatage
heure actuelle - Valeurs de l’élément de substitution TradingView
Un élément de substitution « standard »* correspond à un morceau de texte littéral placé entre deux accolades et inséré dans un message d'alerte.
« {{timenow}} » renverra à l'heure actuelle et exacte à laquelle l'alerte a été générée, en UTC et au format aaaa-MM-jjTHH : mm : ssZ.
Imaginons « 2023-06-01T17:38:10Z »
* Élément de substitution standard pour accéder aux variables dans Pine Script. Découvrez-en plus ici.
8. Spécification de l'AlertMsg - maxLag
** maxLag - Délai maximum acceptable**
Le terme « maxLag » désigne le délai ou la latence maximale autorisée, mesurée en secondes, avant qu'un signal de trading ne soit considéré comme nul. En calculant le maxLag, nous calculons la différence de temps qui sépare le moment où le signal a été envoyé par TradingView (en utilisant le champ « horodatage » dans le message d'alerte) et le moment où il a été reçu sur OKX en vue de l'exécution d'un ordre.
La valeur par défaut est de 60 secondes. Définir une valeur maxLag permet de s'assurer que le bot de signal fonctionne en temps voulu, en évitant d'agir sur des signaux obsolètes ou potentiellement inexacts qui ne reflètent plus les conditions actuelles du marché.
9. Spécification de l’AlertMsg - investmentType et montant
Remarques importantes : Pour assurer une compatibilité optimale avec votre stratégie TradingView, nous vous recommandons vivement de configurer investmentType comme « base » et de définir le montant sur « {{strategy.order.contracts}} ». En suivant cette approche, les quantités d'ordres sur OKX s'aligneront sur les quantités d'ordres spécifiées dans votre stratégie TradingView.
investmentType et montant
(UNIQUEMENT POUR LES SIGNAUX D'ENTRÉE)
- base : Montant en devise de base (choix recommandé)
- marge : Marge investie en devise de cotation
- contrat : Nombre fixe de contrats
- percentage_balance : Basé sur le % du solde disponible (à savoir, la marge disponible pour l'ouverture de nouveaux ordres)
- percentage_investment : En fonction du pourcentage d'Investissement Actif dans votre bot. L'Investissement Actif sera généralement votre marge initialement investie au moment de la création du bot et restera fixe jusqu'à ce que vous ajoutiez davantage de marge et choisissiez d'augmenter cette valeur. Par exemple, si vous créez un bot avec une marge initialement investie de 1000 USDT, votre Investissement Actif sera réglé à 1000 USDT. Pour tous les signaux entrants, c'est cette valeur qui sera utilisée pour le calcul de la taille de votre ordre. Disons qu'après quelques jours d'exécution de votre bot, vous décidez qu'il se comporte bien et réinvestissez une autre marge de 1000 USDT que vous ajoutez à votre Investissement Actif. Ensuite, votre Investissement Actif augmentera à 2000 USDT et c'est cette nouvelle valeur qui sera utilisée pour le calcul de la taille de votre ordre. Si vous ne savez pas quelle est la valeur actuelle de l'Investissement Actif de votre bot, vous pouvez toujours vérifier cela dans la section Détails du Bot.
(UNIQUEMENT POUR LES SIGNAUX DE SORTIE)
- base : Montant en devise de base (choix recommandé)
- percentage_position : Basé sur le % de positions ouvertes
Section B (compatibilité universelle)
Les spécifications fournies ci-dessous sont variées et s'adaptent à tous les cas de figure. Que vous utilisiez Pine Script™ pour créer des scripts de stratégie ou d'indicateur (étude), ou que vous saisissiez manuellement des alertes dans l'interface utilisateur Alert de TradingView, ces spécifications restent adaptables et personnalisables.
Aperçu des spécifications d'AlertMsg
Paramètre | Requis | Valeurs |
---|---|---|
action | Requis |
|
instrument | Requis |
|
signalToken | Requis | Fourni par OKX lors de la création du signal |
horodatage | Requis | {{timenow}} de TradingView |
maxLag | Facultatif | Valeur entière non négative comprise entre [1, 3600]. La valeur par défaut est 60. |
orderType | Facultatif. Paramètre requis si orderType = À cours limité |
|
orderPriceOffset | Facultatif. Ce paramètre est requis si aucun paramètre n'est configuré lors de la création d'un bot de signal OKX | Valeur flottante comprise entre [0, 100] en % |
investmentType | Facultatif. Paramètre requis si orderType = À cours limité |
|
montant | Facultatif. Paramètre requis si orderType = À cours limité |
|
1. Spécification de l'AlertMsg - action
Mode de position :
Le bot de signal fonctionne en mode unidirectionnel (c'est-à-dire achat/vente), ce qui signifie que le bot ne prend des positions que dans un sens pour un instrument donné.
Ordres ouverts
- ENTER_LONG : Ouvrez une position longue en espérant que son prix augmente.
- ENTER_SHORT : Ouvrez une position courte en espérant que le prix baisse.
Ordres fermés
- EXIT_LONG : Fermez partiellement ou totalement une position longue en vendant les positions détenues.
- EXIT_SHORT : Fermez partiellement ou totalement une position courte en rachetant les contrats.
2. Spécification de l'AlertMsg - instrument
Format 1 : ticker - Valeurs de l’élément de substitution TradingView
Un élément de substitution « standard »* correspond à un morceau de texte littéral placé entre deux accolades et inséré dans un message d'alerte.
« {{ticker}} » renverra le ticker de l'instrument sur lequel l'alerte a été générée.
Imaginons « BTCUSDT.P », « ETHUSDT.P ».
* Élément de substitution standard pour accéder aux variables dans Pine Script. Découvrez-en plus ici.
Format 2 : Format de l'instrument OKX
ID de l'instrument, ou « instId » dans l’API OKX. Vous trouverez plus de détails en cliquant sur ce lien.
Imaginons « BTC-USDT-SWAP », « ETH-USDT-SWAP »
3. Spécification de l'AlertMsg - signalToken
signalToken - Authentification du signal
Le token est une mesure de sécurité qui permet de s'assurer que les requêtes entrantes sont légitimes et autorisées. Ce signalToken sera généré automatiquement lorsque l'utilisateur crée avec succès un nouveau signal sur notre plateforme, et devra être copié dans le message d'alerte de TradingView.
4. Spécification de l'AlertMsg - horodatage
heure actuelle - Valeurs de l’élément de substitution TradingView
Un élément de substitution 'standard'* correspond à un morceau de texte littéral placé entre deux accolades et inséré dans un message d'alerte.
« {{timenow}} » renverra à l'heure actuelle et exacte à laquelle l'alerte a été générée, en UTC et au format aaaa-MM-jjTHH:mm:ssZ.
Formatage possible (heure UTC, format ISO 8061)
- Format aaaa-MM-ddTHH:mm:ssZ Par exemple : « 2023-06-01T17:38:10Z »
- Format aaaa-MM-ddTHH:mm:ss.SSSZ Par exemple : « 2023-06-01T17:38:10.836Z »
- Format aaaa-MM-ddTHH:mm:ss+0000 Par exemple : « 2023-06-01T17:38:10+0000 »
Imaginons « 2023-06-01T17:38:10Z »
* Élément de substitution standard pour accéder aux variables dans Pine Script. Découvrez-en plus ici.
5. Spécification de l'AlertMsg - maxLag
** maxLag - Délai maximum acceptable**
Le terme « maxLag » désigne le délai ou la latence maximale autorisée, mesurée en secondes, avant qu'un signal de trading ne soit considéré comme nul. En calculant le maxLag, nous calculons la différence de temps qui sépare le moment où le signal a été envoyé par TradingView (en utilisant le champ « horodatage » dans le message d'alerte) et le moment où il a été reçu sur OKX en vue de l'exécution d'un ordre.
La valeur par défaut est de 60 secondes. Définir une valeur maxLag permet de s'assurer que le bot de signal fonctionne en temps voulu, en évitant d'agir sur des signaux obsolètes ou potentiellement inexacts qui ne reflètent plus les conditions actuelles du marché.
6. Spécification de l'AlertMsg - Ordre
orderType
- Prix du marché : Placez un ordre au prix du marché pour ouvrir (si l'action =ENTER_XX) ou fermer (si l'action EXIT_XX) une position. Inutile de fournir orderPriceOffset
- Cours limité : Placez un ordre à cours limité pour ouvrir (si l'action =ENTER_XX) ou fermer (si l'action EXIT_XX) une position.
orderPriceOffset (s'applique UNIQUEMENT à l'ordre À COURS LIMITÉ)
- ENTER_LONG : [1-(orderPriceOffset/100)] * Offre-1
- ENTER_SHORT : [1+(orderPriceOffset/100)] * Demande-1
- EXIT_LONG : [1+(orderPriceOffset/100)] * Demande-1
- EXIT_SHORT : [1-(orderPriceOffset/100)] * Offre-1
7. Spécification de l’AlertMsg - investmentType et montant
investmentType et montant
(UNIQUEMENT POUR LES SIGNAUX D'ENTRÉE)
- Marge : Marge investie en devise de cotation
- Contrat : Nombre fixe de contrats
- Percentage_balance : Basé sur le % du solde disponible (à savoir, la marge disponible pour l'ouverture de nouveaux ordres)
- Percentage_investment : En fonction du pourcentage d'Investissement Actif dans votre bot. L'Investissement Actif sera généralement votre marge initialement investie au moment de la création du bot et restera fixe jusqu'à ce que vous ajoutiez davantage de marge et choisissiez d'augmenter cette valeur. Par exemple, si vous créez un bot avec une marge initialement investie de 1000 USDT, votre Investissement Actif sera réglé à 1000 USDT. Pour tous les signaux entrants, c'est cette valeur qui sera utilisée pour le calcul de la taille de votre ordre. Disons qu'après quelques jours d'exécution de votre bot, vous décidez qu'il se comporte bien et réinvestissez une autre marge de 1000 USDT que vous ajoutez à votre Investissement Actif. Ensuite, votre Investissement Actif augmentera à 2000 USDT et c'est cette nouvelle valeur qui sera utilisée pour le calcul de la taille de votre ordre. Si vous ne savez pas quelle est la valeur actuelle de l'Investissement Actif de votre bot, vous pouvez toujours vérifier cela dans la section Détails du Bot.
(UNIQUEMENT POUR LES SIGNAUX DE SORTIE)
- Percentage_position : Basé sur le % de positions ouvertes
Section B Exemples d'application
Exemple 1 : Entrée longue -> Sortie longue (fermeture complète) sans entrée multiple
Exemple 2 : Entrée longue -> Entrée courte (inversion en une étape) sans entrée multiple
Exemple 3 : Entrée longue -> Sortie longue (partiellement) -> Sortie longue (fermeture complète)
Exemple 4 : Utilisation de l'entrée multiple
Entrée multiple est une fonctionnalité du bot de signal qui permet d'exécuter plusieurs points d'entrée pour un instrument donné. Les traders peuvent optimiser leur approche de trading en diversifiant les points d'entrée (c'est-à-dire en utilisant la méthode d'achat périodique par sommes fixes), ce qui augmente potentiellement leurs chances de réaliser des trades rentables dans un environnement de marché dynamique.
Exemple 5 : Utiliser uniquement le signal déclencheur (sans les champs associés aux ordres)
Les fournisseurs de signaux peuvent exclure certains paramètres facultatifs car l'utilisateur les a déjà configurés dans le bot, ce qui est particulièrement utile pour les fournisseurs qui proposent UNIQUEMENT des signaux déclencheurs d'achat/de vente et qui laissent à chaque abonné le soin de décider du montant qu'il souhaite investir.
Exemple 6 : Utiliser uniquement le signal déclencheur (sans les champs associés aux ordres)
Les valeurs par défaut seront utilisées si les détails de l'ordre ne sont pas spécifiés dans la configuration du signal et du bot.
- Pour les signaux d’ENTRÉE, l'investissement X%* sera ouvert par défaut en utilisant l'ordre au prix du marché.
- Pour les signaux de SORTIE, les positions ouvertes à 100 % sont fermées par défaut à la réception du signal.
*** X = 100 pour une seule paire. X = 50 pour les paires multiples
Exemple 7 : Ordre de priorité des champs
Les paramètres du bot sont prioritaires sur ceux du signal. Deux règles sont à respecter :
- Règle 1 : Le champ est défini à la fois par le bot et par le signal
Pour Type d’ordre
|
Ordre au prix du marché (Bot) ✅
|
Ordre à cours limité (Signal) ❌
|
- Règle 2 : Le champ est défini par un des bots/signaux
Pour Type et montant de l'investissement
|
S/O (Bot) ❌
|
Solde disponible à 100 % (Signal) ✅
|
FAQ
Pour toute question sur le bot de signal, nous vous invitons à consulter les questions les plus fréquemment posées par nos utilisateurs dans cet article.