Comment faire des bots de trading ?

Robot de couleur bleu faisant un signe de la main

Nous allons voir comment faire des bots de trading très simplement. Les différentes variables que nous pouvons y ajouter, la manière de procéder pour trouver les bons réglages, les bonnes unités de temps etc.

Qu'est-ce qu'un bot de trading ?

Avant de construire et coder des algorithmes de trading il est quand même bon d’expliquer qu’est-ce que c’est !

Un robot de trading est un système informatique plus ou moins élaboré qui va permettre en fonction des variables insérées de prendre des positions à l’achat ou à la vente sur différents instruments financiers. Tout peut être codé, la taille des positions, le money management etc.

 Il est possible de voir sur le net beaucoup d’offres commerciales vous proposant des robot Forex ou robot Bitcoin et j’en passe. J’ai vu des “trucs” à 47 euros… bref, soyons sérieux, quelque chose qui rapport des milliers ou millions d’euros n’est pas vendu pour ce prix. Il est encore moins distribué car plus il y aura de robots traders à utiliser la même stratégie moins cette dernière va fonctionner…

Donc le petit argument markéting “le robot de trading le plus vendu” vous savez ce que vous pouvez en faire…

La particularité d’un algorithme de trading est qu’il ne va pas être soumis au stress. Aux émotions, le money management va être appliqué à la lettre. Un bot est généralement codé pour un certain type de marché à une période plus ou moins longue donnée. Lorsque le marché change, les performances du robot peuvent grandement se dégrader. Il faut l’avoir à l’esprit.

De mon point de vue, un robot trader doit être surveillé, régulièrement réglé. C’est un outil à part entière faisant partie de votre stratégie. Personnellement j’utilise les bots d’une manière semi- automatique. Je les vois s’enclencher en direct sur mes graphiques mais il m’arrive de couper le robot ou le mettre en stand by lorsque le marché est trop complexe, à l’approche d’une annonce économique etc.

Faire son robot de trading sois même.

Construire un robot de trading revient à mettre sous forme de code “votre” stratégie de trading, votre pattern de trading. Dans un premier temps il faut savoir cela car le bot va avoir besoin de conditions pour entrer et sortir du marché.

Il faut y inclure un money management, calculer la taille des positions qu’il va prendre.

Je travail que sur prorealtime donc je ne pourrais que difficilement répondre aux questions relatives aux autres plateformes type MT4 MT5.

 

Les conditions pour rentrer en position.

Nous allons choisir quelque chose de simple mais d’efficace, que nous comprenons, qui est logique. Pour que les réglages soient plus simples. Nous verrons en fonction des tests s’il y a besoin de rajouter plusieurs couches de filtres.

Pour les back tests j’ai commencé à regarder l’unité de temps 1 heure sur le nasdaq. Le stochastique me semble pas mal pour commencer à construire quelque chose. J’ai déjà une petite idée pour un filtre supplémentaire si besoin (une moyenne mobile)

SUR PROREALTIME : 

Allez dans ajouter un indicateur > onglet système de trading > la clé blanche en haut à droite vous devez arriver ici et voir cette page de menu.

menu algorithme de trading sur la plateforme prorealtime

Ensuite sur créer et vous arrivez ici.

Nous pouvons coder sur le même robot les ventes et les achats. Les positions longues sont les achats et courtes, les ventes, logique. 

Dans positions longues la partie achat signifie que c’est ici que nous allons donner les conditions pour entrer dans le trade à l’achat. La partie vente permet de définir comment nous allons vendre ce trade à l’achat.

Pour les positions courtes c’est la même chose pas besoin de détailler je pense.

Notre robot de trading va faire les deux ou juste travailler dans une direction ? Et bien j’aurais tendance à dire qu’il vaut mieux avoir un bot pour les achats et un bot pour les ventes. Les mouvements sont quelques fois différents et ce qui fonctionne à l’achat peut ne pas fonctionner pour les ventes.

réglage des condition d'achat du robot de trading

Quand vous cliquez sur achat vous devez sélectionner avec votre curseur le prix, l’indicateur, bref la variable qui va servir pour faire partie des conditions d’achat.

Ensuite vous vous retrouvez sur cette page. J’ai fait les réglages suivants : je demande qu’un achat soit fait quand le stochastique croise à la hausse la valeur 50. Un lot sera acheté.

Les conditions pour sortir de la position.

Maintenant il faut définir la condition de sortie du trade. Ici je ne vais pas en mettre mais plutôt utiliser un stop suiveur.

menu money management et gestion du risque du robot trader

Nous sommes dans la partie money management / gestion du risque du robot trader. Cette partie-là va nous permettre lors des back tests de faire plusieurs réglages jusqu’à trouver celui qui semble être le plus prometteur.

En haut à gauche vous définissez un stop-loss fixe. Si vous retenez cette option il vous faudra définir un critère de sortie dans le menu précédent (vente). En bas vous avez le stop suiveur. Il va remonter par bloc de 30 points par 30 points mais ne jamais redescendre. Cela signifie que tant que ca part dans le bon sens et que les respirations du prix sont modérées, nous pouvons rester dans le trade.

