MQL5 Trading Algorithmique
36.4K subscribers
1.45K photos
1.45K links
Les meilleures publications de la plus grande communauté de traders algorithmiques.

Abonnez-vous pour rester au courant des dernières technologies et du développement des programmes de trading.
Download Telegram
L'Ultimate Oscillator de Larry Williams est un outil d'analyse technique basé sur une moyenne pondérée de trois indicateurs stochastiques. Il est conçu pour détecter les tendances sur de courtes, moyennes et longues périodes, souvent configurées en ratios tels que 1:2:4 ou 1:2:3. Pour une application efficace, ajustez les paramètres selon les spécificités du marché, avec des périodes recommandées de 7-14-28 ou 7-14-21.

Pour détecter les signaux d'achat, surveillez la formation de divergences haussières, notamment lorsque l'oscillateur tombe sous 30 et remonte au-dessus de son niveau précédent. Fermez les positions longues à travers certains signaux de dépassement. Pour les ventes, identifiez les divergences baissières où l'oscillateur dépasse 50, suivies d'une chute sous son minimum antérieur. Implémenté initialement en MQL4, cet indicateur utilise des classes de calcul optimisées, s...

👉 Lis ça | VPS | @mql5fr
2👍1👌1
L'indicateur HighestLowestRange (HLR) évalue la position relative du prix dans un range défini par les valeurs maximum et minimum sur une série de X barres. À l'extrémité inférieure de ce range, la valeur de l'indicateur est 0. À l'extrémité supérieure, la valeur atteint 1 ou 100%. Si le prix est au milieu, l'indicateur affiche 0,5 ou 50%. Pour les signaux de trading, une position longue est initiée lorsque l'HLR dépasse 0,8. Une position courte est envisagée quand l'indicateur descend sous 0,2. Ainsi, une entrée s'effectue quand le prix pénètre dans 20% de la fourchette. Les tests ont utilisé des paramètres basés sur un range de 40 jours. L'HLR a été implémenté d'abord en MQL4, publié sur mql4.com le 25 janvier 2007.

👉 Lis ça | Freelance | @mql5fr
Dans les systèmes de trading utilisant la rupture de canal, une position longue est prise lorsque le prix dépasse le plus haut sur X jours, et une position courte lorsque le prix atteint un nouveau plus bas sur le même intervalle. Cette méthode permet de prévoir la tendance, mais le timing tardif peut souvent réduire les bénéfices.

Le système de trading basé sur l'indicateur HighestLowestRange (HLR) vise à entrer sur le marché juste avant que le prix n'atteigne le niveau de rupture, optimisant ainsi l'usage des canaux. L'indicateur MPC construit un canal simple à partir des extremums de la période, offrant un soutien visuel à ce système. Initialement développé en MQL4, cet indicateur a été publié pour la première fois sur mql4.com en janvier 2007.

👉 Lis ça | Calendrier | @mql5fr
👌2👍1
La moyenne harmonique est une mesure utilisée souvent dans les domaines de la finance et de l'informatique pour traiter les moyennes de taux ou de ratios. Elle se distingue par sa méthode de calcul unique: on divise le nombre total d'observations par la somme des réciproques de chaque valeur de la série. Cette approche est pertinente pour manipuler des données où les petites valeurs ont un impact significatif, par exemple lors de l'analyse des taux de change ou des vitesses de traitement. Comparée à la moyenne arithmétique, la moyenne harmonique convient mieux aux séries où des valeurs extrêmes peuvent fausser la moyenne standard. Son application est cruciale dans l'évaluation précise des performances lorsque les proportions ou les taux sont analysés.

👉 Lis ça | Signaux | @mql5fr
2
La méthode de croisement de deux moyennes mobiles reste une approche classique dans le trading. Elle utilise une moyenne mobile à court terme et une autre à long terme pour signaler des opportunités de marché. Par exemple, des moyennes mobiles sur 50 et 200 jours sont souvent employées. Lorsque la moyenne à court terme dépasse celle à long terme, un signal d'achat est déclenché, indiquant potentiellement le début d'une tendance haussière. À l'inverse, une inversion de cette configuration peut signaler un moment opportun pour vendre.

