[Tutoriel] Créez votre propre stratégie de robot de trading avec Freqtrade

Introduction

Dans le précédent article, nous avions vu comment créer notre premier robot de trading avec Freqtrade, mais ses résultats n’était pas satisfaisant. Nous allons maintenant découvrir comment construire notre propre stratégie personnalisée.

Prérequis

  • Une installation complète de Freqtrade, voir notre article.
  • Notions de base en analyse technique.
  • Notions de base dans le language informatique python.

Création d’une nouvelle stratégie sur Freqtrade

Les stratégies utilisables par Freqtrade sont stockées dans le dossier freqtrade/user_data/strategies et sont des fichiers python (.py).

Pour commencer, déplacez vous dans un terminal dans le dossier /freqtrade et activez son environnement virtuel avec cette commande :

source .env/bin/activate;

Puis, créez une nouvelle stratégie nommée MyStrategy.

freqtrade new-strategy --strategy MyStrategy

Après l’exécution de cette commande, un fichier MyStrategy.py a été créé dans /freqtrade/user_data/strategies. C’est ce fichier que nous allons personnaliser tout au long de cet article. Le fichier final est disponible à la fin de l’article.

Configuration de la stratégie sur Freqtrade

Configuration des paramètres de la stratégie

Ouvrez le fichier MyStrategy.py avec un éditeur de texte. Dans la classe, nous allons spécifier des paramètres que notre stratégie va devoir respecter.

Nous commençons par définir le minimal_roi, ROI signifiant retour sur investissement), qui permet de définir de vendre nos actif à n’importe quel moment de la stratégie si un pourcentage de bénéfice est atteint indépendamment du reste de la stratégie. Pour ce tutoriel, j’ai choisi un minimal_roi qui a n’importe quel moment de la stratégie engagera une vente si les bénéfices dépassent les 50%. De plus, si le trade est ouvert depuis plus de 40 minutes, alors une vente sera émise si les bénéfices dépassent 20%.

minimal_roi = {
  "40": 0.2,
  "0": 0.5
}

Nous allons également mettre en place un stop loss, pour éviter d’avoir des pertes trop importantes.

stoploss = -0.15

Avec ce stop loss, si un de mes trades enregistre des pertes supérieures à 15%, un ordre de vente sera émis.

Nous allons ensuite choisir une unité de temps pour notre robot de cette façon (ici, 5 minutes).

timeframe = '5m'
Ajout des indicateurs techniques à la stratégie

Pour ajouter des indicateurs techniques à la stratégie, nous allons modifier la fonction populate_indicators. Dans le cadre de ce tutoriel, je vais utiliser le Relative Strength Index, un indicateur technique dont nous avons déjà parlé à de nombreuses reprises.

dataframe['rsi'] = ta.RSI(dataframe)

Après avoir ajouté l’indicateur (vous pouvez évidemment en ajouter d’autres), je termine cette fonction par un return de dataframe.

return dataframe
Ajout des conditions d’achat/vente

Pour ajouter une condition d’achat, il faut modifier la fonction nommée populate_buy_trend puis ajouter notre condition à l’intérieur ainsi qu’un return de la dataframe comme ceci.

dataframe.loc[
(
(dataframe['rsi'] < 30)
),
'buy'] = 1

return dataframe

Dans cette exemple, je décide qu’un ordre achat est envoyé si le RSI est inférieur à 30.

Cela marche de la même façon pour les conditions de vente. Je décide qu’un un ordre de vente est émis quand le RSI est supérieur à 70.

dataframe.loc[
(
(dataframe['rsi'] > 70)
),
'sell'] = 1

return dataframe

Et voilà ! Il ne reste plus qu’à tester notre stratégie. Si vous ne savez pas comment faire, je vous redirige vers notre tutoriel sur l’utilisation de Freqtrade, où nous avons présenté son fonctionnement général. Cette stratégie n’a pas vocation a être mise en place avec vos fonds. Elle est très simple, et a pour principal intérêt de vous présenter comment construire votre propre stratégie avec Freqtrade. Vous avez maintenant toutes les cartes en main pour créer et personnaliser vos robots de trading avec Freqtrade ! La prochaine étape, c’est de booster les résultats de votre stratégie (15% sur la stratégie en exemple!) grâce à une fonctionnalité incroyable de Freqtrade, Hyperopt. Bon trading !

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.