Articles Populaires

Choix De L'Éditeur - 2019

Pourquoi automatiser votre stratégie?

Pour réussir sur le marché des changes, un commerçant a besoin d'un système commercial avec des règles, des filtres et des restrictions claires. Dans le même temps, les stratégies de trading assez rentables ne comportent souvent que quelques règles de base qui peuvent être écrites sous la forme d’un algorithme. De tels systèmes sont souvent appelés mécaniques et ce sont précisément ces algorithmes que les traders adorent transférer en code de programme. Aujourd'hui, je vais partager un algorithme sur la façon de développer mon robot de trading.

Pourquoi automatiser vos stratégies de trading?

La première raison est une vérification des données historiques. En principe, tout est logique. Vous avez votre propre stratégie de trading, ce qui vous rapporte actuellement des bénéfices, mais vous voulez savoir comment cela a fonctionné dans le passé et si cela fonctionnera dans le futur. Même si vous n'allez pas installer un robot à votre place, cette connaissance vous apportera une confiance supplémentaire, en particulier pendant les périodes de ralentissement prolongé.

La deuxième raison est la sélection de la gestion optimale de l'argent et une évaluation quantitative de l'efficacité du système. Même si votre stratégie fonctionne et génère des bénéfices, sans test, il est assez difficile de dire quels risques et manières de les gérer seront optimaux. Tester le système sur des données historiques fournit des informations utiles telles que les prélèvements maximum, les bénéfices minimum et maximum sur une période donnée. Les tests vous permettent également de comparer plusieurs systèmes de trading les uns avec les autres.

La troisième raison est l'objectivité. Lorsque vous négociez sur des comptes réels, le commerçant subit une charge énorme sous forme d’émotions et il doit y faire face. Parfois, un commerçant disposant d'un bon système commercial rentable ne peut pas gagner d'argent, car il ne peut pas contrôler ses émotions. L'automatisation du commerce résout ce problème assez facilement.

La quatrième raison est la cohérence. Tester un système commercial permet de connaître tous les détails et tous les facteurs affectant le système, ses forces et ses faiblesses. Lorsque le risque est établi pour chaque transaction, il existe des règles claires pour entrer et sortir, il est beaucoup plus facile d'agir. Vous apprendrez également comment agir dans une situation donnée, adapterez votre véhicule de manière plus flexible et les risques commerciaux à la situation actuelle du marché.

La cinquième raison est la liberté. La plupart des gens viennent au forex juste pour ça. Ils veulent avoir assez d’argent pour ne pas travailler huit jours par jour pendant cinq jours et ne pas se limiter à leurs finances. Cette opportunité est simplement donnée par les systèmes de trading automatisés. L'auteur du conseiller ne réfléchira qu'une seule fois à son code et tirera profit de son travail pendant des années. Bien sûr, écrire un conseiller ne prend que quelques minutes, parfois plusieurs semaines, voire plusieurs mois. De plus, l'auteur doit de temps en temps ajuster son travail en reconfigurant les paramètres du conseiller en fonction de la situation actuelle du marché ou apporter des modifications mineures au code. Et pourtant, c'est loin d'être un travail au sens habituel du terme - vous n'êtes pas attaché à un lieu de travail particulier ni à une durée limitée.

Développement du système commercial

Ecrire un conseiller commercial commence par une idée. Cela peut être une stratégie toute faite trouvée sur un site Web ou à lire quelque part sur le forum forex, ou tout simplement une idée abstraite qui vous est venue pendant une pause cigarette sur le balcon de votre appartement. Peu importe la façon dont elle vous vient à l’esprit, l’important est ce que vous ferez ensuite.

Et puis, en un mot, l’algorithme est le suivant:

  1. Énoncez clairement une idée commerciale. Comme je l'ai dit, n'importe quelle source d'inspiration peut être. Mais votre idée doit tenir compte de deux exigences minimales: le point d’entrée sur le marché (une ou plusieurs règles) et le point de sortie de celui-ci (le même). Une stratégie peut même consister en des conditions d'achat et de vente complètement différentes. Elle peut avoir plusieurs options pour entrer ou sortir. La seule règle est que les entrées et les sorties doivent être considérées. En outre, la stratégie de négociation contient des règles pour la gestion de l'argent, des profits et des pertes. La gestion de l'argent peut être développée ultérieurement, et la gestion des profits et pertes est liée aux règles d'entrée.
  2. Choisissez les meilleurs outils pour sa mise en œuvre. Décidez quels indicateurs, modèles de tarification, certaines données des sites sur le réseau ou autre chose. Les règles doivent être claires et ne pas impliquer d’options. Un exemple de règle claire consiste à placer un ordre d’arrêt de vente lors de l’ouverture d’une nouvelle bougie en dessous de l’ombre inférieure de la bougie précédente de 5 points, si la bougie précédente dépassait la moyenne mobile EMA55, mais clôturait en dessous, tandis que le prix ne clôturait pas au-dessus de la dernière bougie EMA55, et EMA55 sur la précédente bougie précédente. que 20 bougies de retour. Un exemple de règles floues - nous saisissons les ventes si le stochastique est suracheté et que l'EMA55 chute.
  3. Ecrire ses règles sous la forme d'un algorithme. L'algorithme du futur conseiller vous aidera à ne pas vous embrouiller dans tous les rebondissements logiques de son travail et vous aidera à créer un code cohérent et logique. Les programmes pour créer des organigrammes tels que yED à partir de yworks.com sont bien adaptés à cela. Les programmes de cartographie mentale tels que Xmind ou Freemind conviennent également.
  4. Écrivez en fonction de l'algorithme de votre conseiller. Si possible, essayez d'optimiser votre code afin que les tests et l'optimisation soient aussi rapides que possible. Notre cours «Programmation MQL» vous aidera à écrire.
  5. Testez et optimisez votre conseiller. Vérifiez le journal pour les erreurs. Les codes d'erreur sont répertoriés dans le journal et leur description est disponible sur le site Web mql4.com. Je vous recommande également d’obtenir une fonction spéciale - un gestionnaire d’erreur avant de placer le conseiller sur un compte réel. Eh bien, ou du moins, ajoutez une fonction avec une description des erreurs en russe, de sorte que dans le journal, lorsqu'une erreur apparaît, une description s'ajoute à son code - cela vous fera gagner du temps. Choisissez le délai optimal pour que le conseiller travaille et optimisez autant de paires que possible.
  6. Mettez votre nouveau conseiller sur un compte de démonstration. Consultez quotidiennement le journal du terminal pour rechercher des erreurs. Certains d'entre eux peuvent ne pas être apparus au stade des tests. Vous verrez également le vrai travail de votre conseiller et vous pourrez évaluer son efficacité sans perdre de l'argent réel.
  7. Installez le conseiller sur un petit compte réel. Après avoir reçu suffisamment de données pour analyser les données, effectuez une analyse des performances de l’AE et comparez-la avec les résultats obtenus lors des tests et des tests effectués sur un compte de démonstration. Lors de l’évaluation, il convient de prêter attention à des paramètres tels que la fréquence et la durée des transactions, le prélèvement maximal sur le compte, le profit maximal par transaction, la taille et la durée des transactions moyennes perdantes et gagnantes, le nombre total de transactions, le rapport entre non rentable et rentable, le nombre de transactions gagnantes et négatives consécutives et leur ampleur.
  8. Surveillez et coordonnez périodiquement le travail du conseiller, apportez des modifications au code, si nécessaire, ou avez des idées pour améliorer son travail (après avoir été testé, bien sûr).

Le succès de chaque étape ultérieure dépend de la précédente. Si l'un d'entre eux a commis une erreur ou une erreur de calcul, vous devez tout recommencer. C'est pourquoi vous devez faire très attention à ce que vous faites.