La gestion du risque est cruciale. L'instauration de stop loss peut protéger contre les fluctuations défavorables. Par exemple, fixer un seuil de stop loss comme pourcentage du prix actuel aide à limiter les pertes potentielles en situations d'instabilité.

👉 Lis ça | AlgoBook | @mql5fr
2👌1
Un script calcule le prix de Stop Out et le prix où la Marge Libre devient négative. La taille de position pour le symbole actuel est ajustable via EnterVolume. Par défaut, EnterVolume=0 utilise le volume de la position ouverte pour les calculs. Si EnterVolume est supérieur à 0, le calcul est effectué pour une position longue du volume spécifié. Pour une valeur inférieure à 0, le calcul concerne une position courte de ce volume. Ces paramètres permettent aux traders d'évaluer les risques associés à des variations spécifiques des prix du marché. Il est essentiel de paramétrer correctement ces valeurs pour éviter des pertes significatives et gérer efficacement les positions ouvertes.

👉 Lis ça | Market | @mql5fr
1
Un exemple d'application pratique de la DLL pour le Memory Mapping s'articule autour de l'utilisation des fonctions File Mapping. Comparable à la variante MQL4, l'expert advisor crée un fichier virtuel pour mettre à jour les cotations de symboles. D'autres experts sur divers terminaux peuvent ouvrir ce fichier et synchroniser leurs cotations, permettant un échange de données cohérent entre conseillers. Une démonstration avec les chaînes de caractères a été intégrée, relevant le besoin de compatibilité des transmissions entre MT4 et MT5 via la conversion en tableau d'un seul octet. Cela garantit la cohérence des échanges de cotations entre MetaTrader 4 et 5. La mise en œuvre nécessite le transfert des fichiers MemMap32/64.dll dans le répertoire terminal spécifié. Le code contient diverses notes explicatives et enregistrements des données intermédiaires pour un suivi détaillé.

👉 Lis ça | CodeBase | @mql5fr
3👍1
Le projet Visual C++ 2010 se concentre sur l'utilisation de la mémoire virtuelle à travers deux classes : CMemMapApi et CMemMapFile. Ces classes permettent de manipuler la mémoire comme un fichier traditionnel, facilitant ainsi la création, l'écriture, la lecture et l'échange de données entre applications. Cela inclut la compatibilité avec MetaTrader 4 et 5. Un avantage majeur réside dans l'amélioration de la vitesse d'échange d'informations, essentielle pour des applications telles que les copieurs de transactions ou l'échange de cotations pour les experts en arbitrage.

CMemMapApi agit principalement comme une enveloppe des fonctions WinApi, offrant la possibilité de gérer plusieurs fichiers mémoire simultanément. En revanche, CMemMapFile se distingue en stockant des détails spécifiques comme le nom du fichier et son identifiant, tout en garantissant la gestion correcte de la taill...

👉 Lis ça | Market | @mql5fr
1
L'indicateur minimaliste affiche, sur le symbole en cours, la fluctuation en pourcentage du prix depuis le début de la journée de trading. Un prix supérieur à celui d'ouverture se traduit par une valeur positive, tandis qu'une baisse se reflète par une valeur négative. Cet indicateur est positionné sous forme de texte dans le coin inférieur droit du graphique de prix. Il offre une manière simple et directe de suivre l'évolution du marché sans surcharge d'informations visuelles. Cette fonctionnalité est conçue pour analyser rapidement la performance des actifs au sein d'une session de marché donnée.

👉 Lis ça | CodeBase | @mql5fr
L'indicateur Forex Sessions met en lumière les sessions du marché des changes en tenant compte des horaires de trading locaux. Les horaires varient par région, de 8h à 17h sur la plupart des marchés, et à Sydney de 7h à 16h ou de 9h à 18h. Cet outil colorie les sessions de Sydney, Tokyo, Londres et New York sur les graphiques de devises et d'or, en respectant les décalages horaires GMT et l'heure d'été. Il affiche également une horloge supplémentaire du courtier avec l'heure du serveur et le décalage GMT, ainsi qu'une fonction de débogage graphique en synergie avec la bibliothèque TimeZoneInfo. Pour les courtiers utilisant des horaires spécifiques, le symbole XAUUSD peut être utilisé pour estimer l'heure du serveur. Les utilisateurs peuvent ajuster le paramètre pour utiliser d'autres symboles selon les besoins.

