Avec l'arrivée des blocs Webhooks sur Kryll, les utilisateurs peuvent désormais piloter leurs stratégies de manière externe et personnalisée. Nous vous proposons dans cet article de voir comment piloter une stratégie Kryll via une stratégie PineScript.
Prérequis : Vous devez posséder à minima un compte Pro sur TradingView pour être en mesure de générer des appels Webhooks.
Création d'une stratégie TradingView
Nous utiliserons une stratégie d'exemple TradingView développée en Pinescript v5.
Dans cet exemple, la stratégie va utiliser deux indicateurs techniques non disponibles sur Kryll: le croisement de deux moyennes mobiles de RSI et l'indicateur Vortex. En fonction de la configuration de ces indicateurs, la stratégie va placer des ordres Long, Short ou Close.
//@version=5
// KRYLL Webhook - Tradingview strategy Exemple
strategy("Demo Strat", overlay=true)
// inputs zone
rsi_length = input.int(7, title="RSI Length", minval=2)
rsi_fma_length = input.int(7, title="Fast RSI MA Length", minval=2)
rsi_sma_length = input.int(14, title="Slow RSI MA Length", minval=4)
rsi_neutral = input.int(20, title="RSI neutral zone", minval=2)
vortex_period = input.int(14, title="Vortex Length", minval=2)
// Vortex indicator computation
VMP = math.sum( math.abs( high - low[1]), vortex_period )
VMM = math.sum( math.abs( low - high[1]), vortex_period )
STR = math.sum( ta.atr(1), vortex_period )
VIP = VMP / STR
VIM = VMM / STR
// Fast and Slow RSI Moving Average computation
rsi = ta.rsi(close, rsi_length)
rsiFMA = ta.sma(rsi, rsi_fma_length)
rsiSMA = ta.sma(rsi, rsi_sma_length)
// Fast and Slow RSI cross detection
co = ta.crossover(rsiFMA, rsiSMA)
cu = ta.crossunder(rsiFMA, rsiSMA)
if (not na(rsiSMA))
if (VIP < VIM)
if( cu )
strategy.entry("trade", strategy.short, comment="Short")
else
strategy.close(id="trade", comment="Close")
if (VIP > VIM)
if( co )
strategy.entry("trade", strategy.long, comment="Long")
else
strategy.close(id="trade", comment="Close")
Étude de la stratégie Tradingview
Cette stratégie génère 3 types d'ordres en fonction de la configuration des indicateurs utilisés.
Il nous faudra donc créer une stratégie Kryll qui attendra un de ces 3 signaux pour executer l'opération correspondante. Dans cette stratégie TradingView, on peut constater qu'une position long ou short peuvent être suivies de leur opposé sans forcément passer par un close avant. Il faudra donc concevoir la stratégie en fonction.
Réalisation de la stratégie dans Kryll
L'implémentation de cette stratégie Kryll qui sera pilotée via Webhooks pourrait ressembler à ceci.
Chaque bloc webhook vous fournira une URL génerique à la stratégie et un message Payload spécifique à chaque bloc. Ces informations devront être fournies à TradingView au travers du code pinescript.
A ce stade notre stratégie est terminée, nous pouvons même la lancer.
Adaptation de la stratégie TradingView
Nous allons maintenant passer à la modification de votre stratégie TradingView pour lui permettre d'envoyer des signaux à la stratégie Kryll.
Tout d'abord, modifions le debut de la stratégie pour y ajouter quelques déclarations utiles pour la suite :
Ajoutons ensuite les variables qui nous permettrons de stocker et utiliser les 'action_id' de nos différents blocs Webhook :
Modifions enfin des appels d'entrée/sortie/fermeture de position (strategy.entry et strategy.close) pour que la stratégie TradinvView puisse construire et envoyer le bon message à Kryll.
Résultat Final
Voici a quoi ressemble le script finalisé.
//@version=5
// KRYLL Webhook - Tradingview strategy Exemple
strategy("Demo Strat", overlay=true)
// Kryll Webhook declarations
payload_start="{\"action_id\" : \""
payload_end="\",\"pair\":\""+syminfo.ticker+"\"}"
kryll_action=""
payload=""
id_block_long = "8f94aaf9-0f37-4730-8565-a40c8f151921"
id_block_short = "8f94aaf9-2f30-7430-2364-519a40c8f121"
id_block_close = "8f94aaf9-1a37-3540-5431-c8f121519a40"
// inputs zone
rsi_length = input.int(7, title="RSI Length", minval=2)
rsi_fma_length = input.int(7, title="Fast RSI MA Length", minval=2)
rsi_sma_length = input.int(14, title="Slow RSI MA Length", minval=4)
rsi_neutral = input.int(20, title="RSI neutral zone", minval=2)
vortex_period = input.int(14, title="Vortex Length", minval=2)
// Vortex indicator computation
VMP = math.sum( math.abs( high - low[1]), vortex_period )
VMM = math.sum( math.abs( low - high[1]), vortex_period )
STR = math.sum( ta.atr(1), vortex_period )
VIP = VMP / STR
VIM = VMM / STR
// Fast and Slow RSI Moving Average computation
rsi = ta.rsi(close, rsi_length)
rsiFMA = ta.sma(rsi, rsi_fma_length)
rsiSMA = ta.sma(rsi, rsi_sma_length)
// Fast and Slow RSI cross detection
co = ta.crossover(rsiFMA, rsiSMA)
cu = ta.crossunder(rsiFMA, rsiSMA)
if (not na(rsiSMA))
if (VIP < VIM)
if( cu )
payload := payload_start + id_block_short + payload_end
strategy.entry("trade", strategy.short, comment="Short", alert_message=payload)
else
payload := payload_start + id_block_close + payload_end
strategy.close(id="trade", comment="Close", alert_message=payload)
if (VIP > VIM)
if( co )
payload := payload_start + id_block_long + payload_end
strategy.entry("trade", strategy.long, comment="Long", alert_message=payload)
else
payload := payload_start + id_block_close + payload_end
strategy.close(id="trade", comment="Close", alert_message=payload)
Création d'une alerte dans Tradingview
Une fois votre script finalisé, placez-vous sur la paire et l'unité de temps sur lesquels vous souhaitez faire fonctionner votre stratégie TradingView. Dans notre cas, nous nous positionnons sur ETH/USDT et une unité de temps de 2h.
Rendez-vous ensuite dans le "Pine Editor" pour y coller notre stratégie et la sauver.
Ajoutons ensuite notre stratégie via le bouton 'Indicators' pour la faire apparaitre sur le graphique.
Notre TradingView configuré, créons maintenant l'alerte qui nous permettra d'envoyer des messages à notre stratégie par l'intermédiaire des appels webhooks.
Pour ce faire, cliquons sur le bouton 'Create Alert' et configurons là : sélectionnons notre stratégie en tant que condition, nommons notre alerte et configurons le message:
Configurons ensuite l'URL webhook de la stratégie. Vous trouverez cet URL sur l'un des blocs webhook de votre stratégie Kryll.
Enfin, cliquez sur Create pour valider la creation de votre alerte.
Vous pourrez retrouver votre alerte dans la liste des alertes TradingView.
Laissez TradingView et Kryll trader pour vous.
Arrivé à ce stade, si votre alerte est active sur TradingView et votre stratégie lancée sur Kryll, les deux plateformes devraient communiquer.
Pour aller plus loin
Enrichissez vos creations
L'exemple décrit dans ce tutoriel reste simple et pourrait être enrichi via l'ajout d'un Take Profit ou encore d'un Stop Loss qui seraient alors de nouveaux blocs Webhook amenant à un autre flow.
Créez vos propres indicateurs
Le fait d'interfacer TradingView et Kryll ouvre une infinité de possibilités pour les utilisateurs de Kryll. Ils est dorénavant possible de créer vos propres indicateurs techniques, de les mixer ensemble, de cloner les indicateurs ou stratégies de la communauté TradingView et d'utiliser tout cela pour créer vos propres stratégies de trading automatisées !
Afin de vous aider dans cette tâche, voici deux "Templates" de stratégies qui pourront vous servir de point de départ à vos prochaines creations Spot et Futures.
Apprenez en plus
Divers Tutoriaux sont disponibles pour aller plus loin. L'équipe de Kryll vous propose plusieurs autres articles à ce sujet:
- Le bloc Webhook
- Les Webhooks, le game-changer pour les stratégies de trading Kryll
- Lancez et arrêtez vos stratégies Kryll avec TradingView
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