Le target. Il s’agit du take profit basique. Ici pas besoin c’est le stop suiveur qui va faire office de TP. Le ratio risque. Ici je vais définir un ratio. Si je mets 2 le take profit s’affichera automatiquement à 60 si ratio de 3 TP à 90 etc. Pas compliqué.

menu qui permet de déterminer les horaires de fonctionnement du robot trader

Les back tests

Les horaires de trading sont à définir également. Ici pour le nasdaq je vais prendre large car depuis de nombreux mois le nasdaq bouge très correctement même aux heures européennes.

Les jours de trading rien de particulier, si vous faites un bot de trading sur le Bitcoin vous pouvez laisser samedi dimanche car les cryptos tournent non stop.

Avant de lancer les back tests et peaufiner nos réglages il faut rentrer les frais de bourse et commissions (futures) vous pouvez également renseigner le spread si vous trader sur CFD. Ici l’aller retour sur futures me coûte 1.95 $ pour un lot de Mini Nasdaq100. Cette partie se trouve au tout début dans création simplifiée.

résultat du premier back test avec notre robot trader

ATTENTION AVEC LES BACK TESTS 

Je me suis rendu compte au fil du temps que le back test ne voulait hélas pas dire grand chose. Je m’explique. Ce test statique (important de le rappeler) montre beaucoup de choses intéressantes OK. Mais, il faut savoir que vos tests peuvent tous donner le robot gagnant et rentable alors qu’en dynamique il ne va pas se comporter de la même manière… Oui ça paraît fou et pourtant c’est bien la réalité.

Je me suis rendu compte de cela par hasard. Je termine des essais statiques sur un algo puis je ne comprends pas pourquoi il n’est toujours pas plus rentable !! je vérifie en manuel ma logique de trading, le pattern semble bon et pourtant ça fonctionne pas… Et bien j’ai fait le test en dynamique sur le compte démo et figurez vous que ce fut l’un des plus rentable que je n’ai jamais fait ! Depuis j’ai toujours nuancé les résultats des back tests car ils ne doivent servir que de pistes de réflexion mais ne reflètent aucunement les résultats.

 

Résultats des back tests

Je ne vais pas rentrer dans les détails car cela n’a aucune importance mais j’ai essayé un nombre important de différentes combinaisons allant de l’unité de temps à la variation du stop-loss.

résultat du second back test avec notre robot trader en unité de temps 3 heures

Unité de temps 3 heures stop-loss à 30.

Ca peut aller mais sur une période aussi longue le profit est très faible. Nous sommes sur futures à 25 $ le point. Cela fait 360 pts, pas beaucoup.

résultat du troisième test avec notre robot trader en unité de temps 15 minutes

Un changement d’unité de temps en 15 minutes permet un nouveau résultat très intéressant. Ici ce qui me pose problème c’est le ratio. Ca fait juste. Le stop est à 30 ici.

Résultat final avec nouveau réglage du stop-loss

UT M15 mais réglage du stop à 40. C’est toujours un stop suiveur. En revanche ça fait bouger les résultats. Ce qui est normal. Le fait d’ajouter 10 pts de stop permet au prix de prendre des respirations plus importantes sans pour autant se faire sortir par le stop qui remonte.

Le ratio n’est pas terrible et il faudra ajouter une seconde couche de filtres comme par exemple une moyenne mobile.

Testez toujours vos bots de trading en dynamique sur compte de démo.

Comme indiqué plus haut, vos bots de trading ne se comportent pas toujours comme prévu en réel. Les résultats en statique sont régulièrement bien différents donc il faut essayer plusieurs combinaisons. Avec l’expérience vous savez en gros ce qui fonctionne ou non. L’essentiel c’est d’acquérir de l’expérience en dynamique pour savoir ce qui roule ou pas dans un marché en mouvement.

Prenez en compte le fait que certains courtiers ne permettent pas l’usage de robots de trading. En effet celui-ci une fois édité et finalisé, il suffit juste de le mettre sur ON ou OFF. Le code est envoyé sur les serveurs de prorealtime et tant qu’il est actif il envoi des ordres auprès du broker. 

Certains brokers CFD que je ne cite pas acceptent les algorithmes de trading mais quand ces derniers passent des ordres trop souvent ils se retrouvent en défaut donc c’est à surveiller. De toute manière tant que vous avez à faire avec un courtier régulé, tout est clair, aucun piège. C’est oui ou non, ou bien il y a des conditions qu’il suffit de connaître.

 

ATTENTION : ce qui fonctionne sur un instrument financier peut ne pas du tout fonctionner pour un autre. C’est du cas par cas, instrument par instrument. Ces réglages prennent beaucoup de temps mais je trouve qu’il s’agit d’un exercice intellectuel très intéressant.

Bons trades et bons codages ! 

Mat