Trading de Crypto automatisé avec FreqTrade – Partie 2

Nous avons vu ensemble la semaine dernière comment installer FreqTrade et développer une stratégie, gagnante je l’espère. Dans cet article, je détaille la partie plus opérationnelle pour piloter le bot et le lancer pour passer des ordres réels sur le marché.

Télégram

Je suis sûr que vous mourrez d’envie de lancer votre bot mais il va falloir le piloter et avoir des informations sur son état et les trades en cours.

C’est peut-être l’un des seuls défauts que j’ai trouvé concernant FreqTrade, il manque un tableau de bord visuel avec les gains, trades en cours, la configuration. Je pense que l’outil est très orienté trading automatique et que le but est de le laisser tourner en fond, ce qui pourrait expliquer pourquoi les développeurs ont laissé de côté cette idée d’interface.

Il est possible de piloter le bot de plusieurs manières, dont notamment par API REST, ce qui permet de développer rapidement un tableau de bord (en VueJS par exemple) pour à la fois visualiser les informations mais aussi effectuer des actions.

Mais nous allons utiliser une autre méthode plus rapide à mettre en place. Télégram est un outil de communication très utilisé par les traders et qui permet des communications chiffrées de bout en bout, notamment avec des bots de tout genre. Je vous conseil cet article si vous voulez découvrir tout ce qu’il est possible de faire avec. Pour notre cas, nous allons configurer notre bot pour communiquer avec Télégram et donc pouvoir recevoir des commandes de notre part.

La première partie se passe sur votre téléphone : suivez les étapes 1 et 2 de cette page : https://www.freqtrade.io/en/latest/telegram-usage/

Avec BotFather, vous devriez obtenir un jeton d’authentification ressemblant à : 80453645:AAhmQB8453MEd7 Cela permettra à votre Bot de communiquer avec Télégram.

Avec userinfotbot, vous allez connaître votre ID d’utilisateur comme : 7923836473 Seul l’utilisateur lié à cet ID (autrement dit vous) pourra communiquer avec le bot, rassurant.

Renseignez ces deux informations dans le fichier freqtrade/userdata/config.json et n’oubliez pas d’activer Télégram :

"telegram": {
        "enabled": true,
        "token": "8435:763aD(KHDFèDJH563hKGd56",
        "chat_id": "78945362"
    },

Vous pourrez communiquer avec votre Bot dans Télégram avec des commandes comme :

  • /status table – Obtenir un tableau des trades en cours
  • /profit – Retourne un résumé des gains/pertes depuis le début

Lancement du Bot FreqTrade

OK, vous avez une stratégie (personnelle ou copiée) qui fonctionne et c’est l’heure de se lancer dans la vraie vie… ou presque.

Il serait très dangereux de lancer le bot sans tester sa configuration et votre stratégie sur quelques jours. L’idée est donc de vérifier que le fichier de configuration freqtrade/userdata/config.json contienne bien la ligne suivante (qui indique que nous sommes toujours en cours de test) :

"dry_run": true,

Stoppez toutes les instances puis lancez votre bot avec notre Super Stratégie :

docker-compose stop
docker-compose run --rm -d freqtrade trade -s MaSuperStrategie

Vérifiez les logs du container pour être sûr que tout va bien (pas d’erreurs) et vérifiez que vous pouvez communiquer via Télégram en envoyant la commande /balance par exemple.
Si vous avez un souci à ce moment-là, n’hésitez pas à laisser un commentaire. Laissez tourner votre bot quelques heures ou même quelques jours pour observer son bon comportement.

Lancement du Bot FreqTrade en vrai

Une fois que vous avez bien joué en local, il va falloir trouver une machine / un serveur où vous pourrez installer freqtrade et le laisser tourner 24h/24h. Vous pouvez investir dans un Raspberry Pi 4, un serveur chez OVH ou utiliser une machine qui traîne chez vous. Il faut juste connecter cette machine à Internet et s’assurer du bon niveau de sécurité car elle contiendra des clés permettant de retirer toutes vos cryptomonnaies.

Si vous en êtes arrivés ici, vous devez être confiant et maîtriser l’environnement, les notions de trading, comment manager et sécuriser un serveur Linux.

Modifiez la configuration pour désactiver le mode test "dry_run": false

Dernière chose à faire, il faut alimenter une plateforme de trading avec quelques Bitcoins et configurer les clés APIs pour que votre bot puisse communiquer avec cette plateforme.

"exchange": {
        "name": "binance/kraken/bittrex",
        "key": "<your_key>",
        "secret": "<your_secret>",
        "ccxt_config": {"enableRateLimit": true},
        "ccxt_async_config": {
            "enableRateLimit": true,
            "rateLimit": 200
        },
        "pair_whitelist": [
            "ALGO/BTC",
            ...
        ],
        "pair_blacklist": [
            "BNB/BTC",
            ...
        ]
    },

Une fois cette configuration terminée, lancez le bot et attendez quelques minutes qu’une des paires sur lesquelles vous utilisez votre stratégie respecte les conditions d’achat. Vous recevrez un message Télégram.


Il existe d’autres commandes très utiles dont je vais vous expliquer le concept mais sans rentrer dans les détails.

HyperoptHyperparameter optimization vous permet d’optimiser les paramètres de votre stratégie. Par exemple, si vous avez une stratégie indiquant de vendre lorsque le RSI est supérieur à 70, vous voudriez peut-être trouver la limite optimale. C’est ce que permet cette commande en utilisant du Machine Learning et en combinant différentes valeurs mais aussi différents indicateurs et en effectuant plusieurs backtestings avec votre stratégie. Ces calculs demandent beaucoup de ressource CPU et ne peuvent être lancés que sur des machines avec processeurs multi-coeur.

Edge positioning – Le but de l’edge positioning est de réduire le côté aléatoire et de trouver la meilleure valeur pour le stop_loss.


J’espère que cet article vous a plu, qu’il vous a permis d’apprendre le trading automatique et peut-être d’avoir gagné vos premiers Bitcoins. N’hésitez pas à poser vos questions en commentaire, je compléterai l’article si des parties sont manquantes.

Vous aimerez aussi...

1 réponse

  1. Jer dit :

    Article très intéressant ! Environ 1 an après sa rédaction, avez-vous continuer freqtrade et si oui a t’il donné de bons résultats ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *