0:00 Bonjour et bienvenue dans le tutoriel explicatif EA où nous expliquons comment créer un bot pour mt5 en utilisant le langage mql5 et je vais vous montrer où vous écrivez le code quel code vous pouvez utiliser et aussi comment ajuster votre code avec l'exécution du testeur de stratégie et l'analyse des résultats et aussi peaufiner les entrées et le code pour vous aider à démarrer à partir de xero jusqu'à la mise en œuvre et l'ajustement d'un EA qui fonctionne et place des transactions pour vous Plongeons dans la première étape est d'ouvrir votre plateforme metatrader donc ce sera mt5 vous pouvez le faire sur mt4 mais ce sera un code différent c'est pratiquement la même configuration ce que
0:47 vous allez faire est d'appuyer sur IDE une fois que vous avez ouvert votre plateforme metatrader et vous allez aller nouveau conseiller expert appuyez simplement sur suivant donnez-lui un nom peu importe ce que c'est ensuite terminer et nous allons tout contrôler donc Ctrl a et supprimez tout parce que l'étape suivante est que nous allons copier le code dont nous avons besoin à partir des liens du site Web dans le description ci-dessous donc une fois que vous y êtes nous sommes sur le site Web maintenant je vais juste descendre et copier tout ça juste pour que vous sachiez exactement quoi faire donc en le saisissant en faisant
1:32 défiler vers le bas et nous allons expliquer ce qui se passe donc revenons à l'éditeur méta donc là où vous appuyez sur IDE le programme s'est ouvert maintenant va juste Ctrl V coller ça et je vais compiler vous allez voir il y a tout un tas d'erreurs ici donc je vais essentiellement juste corriger faire une correction rapide et supprimer la section supérieure nous n'avons pas besoin de tout ça ça n'a pas vraiment d'importance si vous jouez juste et essayez de faire un EA pour vous-même ce qui s'est réellement passé quand je l'ai copié ce sont ces marques qui signifient que le texte n'est pas le bon texte donc
2:18 je vais juste remplacer ça par le petit symbole de double parole pour que je puisse voir ici que j'ai l'erreur je peux double-cliquer ça m'amènera là où se trouve le problème et ici en bas j'ai double-cliqué sur le I et le moins je vais juste mettre un signe moins 2 signes moins désolé parce qu'il l'a remplacé par un texte aléatoire qui ne fonctionne pas à cause de la fonction copier-coller pour une raison quelconque, vous n'avez peut-être même pas cette erreur sur votre ordinateur Je vais le compiler à nouveau maintenant et nous devrions pouvoir l'exécuter, alors revenez à la plateforme MetaTrader, ouvrez le testeur de stratégie, vous allez donc voir le testeur de stratégie supérieur,
3:04 cliquez dessus Je vais juste l'ouvrir maintenant et je vais aller simple Euro dollar américain c'est déjà là c'est bien Période personnalisée M5 nous irons de 2019 à aujourd'hui délai regardez tout cela va bien nous voulons juste voir que cela fonctionne pour l'instant optimisations entrées désactivées nous y reviendrons plus tard Je vais exécuter le test arrière et nous verrons dans le graphique une fois qu'il commence à négocier ce qui se passe mais nous pouvons vérifier dans le journal pour voir ce qui se passe réellement, il nous dit simplement qu'il obtient les ticks pour l'Euro Euro USD et maintenant il passe des ordres donc dans le testeur donc
3:52 c'est tout un faux environnement vous pouvez juste voir ce qui se passe réellement avec votre conseiller expert donc nous voyons que cela se déroule pas trop positif et nous allons bientôt passer en revue le back test et l'analyse pour identifier ce qui ne va pas et après cela, nous allons réellement modifier certaines entrées et ajuster le code pour rendre cette exécution un peu meilleure, laissez cela jouer son rôle, cela ne devrait pas prendre trop de temps, d'accord, donc c'est terminé, vous pouvez voir que l' onglet back test ici en bas est apparu et ce que nous pouvons voir, c'est que nous avons eu pas mal de pertes comme le montre le graphique, les transactions courtes et les transactions longues étant un pourcentage assez élevé, mais évidemment quand il y a un perdant, donc la transaction la plus perdante
4:38 est de 630 par rapport à la transaction la plus rentable de 46, donc nous pouvons faire défiler vers le bas, nous avons le profit et la perte par jours de la semaine, nous pouvons voir que le lundi et le mardi ont des jours rentables comme vous pouvez le voir par le bleu est plus grand que le rouge, mais le mercredi jeudi vendredi sont tous des jours perdants, donc nous pouvons ajuster cela dans le code, vous pouvez également voir par mois quand cela fonctionne et quand ce n'est pas le cas et aussi par heure de la journée en fonction de l'heure de la plateforme donc nous vraiment prendre un coup quand c'est la 17e heure donc c'est la session américaine et aussi la 21e heure donc nous avons une gamme de statistiques ici comme nous savons que nous avons déjà perdu
5:23 ce n'est pas un algorithme rentable donc je vais sauter le code maintenant je vais faire quelques ajustements donc je vais en fait changer le pourcentage cible et le pourcentage d'arrêt comme vous pouvez le voir dans cette section ici je vais taper les mots input et comme cela apparaît en bleu cela signifie qu'il a reconnu quelque chose dans le langage et ce que nous pouvons faire est de changer le pourcentage cible et l' arrêt cible maintenant je vais rapidement examiner le code juste pour voir ce que nous avons réellement donc en haut nous avons inclus la bibliothèque de trading je crois que c'est et cela nous permet d'appeler certaines choses à partir
6:11 du menu de commerce maritime Je suppose que nous avons décrit une gamme de variables que nous allons réellement utiliser donc des choses comme la demande le prix de l'offre un indicateur de nombre magique informations cibles et arrêts et nous allons jeter un œil donc nous arrivons à la fonction void on tick c'est là que vous tapez quoi En fait, ce qui se passe en haut, ce sont des variables et, fondamentalement, quelque chose qui va être utilisé dans le code dans la fonction plus tard, puis vous avez la fonction signifiée par ces accolades et le vide sur le tick et, fondamentalement, ce que nous avons en
6:56 termes très simples, c'est que nous avons des fonctions de temps ici, donc c'est la minute, fondamentalement, le TSM signifie que vous pouvez dire que TSM est égal à cinq et cela signifie cinq minutes et la même chose pour le TSH, donc si le TSH ou l'heure est égal à sept, vous pouvez essentiellement dire au code de coder uniquement lorsqu'il est à la septième heure, nous avons la même chose pour la journée, donc nous construisons des données ici, donc nous avons le prix acheteur/nas doit entrer un peu plus en détail pour identifier ce qu'est réellement le prix vendeur ou comme le prix vendeur, qu'est-ce que cela signifie pour le code, donc nous devons réellement l'entraîner pour que le prix vendeur soit
7:43 égal à un double qui est une forme d' un nombre et nous avons le symbole info double qui dit essentiellement quel symbole ou c'est une fonction pour obtenir les informations que nous avons le symbole afin qu'il appelle tous les symboles sur le graphique que nous sommes l'utiliser ou le tester apportera le prix demandé comme nous l'avons appelé ici, donc le symbole demande ce symbole et il apportera le nombre de chiffres requis pour ce symbole particulier, donc certaines paires de devises et indices ont une structure de prix différente, donc vous pouvez avoir 0,000 pour une devise alors qu'un indice peut seulement aller à 0,00,
8:30 donc il refroidit le bon nombre de chiffres pour vous et vous donne essentiellement le prix demandé lorsque vous saisissez cela plus tard dans la fonction de même pour l'offre, nous venons de changer le symbole soulignement offre et appelé la même fonction ici nous avons des informations sur les bandes de Bollinger, essentiellement cela permettra aux gens d'utiliser le Bollinger hebdomadaire les bandes oculaires qui est l'expression pour les bandes de Bollinger le prix le plus bas le prix le plus élevé stop loss Target donc nous identifions en fait certaines informations ici, que ce soit en fonction de ce que nous voulons utiliser, nous avons également le volume à utiliser donc calcul de lot et taille de lot essentiellement je ne vais pas y entrer
9:17 maintenant, mais fondamentalement ce que cela fait est basé sur ce nombre, il va diviser et nous donner une taille de lot basée sur notre équité actuelle donc comme le Désolé, à mesure que le solde du compte monte et descend, la taille de notre lot s'ajustera en conséquence. L'action est désormais définie. C'est ici que nous commençons à placer une transaction. Le jour doit être inférieur à quatre. Le Bollinger hebdomadaire doit être supérieur à 0,01. Le Bollinger hebdomadaire vérifie simplement que la bande de Bollinger est sur le graphique. Il donnera donc un chiffre
10:04 supérieur à 0,01 s'il est en direct et identique au prix bas. S'il n'y a pas de prix sur le graphique, nous ne voulons pas passer à l'action et commencer à rechercher des transactions. Nous voulons que le graphique se charge. Nous voulons donc demander ici qu'il soit supérieur au Bollinger hebdomadaire ou au WB. Nous pouvons vérifier quel est le WB, c'est la bande haute de la bougie actuelle. Donc, sur cette base, je suppose que nous allons entrer dans une cellule, nous allons vérifier les positions courtes déjà. Nous voulons essentiellement vérifier combien de transactions sont déjà sur le marché. S'il y en a déjà une, nous n'en placerons pas une autre. il va annuler donc ce sera moins d' un avant de passer à l'étape suivante
10:51 et nous avons l'offre doit être supérieure au prix bas aussi donc ce sont toutes des sortes d' indications aléatoires de la façon dont le code fonctionne afin que vous puissiez avoir une idée de ce que vous pouvez réellement faire et vérifier avant d' entrer dans la fonction donc une fois que tous ces critères sont satisfaits donc si tous ceux-ci sont satisfaits, sautez dans la fonction ici et nous allons définir un nombre magique afin que nous puissions l'identifier et interagir avec cette transaction plus tard via le code et ensuite nous allons négocier la cellule de point qui est une transaction de vente et nous allons avoir la taille du lot qui est calculée ici
11:36 nous allons avoir le symbole du graphique sur lequel nous sommes nous allons appuyer sur la virgule juste écraser cela juste pour vérifier ce qui se passe réellement donc cela fera apparaître des informations et nous pouvons voir si nous appuyons sur la flèche donc c'est le prix donc nous l'avons mis à zéro Je crois que cela devrait en fait lire que vous voulez entrer sur le prix acheteur ou vendeur donc c'est probablement ce qui devrait probablement être Nous avons donc modifié l'enchère plus le stop loss, puis l'enchère prend la cible, c'est le stop loss et c'est la cible, puis nous avons un commentaire afin que
12:21 nous puissions voir une note plus tard que le code a écrite pour nous lorsqu'il place la transaction en sautant plus bas. Nous avons une autre instruction if, fondamentalement, ces conditions sont-elles toutes remplies ? Si oui, entrez dans la fonction, définissez le nombre magique et effectuez une transaction d'achat, comme nous pouvons le voir, point par point et fondamentalement la même disposition à nouveau. Ce zéro devrait être soit un bit, soit une demande, selon qu'il s'agit d'un achat ou d'une cellule. Nous avons l'enchère, l'enchère, la prise, le stop loss et l'enchère plus la cible, et c'est un commentaire, donc c'est juste du texte. Tout ce qui se trouve dans ces petits symboles est du texte. De plus, si vous souhaitez écrire une note,
13:08 vous pouvez simplement aller 4-4 Dash, vous en avez donc besoin de deux, puis vous pouvez écrire des notes qui ne créent pas réellement de code ou quoi que ce soit avec lequel l'ordinateur interagit. C'est juste pour que vous puissiez lire plus tard, tout comme j'ai écrit une action configurée ici, donc je sais ce qui se passe, la tête en bas un peu plus loin, donc cette fonction en tant que La situation de trading a été clôturée. Nous avons un contrôle int pour la position courte et, fondamentalement, cela compte toutes les positions et vérifie toutes les positions qui sont courtes pour le moment et cela ajoute simplement un compte s'il y en a un. Donc, si nous avons une transaction ouverte
13:55 qui est courte, cette fonction retournera ou fournira l'information d'un 1 s'il n'y a rien, ce sera un zéro, c'est la même chose pour le long, donc, fondamentalement, cela va empêcher le code d'entrer 100 transactions en même temps. Cela va simplement nous permettre de passer une commande une par une, donc compilez-les pour voir s'il y a des problèmes ou des erreurs que vous pouvez voir plus bas dans cette section et nous reviendrons sur la seule chose qui est différente et vous pouvez dire si elle a été mise à jour correctement en vérifiant les entrées, donc nous avons la largeur que nous allons garder la même. Nous irons à 3,5,
14:41 puis nous allons la changer à 0,00 huit et nous la changerons à 0,008, donc nous allons passer à un ratio risque-récompense de un pour un et nous allons cliquer sur Démarrer pour vérifier le journal. assurez-vous que tout fonctionne correctement, nous avons effectué une transaction, ce qui signifie qu'il y a des ordres qui circulent dans le graphique et qui évoluent différemment qu'avant. Donc, comme nous avons une cible plus grande et un stop de même taille, cela dépendra de la fréquence à laquelle cette stratégie gagne contre les perdants plutôt que de prendre de petits extraits et d'avoir des pertes massives ici et là. Nous allons donc laisser cela se dérouler, nous allons avancer rapidement.
15:29 D'accord, donc sur la base des paramètres aléatoires que nous venons de mettre en place, nous avons perdu environ 2 300 dans ce test. Nous allons vérifier le backtest et voir ce qui se passe. Nous avons donc effectué 291 transactions avec un taux de 50, un peu moins de 50 pour cent de gains pour les transactions courtes, 50 pour les transactions longues, une transaction à profit la plus importante, 717, et une transaction perdue, les plus importantes étant 743. Maintenant, il y a probablement quelque chose à voir avec les spreads et les coûts qui nous donnent un résultat biaisé
16:16 et la moyenne est également un peu différente. Le bénéfice moyen, la perte moyenne, donc le nombre maximal de gains consécutifs est de cinq d' affilée. contre six pertes consécutives et une moyenne de deux et deux pour les pertes par rapport aux gains, nous allons jeter un coup d'œil rapide à la structure des jours, donc si nous ne faisions qu'un lundi, cela pourrait être une meilleure option si nous supprimions mars, donc potentiellement quelque chose s'est produit en mars ou c'est une chose cohérente qui se produit chaque année, c'est quelque chose que vous devez aller tester un peu plus en profondeur et regarder le graphique, donc revenez au graphique et voyez où les creux se produisent et voyez simplement s'il y a une sorte d'
17:02 information que vous pouvez trouver, donc du 24e jour du troisième mois jusqu'au cinquième du cinquième, donc c'était quelques mois là qui étaient assez mauvais. Nous y revoilà de juin à août, disons, ajoutez une période là-bas, donc essayer d'identifier ce qui cause réellement certains de ces problèmes peut être utile, annuler toutes les transactions à partir de lundi, donc seules les transactions le lundi peuvent être effectuées également. Je vais vous montrer rapidement comment faire cela, donc TSD, j'ai défini
17:49 le jour donc l' heure actuelle, donc c'est le jour de la semaine maintenant, le jour doit être inférieur au quatrième jour qui est jeudi pour entrer et toutes les données de nos transactions sont négociées donc lundi mardi mercredi tout ce qui se passe le jeudi vendredi est parce que les transactions sont toujours ouvertes à partir de ces premières transactions donc c'est basé sur les vêtements donc chaque fois que les transactions ferment c'est à ce moment-là qu'elles sont placées dans ces segments de données si tout était ouvert nous n'aurions que lundi mardi mercredi comme euh comme profits et pertes et comme nous pouvons le voir
18:35 nous avons des entrées par jours de la semaine tous les lundi mardi et mercredi mais ensuite nous descendons ici où il y a des profits et des pertes les transactions sont toujours ouvertes maintenant deux ajustements du jour donc disons que nous voulons seulement négocier le lundi nous pouvons aller égal donc deux signes égaux sur chacun d'eux l' achat et la vente et nous allons changer cela au jour un qui est équivalent au lundi une astuce que je vais vous montrer rapidement est l' heure actuelle si vous allez jusqu'aux informations violettes et appuyez sur F1 il fait apparaître le menu d'aide et il va en quelque sorte décrire quelques
19:22 informations sur le code en tant que non-codeur ou quelqu'un qui ne comprend pas vraiment comment le code fonctionne ou la bibliothèque qui est fournie donc le langage mql5 parfois c'est souvent plus facile de allez sur Google et recherchez cette fonction mql5, vous taperez donc time current bracket bracket mql5 et il y aura des gens qui poseront des questions différentes et fourniront des réponses plus logiques pour nous qui ne codons pas, donc je vais compiler cela, je vais juste exécuter cela à nouveau, donc nous avons exécuté cela et ce qui s'est passé est que via covert sur le dernier test où nous avons échangé mardi mercredi également,
20:08 covert aurait pu être meilleur pour ces jours-là pour ce système, mais juste le lundi, cela s'est assez mal passé, mais sur le reste du temps depuis que ce code est exécuté dans ce testeur, il a en fait augmenté plus que plus haut que le solde initial et il est en fait devenu rentable sur la base de ces tests, ce qui signifie que même si via covert c'était pire dans l'ensemble, il est en fait plus rentable dans le dernier test que nous avons fait en échangeant plus de jours et nous pouvons vérifier le back test, nous avons échangé beaucoup moins donc 175 échanges légèrement plus de gains, nous pouvons voir les entrées par jours de la semaine, nous n'échangeons que le lundi parce que nous sommes
20:54 allés TSD égal égal à un, lequel est égal à lundi et nous pouvons voir que lundi était correct Mardi, les transactions étaient encore ouvertes et nous avons eu quelques pertes mercredi très même jeudi, nous avons eu quelques bénéfices supplémentaires et vendredi, nous avons eu légèrement plus de bénéfices que de pertes, donc c'est positif maintenant je vais juste confirmer rapidement quelques autres choses donc je veux juste souligner que donc TSD est quelque chose que j'ai inventé en gros donc si nous montons ici disons que je change cela en quotidien donc changez-le simplement en quotidien
21:40 et ensuite je contrôle h trouve et remplace tout ce qui était l'ancien donc c'était TSD je veux tout remplacer par quotidien placez tout donc c'est trois autres ont été trouvés nous allons juste aller donc quotidien est égal à un quotidien est égal à un fondamentalement les mots que j'utilise ici ou la séquence de lettres est juste pour me rappeler ce qu'il fait réellement le code lui-même donc cette partie ici c'est triple swap day triple swap day qui est lié à l'heure actuelle et cela est lié à la date et à l'heure mql
22:25 qui sont toutes des manières structurées de coder que fondamentalement ceci et cela mettent cela ensemble qui équivaut à juste ce seul mot ce mot peut être n'importe quoi cependant ces éléments de couleur violette et une sorte de rose donc les informations de compte doublent, elles doivent être exactes ce truc rouge doit être exact cependant ce sont juste du texte noir, je peux, je peux inventer ce que je veux, je pourrais appeler ce solde pour mon compte, je pourrais l'appeler juste b-a-l, je pourrais appeler ce prix demandé si je le voulais, je peux changer ces choses qui sont en
23:12 texte noir en ce que je veux, ce sont les choses violettes, les choses rouges et les choses roses qui font partie de la bibliothèque de mql, donc le code réel et le framework qui ont été conçus autour du programme et nous l'utilisons pour ensuite lui donner juste un nom comme prix demandé ou prix acheteur afin que nous sachions en tant que personne ce que cela essaie réellement d'accomplir, alors jouez avec les différentes entrées, différentes idées de codage et oui, voyez comment vous allez, posez toutes vos questions dans les commentaires ci-dessous, n'oubliez pas d'aimer et de vous abonner si vous avez trouvé cette vidéo utile, bonne chance et
23:57 profitez de votre codage