👉 Lis ça | Calendrier | @mql5fr
4
La dernière mise à jour inclut un portage complet de C++ à MQL5 pour le mappage de mémoire. Ce package comprend un script exemplaire pour illustrer son utilisation. Une gestion des terminaux en versions 32 et 64 bits est maintenant intégrée dans un seul fichier, simplifiant l'implémentation. Grâce au modèle de traitement des pointeurs retournés, il est possible d'élargir significativement l'utilisation de MQL5 pour l'interaction avec diverses fonctions API. Cela élimine le besoin de développer des DLL personnalisées. Cette avancée souligne l'efficacité de MQL5 dans l'optimisation des intégrations API, consolidant ainsi sa position en tant qu'outil puissant pour les développeurs expérimentés.

👉 Lis ça | Signaux | @mql5fr
1
La classe CBandsOnArray est utilisée pour calculer des Bandes de Bollinger® via un tampon d'indicateur. Pour l'application, dans la fonction OnInit() de l'indicateur, la méthode Init() est initialisée avec les paramètres requis: aPeriod pour la période, aMethod pour la méthode de calcul de la moyenne, et aDeviation pour la largeur en écarts types. Dans OnCalculate(), la méthode Solve() est utilisée avec les paramètres nécessaires tels que aRatesTotal, aPrevCalc, ainsi que les tampons aData, aMA, aUpper, et aLower pour les données et valeurs calculées.

Les Bandes de Bollinger ajustent leur largeur en fonction de la volatilité du marché, offrant une mesure dynamique par rapport aux enveloppes classiques. Elles sont construites sur la base de l'écart-type, régulant ainsi automatiquement leur largeur en fonction des conditions de marché volatiles ou stables. L'exemple d'utilisation se tr...

👉 Lis ça | Calendrier | @mql5fr
1
La classe CEnvelopesOnArray est utilisée pour calculer les valeurs de l'indicateur Envelopes en utilisant un tampon d'indicateur. Pour initialiser l'indicateur, la méthode Init() est appelée dans la fonction OnInit() avec les paramètres suivants : la période de l'indicateur, la méthode de calcul de la moyenne mobile (MA), et la largeur des barres. Dans la fonction OnCalculate(), la méthode Solve() est utilisée pour obtenir les valeurs de la ligne supérieure et inférieure de l'indicateur en fonction des données calculées.

Le fichier Test_EnvelopesOnArray.mq5 illustre l'utilisation pratique de cette classe. Le fichier doit résider dans le dossier approprié du terminal pour fonctionner correctement. Il est également essentiel de posséder la classe CMAOnArray pour un calcul précis. L'indicateur Envelopes se compose de deux moyennes mobiles, la volatilité du marché influençant le décalage...

👉 Lis ça | Documentación | @mql5fr
2
Ce script illustre la création systématique d'objets graphiques standard dans MetaTrader 5. Il permet de tester la fonction ObjectCreate() et les méthodes associées pour définir les propriétés des objets : coordonnées, tailles, polices, couleurs, et paramètres supplémentaires. Lors de son exécution sur un graphique actif, le script supprime l'objet précédent pour en créer un nouveau, selon le type sélectionné dans les paramètres. Les types supportés incluent lignes, canaux, outils Gann et Fibonacci, vagues Elliot, et éléments d'interface.

Chaque objet dispose d'une fonction de création dédiée, configurée avec tous les attributs nécessaires : niveaux de prix, angles, directions, textes, images, et autres propriétés. Les fonctions auxiliaires simplifient la manipulation des coordonnées, tandis que d'autres fonctions automatisent la sélection des coordonnées basées sur le graphique vis...

👉 Lis ça | Documentación | @mql5fr
3
L'indicateur ajuste les objets "Ligne de tendance" désignés en les rendant parallèles à l'axe horizontal. Ce processus modifie la coordonnée du prix du second point de référence de la ligne de tendance. Par défaut, ce point est placé à droite du graphique. Cette fonctionnalité facilite l'analyse en stabilisant visuellement les lignes de tendance, permettant ainsi une évaluation plus précise des niveaux de support et de résistance. Les critères de sélection incluent la couleur et le style des lignes, offrant ainsi un contrôle précis sur l'apparence et le comportement des lignes de tendance sur le graphique.