Supposons que lorsque vous testez en temps réel, vous subissiez des pertes supérieures au maximum lors de tests sur des données historiques. Ne supprimez pas immédiatement le conseiller et écrivez-le. Il peut y avoir trois raisons à cet événement: le système est faible et l’idée est erronée, le système est bon, mais l’optimisation a été mal faite, des conditions extrêmement défavorables sont apparues, qui n’étaient pas remplies par les données historiques. Comme vous pouvez le constater, deux des trois raisons suggèrent qu’il est trop tôt pour renvoyer le conseiller. Si l'optimisation n'a pas été effectuée correctement, recommencez. Si le marché est à blâmer pour les pertes, ce qui est facile à vérifier en ouvrant les charts, il vous suffit d'attendre la période défavorable et de poursuivre les tests. Eh bien, la première option n'est pas traitée.

Gestion des risques

En règle générale, la gestion des risques vous permet de limiter le montant de capital pouvant être perdu à la suite d'une transaction ou d'une série de transactions ou même lors de transactions avec un conseiller.

Risque d'entrée

Le risque d'entrer dans une position peut être limité à un certain montant d'argent ou à un pourcentage du dépôt. En conséquence, lors de l'entrée dans une position, un stop loss est défini, ce qui limite les pertes maximales de la position.

Risque de nuit

En ce qui concerne le Forex, il s'agit d'un risque lors du transfert d'une position au cours du week-end. Ce risque ne peut en aucun cas être limité, en raison d'un écart (un écart entre les cours de clôture du vendredi et celui d'ouverture le lundi), le trader peut subir des pertes importantes qui ne peuvent être limitées par le stop-loss habituel - le prix peut facilement dépasser le niveau votre stop loss, emportant avec vous une partie importante de votre capital. La seule option qui puisse être utilisée pour contrôler ce risque est de décider de quitter la position le week-end et, le cas échéant, de tout ou partie de celle-ci.

Risque commercial

Il s’agit du montant minimum de capital exposé à un risque à long terme lors de la négociation sur l’UC. Il est mesuré de plusieurs manières différentes et en voici les trois principales: la série de pertes maximale (le montant de pertes résultant d’une série de transactions perdantes consécutives dans la devise du dépôt), le tirage maximum (le tirage le plus élevé du compte du maximum précédent au minimum actuel) et le capital requis (la somme du tirage maximum, la marge, le stock) et autres choses nécessaires pour le commerce en fonction de la stratégie).

Risque non commercial

Récemment, nous avons tous constaté combien de maisons de courtage peuvent facilement et rapidement disparaître du marché. De manière générale, aucun d'entre nous n'est à l'abri de la possibilité d'amener notre argent chez un courtier peu scrupuleux ou sur le point de le perdre. Par conséquent, mon conseil est de toujours prendre au sérieux le choix d'un courtier. De nos jours, toute information peut être trouvée sans quitter votre ordinateur préféré. Traversez le courtier à qui vous allez confier votre argent, assez pour reconstituer les rangs des ventouses - il y en a tellement! Voir la section Courtiers sur notre forum.

Le choix de la période, le segment pour le test

Le segment de données historiques alloué pour tester le conseiller s'appelle la fenêtre de test. Lors de la détermination de la taille de cette fenêtre, il est nécessaire d'obtenir une représentativité statistique du résultat du test et de couvrir des périodes adaptées au système de négociation testé et inappropriées. Nous avons besoin de résultats statistiques fiables, c'est-à-dire que le nombre de transactions devrait être assez important.

