Lorsque vous créez des systèmes automatisés de négociation, il est nécessaire d'écrire des algorithmes d'analyse de la situation du marché et de générer des signaux commerciaux, des algorithmes de suivi de vos positions ouvertes, ainsi que des systèmes de gestion de l'argent et gestion des risques. Une fois que le code des modules est écrit la tâche la plus difficile est d'assembler toutes les pièces et de déboguer le code source du robot de trading. Ici, le rôle clé est joué par l'architecture de l'interaction modules: si elle est mal construite, la majorité du temps sera consacré à la recherche et la correction des erreurs, et si vous remplacez l'algorithme de tout module, il conduira à réécrire le code source entier . Dans MQL5 en utilisant l'approche orientée objet facilite considérablement l'écriture et le test des systèmes automatisés de négociation. MetaQuotes Software Corp. a développé des classes pour implémenter des stratégies de trading. Vous pouvez désormais générer automatiquement des codes Expert Advisors directement dans MetaEditor en sélectionnant les modules Trade Signals (actuellement 20), Trailing (4) et Money Management (5). En combinant ces modules, vous pouvez obtenir de nombreuses variantes de systèmes de trading prêts à l'emploi. Vous pouvez également utiliser vos propres classes avec la mise en œuvre de l'un de ces modules. Créez-les par vous-même ou commandez-les via le service Jobs. Dans cet article, nous allons considérer la génération automatique du code source Expert Advisors en utilisant MQL5 Wizard. Et il n'y aura rien à programmer 1. Création de Trading Robot en utilisant MQL5 Wizard Expert Advisors code source est généré en utilisant MQL5 Assistant dans MetaEditor. Les classes de base des stratégies de négociation sont situées dans le répertoire ltclientterminaldirectorygtMQL5IncludeExpert. Les sous-dossiers Signal, Trailing et Money sont des algorithmes prêts à l'emploi pour les classes de signaux commerciaux, les classes de positions ouvertes à la volée et les classes de gestion de l'argent et des risques. MQL5 Wizard analyse les fichiers dans ces dossiers et les utilise pour générer le code Expert Advisors. Pour lancer l'assistant MQL5, vous devez cliquer sur le bouton Nouveau dans la barre d'outils ou sélectionner Nouveau dans le menu Fichier (ou appuyez simplement sur CtrlN): Fig. 1. Lancement de l'assistant MQL5 Sélectionnez ensuite le type de programme que vous souhaitez créer. Dans notre cas, sélectionnez l'option Expert Advisor (Générer): Fig. 2. Sélection du type de programme Étape 1. Propriétés générales de Expert Advisor Next ouvre la boîte de dialogue dans laquelle vous pouvez définir les propriétés générales d'Expert Advisor: Fig. 3. Propriétés générales du conseiller expert Spécifiez le nom de votre conseiller expert, le nom de l'auteur et le lien vers votre site Web dans les champs Nom, Auteur et Lien (respectivement). Expert Advisor a également les paramètres d'entrée suivants: Symbole (le type de chaîne) - Symbole de travail pour Expert Advisor. Timeframe (le type de timeframe) - Temps de travail pour Expert Advisor .. Sur la prochaine étape, sélectionnez le type de signaux commerciaux, sur lequel l'expert sera le commerce. Étape 2. Sélectionner le module de signaux commerciaux L'algorithme d'ouverture et de fermeture des positions est déterminé par le module des signaux commerciaux. Les modules de signaux commerciaux contiennent des règles d'ouverture et de fermeture des positions de déroulement. CSignalAC - Le module de signaux basé sur les modèles de marché de l'indicateur Accelerator Oscillator. CSignalAMA - Le module de signaux basé sur les modèles de marché de l'indicateur Adaptive Moving Average. CSignalAO - Le module de signaux basé sur les modèles de marché de l'indicateur Awesome Oscillator. CSignalBearsPower - Le module de signaux basé sur les modèles de marché de l'oscillateur Bears Power. CSignalBullsPower - Le module de signaux basé sur les modèles de marché de l'oscillateur Bulls Power. CSignalCCI - Le module de signaux basé sur les modèles de marché de l'oscillateur Commodity Channel Index. CSignalDeM - Le module de signaux basé sur les modèles de marché de l'oscillateur DeMarker. CSignalDEMA - Le module de signaux basé sur les modèles de marché de l'indicateur Double exponentielle moyenne mobile. CSignalEnvelopes - Le module de signaux basé sur les modèles de marché de l'indicateur Envelopes. CSignalFrAMA - Le module de signaux basé sur les modèles de marché de l'indicateur Fractal Adaptive Moving Average. CSignalITF - Le module de filtration des signaux par le temps. CSignalMACD - Le module de signaux basé sur les modèles de marché de l'oscillateur MACD. CSignalMA - Le module de signaux basé sur les modèles de marché de l'indicateur Moyenne mobile. CSignalSAR - Le module de signaux basé sur les modèles de marché de l'indicateur parabolique SAR. CSignalRSI - Le module de signaux basé sur les modèles de marché de l'oscillateur Relative Strength Index. CSignalRVI - Le module de signaux basé sur les modèles de marché de l'oscillateur Relative Vigor Index. CSignalStoch - Le module de signaux basé sur les modèles de marché de l'oscillateur stochastique. CSignalTRIX - Le module de signaux basé sur les modèles de marché de l'oscillateur Triple exponentielle moyenne. CSignalTEMA - Le module de signaux basé sur les modèles de marché de l'indicateur Triple exponentielle moyenne mobile. CSignalWPR - Le module de signaux basé sur les modèles de marché de l'oscillateur Williams Percent Range. Le type de signaux commerciaux est sélectionné dans la liste déroulante Nom. Après avoir appuyé sur le bouton Suivant, vous verrez une fenêtre: Fig. 4. Sélection des signaux commerciaux du Expert Advisor Pour ajouter un module de signaux commerciaux, appuyez sur le bouton Ajouter. Figue. 5. Sélectionnez l'algorithme des signaux commerciaux Chaque module de signaux commerciaux a ses propres paramètres. Vous pouvez utiliser les valeurs par défaut. Il existe deux modes de création de paramètres. Vous pouvez basculer entre eux en double-cliquant sur le bouton gauche de la souris sur l'icône de paramètres. Si le paramètre a l'icône en surbrillance, il sera disponible comme variable d'entrée de Expert Advisor. De tels paramètres peuvent en outre être utilisés pour l'optimisation d'experts dans Strategy Tester. Si le paramètre a l'icône grise, il aura la valeur fixe que vous ne pouvez pas modifier à partir des propriétés Expert Advisors. Le module des signaux commerciaux apparaîtra dans la liste: Fig. 6. Module de signaux commerciaux a été ajouté Etape 3. Sélectionner le module de positions ouvertes à la fin L'étape suivante consiste à sélectionner l'algorithme des positions ouvertes à la fin (Trailing Stop). Utilisation de la traîne vous permet d'économiser des bénéfices gagnés. Dans notre Expert Advisor, sélectionnez Trailing Stop en fonction du niveau d'arrêt fixe: Fig. 7. Sélectionner l'Algorithme des Positions Ouvertes Arrondi Ce type de trace a deux paramètres: le StopLevel et ProfitLevel (en points pour les guillemets avec 2 et 4 chiffres après virgule), qui seront utilisés pour tracer les positions ouvertes: Fig. 9. Définition des paramètres de l'algorithme sélectionné pour les positions ouvertes à la fin Étape 4. Sélection du module de gestion de l'argent et des risques Lors de la dernière étape, vous devez sélectionner le système de gestion de l'argent et des risques qui sera utilisé dans votre expert. Le but de cet algorithme est de déterminer le volume de transactions (en lots) pour les opérations de trading, ainsi que la gestion des risques. Lorsque la valeur de perte dépasse la limite permise (par exemple, 10 des capitaux propres), le module de gestion des risques et de l'argent fermera forcément la position non rentable. Figue. 9. Sélectionnez l'Algorithme de gestion de l'argent et du risque Sélectionnez l'algorithme de négociation avec le volume de négociation fixe. Le module que nous avons sélectionné a deux paramètres: Lots - volume de négociation en lots. Pourcentage - pourcentage de risque maximal autorisé. Figue. 10. Paramétrage des paramètres de l'algorithme sélectionné de gestion de l'argent et des risques Après avoir cliqué sur Terminer, le fichier TestExpert. mq5 apparaîtra dans le dossier teminaldatafilderMQL5Experts. Le nom de fichier correspond au nom spécifié de Expert Advisor. 2. La structure de Expert Advisor créée à l'aide de l'Assistant MQL5 Le code source de Expert Advisor, généré par l'assistant MQL5, se présente comme suit: Le code Expert Advisors se compose de plusieurs sections. Section décrivant les propriétés du programme: Le code de la classe CExpert (son instance est utilisée dans Expert Advisor) se trouve dans le fichier Expert. mqh. Le fichier SignalMA. mqh contient le code source de la classe de signaux commerciaux sélectionnés - CSignalMA. Le fichier TrailingFixedPips. mqh contient le code source de la classe d'algorithmes de positions ouvertes à la fin - CTrailingFixedPips. L'argent et la gestion des risques seront implémentés par la classe CMoneyFixedLot contenue dans le fichier MoneyFixedLot. mqh. Viennent ensuite les paramètres d'entrée de Expert Advisor: Les trois premiers paramètres (ExpertTitle, ExpertMagicNumber et ExpertEveryTick) sont généraux. Ils sont toujours présents indépendamment des signaux de négociation sélectionnés. À la traîne Et l'argent et les algorithmes de gestion des risques. La chaîne ExpertTitle paramètre spécifie le nom de Expert Advisor, ExpertMagicNumber spécifie son ID (cette valeur sera utilisée dans les paramètres des requêtes commerciales), et le paramètre ExpertEveryTick est utilisé pour définir le mode de fonctionnement EAs. Si ExpertEveryTick est défini sur true, Expert Advisor appellera les fonctions du gestionnaire (vérifier les conditions commerciales, engager les opérations commerciales, ouvrir la position ouverte) chaque fois qu'un nouveau symbole de travail apparaît. Après que les paramètres généraux de Expert Advisor viennent les paramètres d'entrée pour l'algorithme de signaux commerciaux sélectionnés (dans notre cas ce sont les paramètres utilisés dans la classe CSignalMA). Nous avons sélectionné la classe CTrailingStopFixedPips des positions ouvertes à la fin. Il traverse la position ouverte à une distance fixe déterminée par les niveaux Stop Loss et Take Profit, dont les valeurs sont définies en points normaux à 24 chiffres. Lorsque le prix se déplace vers la position ouverte par distance, cela dépasse le nombre de points définis par le niveau TrailingFixedPipsStopLevel, Expert Advisor modifie les valeurs des niveaux Stop Loss et Take Profit (si TrailingFixedPipsProfitLevel gt 0). Les paramètres d'entrée MoneyFixLotPercent et MoneyFixLotLots correspondent aux paramètres de l'algorithme avec lot de transaction fixe, implémenté dans la classe CMoneyFixedLot. Dans notre cas le commerce sera effectué avec un volume fixe égal à la valeur de MoneyFixLotLots. La classe CMoneyFixedLot implémente également l'algorithme de gestion des risques: s'il y a une perte (en tant que pourcentage donné des capitaux propres actuels) spécifiée dans le paramètre InpMoneyFixLotPercent, la classe CMoneyFixedLot recommandera au conseiller expert de fermer forcément une position non rentable et ainsi être terminé. Après les paramètres d'entrée de Expert Advisor, l'objet ExtExpert de la classe CExpert est déclaré: Il s'agit de l'instance de la classe de stratégie de négociation. Étant une instance de la classe CExpert, l'objet ExtExpert contient des références à des objets enfants du CExpertSignal (la classe de base des signaux commerciaux), le CExpertMoney (la classe de base de l'argent et la gestion des risques) et le CExpertTrailing (la classe de base de trailing open Positions). En outre, la classe CExpert contient des instances de CExpertTrade, SSymbolInfo. CAccountInfo. CPositionInfo. COrderInfo classes et le conteneur CIndicators. Pour définir les paramètres de Expert Advisor, vous devez créer des instances de classes correspondantes et spécifier des références à des objets créés dans la classe ExtExpert. Considérons la fonction OnInit de l'initialisation Expert Advisor. Ici, nous initialisons et configurons les propriétés de la classe ExtExpert. 1. Initialisation de la classe ExtExpert: L'objet ExtExpert est initialisé à l'aide de la méthode Init. Ici, nous définissons le symbole, le temps, le drapeau de la méthode appelant sur chaque tick, l'ID de Expert Advisor, et aussi créer et initialiser des objets privés de classes (sur cette étape le CExpertSignal. CExpertMoney et CExpertTrailing classes sont utilisés comme les signaux, Objets de gestion). Si l'objet ExtExpert ne démarre pas correctement, Expert Advisor sera terminé avec le code de retour -1. 2. Créer et configurer les propriétés de l'objet signal La configuration de l'objet signaux commerciaux se compose de plusieurs étapes: Création d'objet signal et paramétrage de ses paramètres Création d'un module de signaux commerciaux et son ajout à l'instance de classe CExpertSignal. Si l'objet ExtExpert ne démarre pas correctement, Expert Advisor sera terminé avec un code de retour (de -2 à -3), cela dépend de l'étape à laquelle une erreur s'est produite. En fonction de la façon dont les paramètres ont été spécifiés dans MQL5 Assistant, le code approprié est généré. Si le paramètre est fixe et sa valeur ne diffère pas de la valeur par défaut, il ne sera pas écrit dans le code généré. Dans ce cas, la valeur par défaut du paramètre (spécifié dans la classe correspondante) sera utilisée. 3. Créer et configurer les propriétés de l'objet Trailing La configuration de l'objet trailing comprend également plusieurs étapes: Création d'un objet trailing Ajout de trailing à expert Définition des paramètres trailing. Si l'objet final ne s'annule pas correctement, Expert Advisor sera terminé avec le code de retour (de -4 à -5), cela dépend de l'étape à laquelle une erreur s'est produite. 4. Créer et configurer les propriétés de l'objet money La configuration de l'objet money and risk management se compose également de 4 étapes: Création d'un objet money Ajout d'argent à un expert Définition des paramètres money. Si l'objet money ne démarre pas correctement, Expert Advisor sera terminé avec un code de retour (de -6 à -7), cela dépend de l'étape à laquelle une erreur s'est produite. 5. Initialiser tous les indicateurs utilisés dans les classes Après avoir créé et initialisé des objets de signaux commerciaux, trailing et money management, la méthode ValidationSettings () d'ExtExpert est appelée. Ensuite, la méthode InitIndicators () de l'objet ExtExpert est appelée. Il initialise les indicateurs utilisés dans les objets de signal, de fuite et d'argent. L'OnDeinit. OnTick. La gestion des événements OnTrade et OnTimer est effectuée en appelant les méthodes appropriées de la classe ExtExpert. Si vous souhaitez connaître les détails de l'implémentation des méthodes CExpert, vous pouvez afficher le code source des indicateurs, situé dans ltclientterminaldirectorygtMQL5IncludeExpertexpert. mqh. 3. Vérification du conseiller expert créé dans MetaTrader 5 Strategy Tester Si tous les composants de la bibliothèque standard sont présents, le code de Expert Expert généré est compilé avec succès: Figure 10. Compilation réussie de conseillers experts Code source Créé dans l'Assistant MQL5 Vous pouvez vérifier la Système de négociation fonctionne en utilisant le testeur de stratégie à partir du terminal client MetaTrader 5. Sur la figure 11, vous pouvez voir les résultats des tests sur les données historiques avec les paramètres par défaut (EURUSD, H1, 2010.01.01-2011.06.01): Figure 11. Résultats des tests de conseillers experts sur les données historiques (EURUSD, H1) Le meilleur ensemble de Les paramètres Expert Advisors peuvent être trouvés après l'optimisation dans MetaTrader 5 Strategy Tester. Conclusion L'utilisation des classes de stratégies de négociation facilite considérablement la création et le test de vos idées de trading. Maintenant, le code source complet d'Expert Advisor peut être construit directement dans MetaEditor à l'aide de son assistant MQL5 sur la base de modules de bibliothèque standard prêts à l'emploi ou de vos propres modules. Si vous ne voulez pas ou ne pouvez pas écrire votre propre module de signaux de commerce, vous pouvez toujours bénéficier du service d'emplois et de commander soit le robot commercial entier, ou seulement les modules requis. Cette approche apporte des avantages supplémentaires: Le coût de développement d'un module séparé devrait être inférieur au coût de l'Expert Expert. Le module résultant peut être réutilisé pour créer à la fois un Expert Expert autonome et toute une famille de robots commerciaux (basés sur ce module) à l'aide de l'Assistant MQL5. EA Generator ou EA Creator est un logiciel unique sans analogues. Le générateur d'EA ou EA Creator est un logiciel unique sans analogues. Le plus grand avantage de ce logiciel est qu'il est basé sur un réseau de neurones qui révèle la connexion implicite aux mouvements de devises qui ne peuvent être prédites par des indicateurs standard. Un autre avantage important de cet outil est que chaque expert expert créé est unique. EA Generator est une nouvelle technologie révolutionnaire automatisée basée sur les derniers développements dans le domaine de l'intelligence artificielle. C'est une véritable percée dans le commerce automatique de forex. Les indicateurs techniques sont des dérivés de taux et leurs signaux de retard par rapport au prix. C'est pourquoi il est plus efficace d'utiliser des modèles de prix de bougie pour un commerce plus productif cette méthode est largement connue et utilisée avec beaucoup de succès. Cependant, pour l'utiliser, un trader doit apprendre à choisir et à interpréter des figures graphiques caractéristiques, en analysant l'historique des prix des instruments financiers pour de longs intervalles de temps. Un tel apprentissage nécessite une bonne mémoire, un talent pour la pensée associative visuelle et peut durer des années. Pourtant, certains commerçants réussissent dans le temps et le commerce avec succès et de manière stable, mais il est presque impossible de formaliser leurs systèmes de négociation sous la forme d'un algorithme. C'est l'intuition qui importe à ce genre de commerce, c'est-à-dire le traitement subconscient caché de l'information de négociation et la livraison seulement du résultat final, il est donc très difficile pour un commerçant de formuler le processus mental qui mène à ce résultat final. Afin de résoudre les problèmes d'automatisation de tels systèmes de trading, nous proposons d'utiliser le logiciel HLAIMAN - MakeEA MT4, qui repose sur l'utilisation de méthodes modernes de reconnaissance de machines d'images graphiques en combinaison avec des algorithmes de formation de réseaux neuronaux. Le processus de génération de stratégies (robots commerciaux) utilisant le logiciel donné est réalisé dans le terminal MetaTrader 4. Un ensemble de signaux de trading sous la forme d'objets graphiques placés sur un tableau de prix dans une fenêtre de l'instrument de trading spécifique est Les données initiales pour la génération. Le programme de génération lit automatiquement les données, les traite et forme un algorithme de réseau neuronal correspondant d'une stratégie de trading, qui met en œuvre la logique de négociation donnée, en la coordonnant avec les modèles du tableau de prix actuel. Un module de robot de trading, enregistré en tant que dossier de conseiller expert, est un logiciel autonome, qui est prêt à être utilisé sur la plate-forme MT4. Vous pouvez tester, optimiser et former en outre votre expert-conseil, en utilisant non seulement l'instrument de négociation initialement choisi, mais aussi tous les autres instruments et périodes supplémentaires. EA Generator est un outil utile et pratique pour développer indépendamment des conseillers experts Forex automatisés vous permettant de négocier en utilisant votre propre stratégie. Vous n'avez pas à écrire une seule ligne de codage pour créer un conseiller expert. Tout ce que vous avez besoin est de placer la vente andor acheter métiers sur un tableau d'un instrument choisi et le calendrier sous la forme d'objets graphiques standard ndash flèches. Flèche vers le haut est l'achat, flèche vers le bas est la vente. Le logiciel EA Generator crée des algorithmes complexes qui aident à mettre votre stratégie en pratique au sein d'un expert expert automatisé Grâce à ce logiciel, vous n'avez pas besoin de compétences en programmation ou en mathématiques ou vous devez payer un programmeur pour développer un expert expert automatisé. Vous avez seulement besoin de placer les métiers sur un graphique, obtenir un conseiller expert et en seulement quelques clics, ce conseiller expert va commencer à utiliser les principes commerciaux qui ont été développés exclusivement par vous. Le logiciel EA Generator utilise l'interface graphique du terminal MT4. Cela signifie que vous pouvez utiliser la gamme complète de l'interface graphique standard terminales pour placer vos métiers. Vous pouvez ajouter des signes et des objets graphiques supplémentaires à un graphique, utiliser à la fois standard et des indicateurs tiers et ainsi de suite. Whatrsquos plus, vous pouvez utiliser le logiciel EA Generator pour rechercher de nouvelles stratégies rentables et les utiliser pour créer des conseillers experts automatisés. L'ensemble de livraison de logiciels EA Generator comprend un conseiller expert, qui aidera à placer automatiquement des signaux sur les métiers les plus rentables sur un graphique. L'utilisation de ces données pour créer un expert expert automatisé peut apporter des bénéfices Neural Net Explication EA Generator Software Components Programme kernel laquohlaim. exeraquo. Il se trouve dans le dossier du logiciel EA Generator. MT4 laquoMakeSignalsraquo conseiller expert. Celui-ci se trouve dans le dossier Terminal lorsque le logiciel EA Generator est installé. Il est utilisé pour créer automatiquement des signaux commerciaux sur un tableau d'instrument ou de calendrier. LaquoMakeAlgorithmraquo script. Il se trouve également dans le dossier Terminal lorsque le logiciel EA Generator est installé. Il est utilisé pour créer des conseillers experts Forex automatisés lors de la saisie de signaux commerciaux sur un instrument ou un tableau de temps. Générateur EA sécurisé Formulaire d'acceptation sans risque EA Generator - 1 Licence 30 jours - Garantie de remboursement 247 Support client Mises à jour gratuites à vieFaire créer MetaTrader 5 Conseillers experts sans programmation Plus tôt aujourd'hui MetaQuotes Software Corp. a publié un didacticiel sur le site de la communauté MQL5 sur comment Pour créer MetaTrader 5 conseillers experts sans avoir besoin d'être un programmeur. Le didacticiel explique comment utiliser le 034MQL5 Wizard034 qui fait partie du logiciel client MetaTrader 5 pour créer votre propre EA en pointant et en cliquant simplement avec une souris. MetaQuotes a également publié aujourd'hui un tutoriel pour les programmeurs discutant comment aller sur la création des modules logiciels que les utilisateurs de l'Assistant MQL5 sont en mesure de choisir lors de la construction de leur propre forex personnel 034robot034. Malheureusement, à la fin de la journée, si you039re pas un programmeur, il semble que you039re encore va être dépendant des programmeurs de fournir tous les ingrédients savoureux que vous pourriez mettre dans votre propre système de trading personnel 034recipe034. Actuellement, les modules disponibles qui sont livrés avec MetaTrader 5 comprennent 12 différents 034Signals034 qui peut être utilisé pour ouvrir, fermer ou inverser un métier, avec 3 méthodes d'arrêt de fuite différentes et 4 différentes méthodes de gestion de l'argent. That039s actuellement une gamme un peu limitée d'ingrédients à choisir, et je suppose que MetaQuotes espèrent que les programmeurs de la communauté MQL5 élargir rapidement cette gamme de modules. Cela peut ou ne peut pas se produire, mais même si elle ne MT5039s système actuel constructeur cadre lui-même semble plutôt limitant. En particulier il n'y a aucune mention de 034filters034 comme une classe de module séparée. Cela signifie que tous ces filtres devront être codés en un module de signal, ce qui signifie tour à tour que tout futur créateur de point 034 et click034 EA est encore susceptible d'avoir recours aux services d'un programmeur afin de créer une stratégie commerciale rentable. Out of the Trading Gurus suite actuelle de MetaTrader exemple 5 conseillers experts, seul notre système de croisement moyen mobile pourrait actuellement être créé en utilisant point et clic. Nos systèmes de saisie aléatoire ne sont pas très bien pris en compte car, dans le paradigme actuel du constructeur de système MetaQuotes, il n'y a pas d'entrées aléatoires ou pseudo-aléatoires (ce qui est peut-être compréhensible), mais aussi les stratégies de sortie et les méthodes de gestion de l'argent qui peuvent rendre ces systèmes Rentables ne sont perceptibles que par leur absence. De même, notre système 034London Breakout034 est actuellement impossible à mettre en œuvre à l'aide de l'Assistant MQL5, qui semble ne pas avoir encore de connaissances sur le support et la résistance, les évasions, les filtres de temps et autres. Bien qu'il soit en effet très rapide et facile pour un non-programmeur d'utiliser MetaTrader 5 pour créer un conseiller expert qui peut échanger automatiquement, il est encore beaucoup plus difficile que de créer un qui peut également le commerce rentable. Nous laissons cela comme un exercice pour le lecteur intéressé à essayer de réaliser cet exploit
No comments:
Post a Comment