👉 Lis ça | Cotations | @mql5fr
4
Un canal de Bandes de Bollinger® est présenté en style DRAW_FILLING avec un fond coloré, rendant l'analyse visuelle plus intuitive dans de nombreux contextes. L'indicateur repose sur une moyenne mobile universelle avec deux moyennes, offrant des choix variés pour la ligne médiane, y compris SMA, EMA, SMMA, LWMA, JJMA, JurX, ParMA, T3, VIDYA et AMA. Chaque type de moyenne introduit ses propres spécificités, avec des paramètres comme Phase1 et Phase2 ayant des significations diversifiées selon l'algorithme sélectionné. Par exemple, pour JMA, "Phase" varie de -100 à +100 tandis que pour T3, il désigne un facteur de calcul. VIDYA utilise la période de l'oscillateur CMO et AMA se base sur la période EMA lente, la période EMA rapide étant fixée à 2. L'indicateur intègre des classes de SmoothAlgorithms.mqh, comme détaillé dans un article sur le calcul des moyennes des séries temporelles.

👉 Lis ça | Calendrier | @mql5fr
1
Depuis la version 581, l'ajout du support natif pour l'interface OpenCL permet d'exploiter la puissance du GPU. Cela optimise les performances des applications nécessitant des calculs intensifs, comme les fractales de Mandelbrot. Un exemple simple d'utilisation d'OpenCL montre une accélération significative, augmentant la vitesse de calcul d'environ 100 fois par rapport aux implémentations logicielles classiques. Cela représente une avancée notable pour ceux qui cherchent à maximiser l'efficacité de leurs développements dans des environnements exigeants. L'intégration d'OpenCL est une étape importante pour tirer parti des capacités du matériel graphique moderne dans des applications diverses.

👉 Lis ça | AlgoBook | @mql5fr
3
Le signal de trading se forme à la fermeture de la barre, indiquant l'opportunité d'ouvrir des positions avec une flèche colorée de l'indicateur Sidus. Pour assurer le bon fonctionnement du conseiller expert, l'indicateur Sidus.ex5 doit être présent dans le dossier terminal correspondant. La création d'un robot de trading à partir de ce module est détaillée dans l'article "MQL5 Wizard for Dummies". L'idée de base pour structurer un module de signaux de trading se trouve dans l'article sur les systèmes de trading simples utilisant des indicateurs sémaphores. Les tests réalisés en 2011 avec des paramètres par défaut sur XAUUSD H4 n'ont pas inclus de Stop Loss ou Take Profit. Les résultats montrent que le conseiller expert prend ses décisions selon le "vote" des modules, y compris le module principal dont les méthodes LongCondition() et ShortCondition() restent inactives. Les seuils doiv...

👉 Lis ça | CodeBase | @mql5fr
3🔥1
Un indicateur technique se concentre sur la pente de la moyenne mobile et un nuage qui l'entoure. Il fournit deux types de signaux pour aider à l'analyse du marché. Le premier, pré-levée, est représenté par un point, indiquant une tendance potentielle ou un changement. Le second, entrée, est signalé par une flèche, suggérant un moment propice pour prendre position. Ces signaux sont conçus pour aider les analystes à interpréter les changements de tendance et à identifier les opportunités d'investissement. Une compréhension approfondie de leur comportement peut améliorer les stratégies de trading en fournissant des indications précieuses. L'étude de cet indicateur aide à renforcer la prise de décision basée sur des données objectives.

👉 Lis ça | AlgoBook | @mql5fr
4🎉1
Les exemples actualisés du fichier Comm.mqh, version 1.09, disponibles depuis le 3 février 2025, facilitent l'extraction des informations du service et leur affichage sur le premier graphique du terminal. La possibilité de spécifier l'ID du graphique dans le commentaire a été intégrée, améliorant la précision des visualisations. La mise à jour au 31 mai 2025, version 1.10, introduit des modifications mineures pour assurer la compatibilité avec le nouveau compilateur. Ces ajustements visent à maintenir le bon fonctionnement de votre environnement de développement, garantissant une expérience utilisateur fluide et efficace. Ces évolutions illustrent l'engagement envers l'amélioration continue des outils.

👉 Lis ça | NeuroBook | @mql5fr
2