En général, le résultat d'au moins cent transactions est considéré comme statistiquement significatif. Si vous souhaitez une approche plus scientifique, voici une formule très simple pour déterminer l’erreur type: 1 / sqrt (N + 1), N étant le nombre de transactions. À en juger par la formule, plus l'erreur-type est petite, plus le nombre de transactions est important. Cette erreur indique le degré de précision des résultats. Dans la recommandation ci-dessus (au moins 100 transactions), l’erreur type sera d’environ 10%. A quoi sert ce chiffre? Très simple - prenons par exemple le gain moyen du résultat du test, par exemple 1000 $. Ensuite, dans le négoce réel, vous devez vous attendre à une indication du gain moyen après le même nombre de transactions (100) dans un intervalle de + - 10%, soit de 900 à 1100 $. Si nous étions satisfaits de dix transactions au cours de l’essai, il serait intéressant, dans le commerce réel, d’attendre un bénéfice moyen de la transaction entre + -30%, soit entre 700 et 1300 $. Comme vous pouvez le constater, une précision acceptable est obtenue avec 100 transactions.

La stabilité du système

La stabilité du système n’est autre que la stabilité des échanges commerciaux. Plus le système est stable, plus il est stable et donc plus fiable. Lors du test, vous devez examiner le rapport entre les transactions rentables et les transactions non rentables et (surtout) l’écart type de la taille et de la durée des transactions rentables et non rentables. Plus les écarts-types de ces valeurs sont faibles, plus le système est stable, plus la courbe de rendement est lisse. Plus les écarts sont importants, plus le graphique de rentabilité du système est instable et «saute». Un système stable devrait générer des bénéfices dans un large éventail de variables, dans un large éventail de marchés et de conditions de marché. En d'autres termes, si le système ne fonctionne qu'avec une seule paire de devises, un tel système est instable.

Durée de vie du système

Ce n’est un secret pour personne qu’après leur mise en vente, les robots scalpeurs cessent rapidement de générer des bénéfices et que les créateurs publient de nouveaux fichiers avec les réglages de leur progéniture. Maintenant, je parle de vendeurs responsables, pas de charlatans vendant diverses ordures. Cela est dû au fait que les marchés changent avec le temps et que les anciens paramètres des robots cessent d’être efficaces.

En outre, plus la fenêtre de test est petite, plus la durée de vie du système est courte. Je m'efforce de créer des robots aussi stables que possible et avec une durée de vie illimitée, mais très peu de systèmes peuvent fonctionner pendant des années sans s'adapter au marché. Par conséquent, un autre critère de test pour le test est la date d'expiration. Un système nécessitant une optimisation tous les trois mois n’est certes pas le plus pratique à utiliser, mais il a droit à la vie. La règle de base est que le système doit être stable entre 1/8 et ¼ de la fenêtre de test - c'est le minimum. Autrement dit, si vous utilisez l'optimisation sur 24 mois, le système devrait être efficace pendant au moins les 3 à 6 prochains mois. La durée de vie du système doit être mémorisée et l'optimisation effectuée à la fin du système (de préférence un peu à l'avance). Plus la fenêtre de test est large, plus la durée de vie du système est longue, moins l'optimisation est nécessaire, plus le système est stable et son comportement plus stable lorsque les conditions du marché changent. Néanmoins, plus le créneau est petit, plus le système de négociation peut gagner en efficacité et, partant, au profit du système, mais plus il sera sensible aux changements du marché. En d’autres termes, le système, par exemple, générera de très bons bénéfices tant que la tendance générale se maintiendra, mais dès qu’il trébuchera, le système fusionnera tout (à moins bien sûr que vous n’ayez le temps de l’optimiser).

J'espère que vous comprendrez mieux pourquoi les traders apprennent le langage mql et essayent d'automatiser leurs systèmes de trading. Vous savez également maintenant quelles étapes vous devez suivre pour créer et lancer un conseiller qui négocie sur votre système et vous comprenez quels sont les risques que vous pouvez rencontrer lors du processus de négociation. Le trading Algo est un processus très excitant, et plus vous en obtenez, plus vous serez prêt à inventer de nouveaux systèmes, à les tester et à les exécuter sur de vrais comptes. En fin de compte, je considère chaque nouveau conseiller comme un autre opérateur qui négocie personnellement pour moi. Je vous souhaite une centaine de ces commerçants, augmentant progressivement votre capital.

Laissez Vos Commentaires