fr

Bloc WebHook

Bloc WebHook — Ce bloc est un “bloc signal externe qui est déclenché lors d'un appel à une URL dédiée. Ce bloc permet donc d'utiliser des signaux externes en provenance par exemple de TradingView (ou toute autre solution pouvant envoyer des signaux de type Webhook).

Avertissement : ce bloc est très technique, il est destiné à un public averti et ne doit pas être utilisé si l'on ne comprend pas son fonctionnement.

Qu'est-ce qu'un appel Webhook ?

Un signal Webhook est un appel effectué entre deux services en ligne. A l'image d'un SMS entre deux personnes, un serveur envoie un message à un autre ordinateur lorsqu'un évènement se produit.

Si vous utilisez TradingView pour surveiller les prix des cryptomonnaies, vous pouvez configurer une alerte qui vous préviendra lorsqu'une cryptomonnaie ou un indicateur donné atteindra un certain objectif. Lorsque cela se produit, TradingView peut aussi envoyer un message à une adresse Web unique et prévenir ainsi un service tiers, comme Kryll.

Le bloc Webhook permet donc de recevoir ce type d'appels externes au seins même de votre stratégie. Il vous sera ainsi possible d'orienter votre stratégie et de lui faire effectuer diverses actions en fonction de ces signaux externes.

Rappel des bases techniques

Un Webhook est une fonctionnalité qui permet d'envoyer une requête HTTP (généralement de type POST) à une URL spécifique lorsqu'un événement prédéfini se produit. Cela permet de déclencher une action automatisée sur une autre application ou plateforme en réponse à l'événement.

Qu'est-ce qu'une URL : Une URL (Uniform Resource Locator) est une adresse utilisée pour accéder à une ressource sur Internet, comme une page web ou un fichier. Il est composé de plusieurs parties, notamment le protocole (généralement HTTP ou HTTPS), le nom de domaine (comme platform.kryll.io) et éventuellement un chemin (comme /dashboard). Dans notre cas, l'URL d'un bloc webhook représente le lien entre l'extérieur et votre stratégie Kryll.

Qu'est-ce qu'une payload: Une payload est le contenu d'une requête HTTP. Il s'agit généralement des données envoyées au serveur dans une requête de type POST. Dans le cas d'un Webhook, la payload est utilisée pour transmettre les détails de l'événement qui a déclenché la requête et ce qu'il faut faire, comme par exemple la paire sur laquelle le signal à été généré,  l'identifiant de l'action à effectuer, les paramètres de cette action etc... Les payloads peuvent être encodés dans différents formats. Sur Kryll, le format est le JSON.

Configuration du bloc

Dans les paramètres du bloc, vous pouvez configurer divers éléments tels que son nom, la durée de validité d'un appel et sa portée en terme de paire (scope).

Les options du bloc 1/2

Nom du Webhook: Vous pouvez spécifier ici un nom pour votre Webhook. Celui-ci sera utilisé dans les logs de votre stratégie. N'oubliez pas qu'un Webhook bien nommé est plus facilement identifiable dans les logs.

Période de validité du signal: Fixez ici la durée durant laquelle un signal Webhook restera valable. Quand le signal sera reçu, le bloc restera valide le temps fixé et s'invalidera une fois ce délais dépassé. Ce paramètre n'a aucun impact quand le bloc est seul, cependant il est particulièrement utile si vous souhaitez associer ce bloc à un autre bloc indicateur au sein d'un bloc AND.

On pourra donner ici une période de validité adaptée avec l'unité de temps du bloc BOLL

Scope de validité du Signal:  Votre signal sera-t-il valide quelle que soit la paire sur laquelle est exécutée la stratégie ou voulez-vous au contraire communiquer la paire pour laquelle le bloc doit se déclencher ? C'est ici que vous configurez ce type de signal.
Vous trouverez ici ces 2 options de fonctionnement :

  • "Valide pour la paire demandée": Ce mode vous permet d'envoyer la paire pour laquelle valider le bloc Webhook dans le message (payload). Le bloc ne se validera alors que si la stratégie tourne sur la paire en question.
    Dans ce mode, le message à envoyer dans la payload contient l'ID de l'action et la paire.
Le détail de la payload en cas de détection de paire
Exemple: Imaginons une stratégie Kryll qui achète un actif sur un signal externe envoyé par TradingView (comme un croisement de deux moyennes mobiles de RSI). Supposons que la stratégie soit lancée sur BTC/USDT, KRL/USDT et ETH/USDT.
Ce mode vous permettra de piloter séparément les instances des stratégies en envoyant dans la payload la paire pour laquelle vous souhaitez déclencher le bloc. Il faudra alors une alerte TradingView par paire pour que TradingView puisse piloter séparément vos 3 stratégies Kryll.
  • Valide indépendamment de la paire : A l'inverse, ce mode vous permet de valider le bloc Webhook sans fournir de paire. Le bloc se validera alors quelle que soit la paire à la réception du signal externe.
Les options du bloc 2/2

Dans ce mode, le message à envoyer dans la payload ne contient que l'ID de l'action.

Exemple: Imaginons maintenant une stratégie Kryll qui achète un actif sur un signal externe envoyé par TradingView (comme un croisement de deux moyennes mobiles de RSI sur le S&P 500). Supposons également que la stratégie soit lancée sur BTC/USDT, KRL/USDT et ETH/USDT.
Ce mode vous permettra de piloter en parallèle toutes les stratégies en envoyant un seul appel quand vous souhaitez déclencher le bloc.
Une seule alerte TradingView vous permettra ainsi de piloter vos 3 stratégies Kryll.

Particularité concernant les Backtests

Les blocs Webhook étant déclenchés par des signaux externes, il n'est pas possible de backtester toute stratégie utilisant ces blocs.

Pour aller plus loin

Divers Tutoriaux sont disponibles pour aller plus loin. L'équipe de Kryll vous propose plusieurs autres articles à ce sujet:


N'hésitez pas à nous rejoindre sur nos groupes Telegram et Discord ainsi que sur nos réseaux sociaux pour partager votre avis et vos retours sur la plateforme Kryll.io

Kryll.io

Happy Trading,

Website : https://kryll.io
Twitter : @Kryll.io
Telegram EN : https://t.me/kryll_io
Telegram FR: https://t.me/kryll_fr
Telegram ES: https://t.me/kryll_es
Discord : https://discord.gg/PDcHd8K
Facebook : https://www.facebook.com/kryll.io
Support : support@kryll.io

Author image

About Nico