English Русский 中文 Español Deutsch 日本語 Português Italiano
preview
Les méthodes de William Gann (Partie II) : Création de l'indicateur Carré de Gann (Gann Square)

Les méthodes de William Gann (Partie II) : Création de l'indicateur Carré de Gann (Gann Square)

MetaTrader 5Exemples |
35 1
Yevgeniy Koshtenko
Yevgeniy Koshtenko

Introduction

William Delbert Gann, trader et analyste technique légendaire du début du XXe siècle, a laissé derrière lui un riche héritage d'outils et de techniques d'analyse des marchés. Parmi ses nombreux développements, le Carré de 9 occupe une place particulière. Il s'agit d'un outil mystérieux aux multiples facettes qui combine des éléments de géométrie, de numérologie et d'astrologie.

Le Carré de 9 de Gann est une suite de nombres en spirale disposés dans un carré de 9x9. Cet outil est utilisé pour prévoir les niveaux de prix et les cycles temporels importants sur les marchés financiers. Malgré sa nature ésotérique, le Carré de 9 continue d'attirer l'attention des traders modernes à la recherche d'approches non conventionnelles pour l'analyse des marchés.

Dans cet article, nous allons nous plonger dans l'univers du Carré de 9 de Gann et tenter de faire entrer son concept dans l'ère numérique en créant un indicateur pour la plateforme MetaTrader 5 à l'aide du langage de programmation MQL5. Notre objectif est de développer un outil qui permettra aux traders de visualiser et d'appliquer les principes du Carré de 9 dans leur trading, en combinant la sagesse de Gann avec la technologie moderne.

Nous examinerons les fondements théoriques du Carré de 9, nous passerons en revue le processus de création de l'indicateur étape par étape et nous discuterons de son application pratique et de ses limites potentielles. Que vous soyez un développeur de système de trading expérimenté ou simplement intéressé par les méthodes non conventionnelles d'analyse des marchés, cet article vous fournira des informations précieuses et des compétences pratiques pour élargir votre boîte à outils analytique.

Faisons un voyage fascinant sur les traces de William Gann et créons un pont entre ses idées brillantes et le monde moderne du trading algorithmique.


Base théorique du Carré de 9 de Gann


Le Carré de 9 de Gann est un outil d'analyse technique unique qui combine des éléments de géométrie, de numérologie et d'astrologie. La méthode repose sur l'idée que les prix et le temps sur les marchés financiers évoluent selon des schémas en spirale qui peuvent être représentés par une séquence numérique située dans un carré 9x9.

La construction du Carré de 9 commence par la cellule centrale, à laquelle est attribué le numéro 1. Les chiffres sont ensuite disposés en spirale dans le sens inverse des aiguilles d'une montre, remplissant le carré jusqu'à 81 (9x9). Chaque neuvième chiffre de cette séquence forme une "croix cardinale" - un point clé que Gann considérait comme particulièrement important pour l'analyse des marchés.

Selon la théorie de Gann, les chiffres du Carré de 9 correspondent à des niveaux de prix et à des intervalles de temps. Il pensait que le marché avait tendance à réagir à ces niveaux, créant ainsi des points d'inflexion, de support ou de résistance. Une importance particulière est accordée aux nombres qui se trouvent sur la même ligne ou qui sont en relation harmonieuse les uns avec les autres.

Gann a également lié le Carré de 9 à des concepts astrologiques, affirmant que les angles entre les nombres du carré correspondent à certains aspects planétaires. Cela ajoute une dimension temporelle à l'analyse, nous permettant de prévoir non seulement les niveaux de prix, mais aussi les dates potentielles d'événements importants sur le marché.

Il est important de noter que l'interprétation du Carré de 9 est souvent subjective et requiert de l'expérience. Les traders utilisent cet outil de différentes manières : certains se concentrent sur les niveaux de prix, d'autres sur les cycles temporels, et d'autres encore combinent les deux approches.

Malgré sa nature ésotérique, le Carré de 9 de Gann continue d'attirer l'attention des traders modernes. Sa valeur réside dans sa capacité à fournir une perspective unique sur les mouvements du marché qui peut compléter les méthodes traditionnelles d'analyse technique.

Dans le cadre de la création d'un indicateur MetaTrader 5, notre tâche consistera à transformer ces concepts théoriques en algorithmes capables de générer des signaux de trading spécifiques et des représentations visuelles. Cela permettra aux traders d'intégrer les idées de Gann dans l'environnement de trading numérique moderne.


Appareil mathématique du Carré de 9 de Gann

Malgré ses racines ésotériques, le Carré de 9 de Gann a une structure mathématique claire. Il est essentiel de comprendre cette structure pour créer un indicateur précis et efficace. Examinons les principes mathématiques de base qui sous-tendent le Carré de 9 :

  • Construction du carré - le Carré de 9 est une suite en spirale de chiffres de 1 à 81, disposés dans une matrice de 9x9. Mathématiquement, cela peut être représenté comme une fonction des coordonnées (x, y) au carré.
  • Séquence en spirale - les nombres sont disposés en spirale dans le sens inverse des aiguilles d'une montre. Ce phénomène peut être décrit par des équations paramétriques de la spirale sous forme discrète.
  • Relations angulaires - Gann a mis l'accent sur les relations angulaires entre les nombres. Ces relations peuvent être exprimées par des fonctions trigonométriques, en tenant compte de la position des nombres élevés au carré.
  • Projections de prix - diverses transformations mathématiques, impliquant souvent des racines logarithmiques ou carrées, sont utilisées pour convertir des nombres carrés en niveaux de prix.
  • Cycles temporels - l'aspect temporel du Carré de 9 peut être exprimé par l'arithmétique modulaire, où chaque révolution complète de la spirale correspond à un certain cycle.
  • Croix cardinale - les nombres qui forment la croix cardinale (tous les neuf nombres) peuvent être exprimés comme une progression arithmétique avec un pas de 9.
  • Relations harmoniques - les relations harmoniques entre les nombres d'un carré peuvent être décrites en termes de rapports numériques simples ou d'angles en degrés.
  • Racine carrée du prix - Gann utilisait souvent la racine carrée du prix dans ses calculs, ce qui ajoute un autre niveau de manipulation mathématique.
  • Arithmétique modulaire - de nombreux calculs du Carré de 9 sont basés sur les principes de l'arithmétique modulaire, en particulier avec le modulo 9.

Pour créer un indicateur dans MQL5, il faut transformer ces concepts mathématiques en algorithmes spécifiques. Il s'agit notamment de développer des fonctions permettant de générer le Carré de 9, de calculer des relations angulaires, de projeter des nombres sur une échelle de prix et de déterminer des cycles de temps.

Il est important de noter que si les mathématiques du Carré de 9 sont exactes, leur interprétation et leur application aux marchés restent largement subjectives. Notre objectif en créant l'indicateur est de fournir aux utilisateurs un outil flexible qui leur permettra d'expérimenter divers aspects de la théorie de Gann, sur la base de calculs mathématiques précis.


Préparer la création d'un indicateur

Commençons par définir les fonctions de base de notre indicateur Carré de 9 de Gann. Nous devrons tracer le carré lui-même sur le graphique, calculer les niveaux de prix importants et afficher les cycles de temps. Nous nous pencherons ensuite sur les paramètres fournis aux utilisateurs. Il peut s'agir du nombre initial du Carré de 9, de l'échelle de conversion en prix et du choix des couleurs pour les lignes et le texte.

Il est important de prévoir comment nous allons stocker les données. Nous aurons besoin d'un tableau pour les nombres du Carré de 9, ainsi que de listes pour stocker les prix calculés et les dates.

L'étape suivante consiste à développer les algorithmes de base. Nous devrons créer des fonctions pour générer le Carré de 9, traduire ses chiffres en niveaux de prix et calculer les dates des cycles temporels. Réfléchissons à la meilleure façon d'afficher toutes ces informations sur le graphique. Nous devons décider comment afficher le Carré de 9 lui-même et où placer les niveaux de prix et les dates.

N'oublions pas les tests. Préparons des méthodes pour vérifier l'exactitude de nos calculs et testons l'indicateur sur différentes périodes. Il est également important d'étudier les caractéristiques du travail dans MQL5, en particulier en ce qui concerne la création d'éléments graphiques et les fonctions mathématiques disponibles.

Cette préparation constituera une base solide pour la création d'un indicateur Carré de 9 de Gann efficace et convivial.

Structure du code de l'indicateur Carré de 9 de Gann

Lors du développement de l'indicateur Carré de 9 de Gann pour MetaTrader 5, il est important de créer une structure de code claire et logique. Cela facilitera la compréhension, le débogage et l'amélioration de l'indicateur. Examinons les principaux composants qui doivent être inclus dans notre code.

Tout d'abord, nous devons déclarer et initialiser les variables. Définissons des variables globales pour stocker les paramètres de l'indicateur et créons des tableaux pour stocker les données Carré de 9 et les valeurs calculées.

  • La fonction OnInit() sera utilisée pour initialiser les paramètres de l'indicateur et créer les objets graphiques nécessaires.
  • La fonction OnDeinit() efface tous les objets graphiques créés lorsque l'indicateur est supprimé.
  • La fonction OnCalculate() est la fonction principale de l'indicateur, appelée à chaque tick. C'est ici que les principaux calculs sont effectués et que l'affichage est mis à jour.

Mise en œuvre des éléments clés de l'indicateur

Examinons le code "vide" pour le Carré de 9 :

//+------------------------------------------------------------------+
//|                                                      GannSquare9 |
//|                                          Copyright 2024, Shtenco |
//|                          https://www.mql5.com/fr/users/koshtenko |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, Evgeniy Koshtenko"
#property link      "https://www.mql5.com/fr/users/koshtenko"
#property version   "1.00"
#property description "Gann Square of 9 Price and Time Levels Indicator"
#property indicator_chart_window

// Input parameters
input double StartNumber = 1;  // Starting number for the Gann Square
input color PriceLevelColor = clrDodgerBlue;  // Color of the price levels
input color TimeLevelColor = clrRed;  // Color of the time levels
input int LevelsToShow = 50;  // Number of levels to display
input datetime EndDate = D'2024.08.14 00:00';  // End date for calculations
input double PriceStepDivisor = 10.0;  // Divisor for price step (higher value = more levels)

// Global variables
double price_levels[];
datetime time_levels[];
double price_scale;
int time_scale;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
// Validate inputs
   if(StartNumber <= 0 || LevelsToShow <= 0 || EndDate <= 0 || PriceStepDivisor <= 0)
     {
      Print("Invalid input parameters");
      return INIT_PARAMETERS_INCORRECT;
     }

// Calculate scales
   CalculateScales();

// Calculate and draw levels
   CalculateLevels();
   DrawLevels();

   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
// No calculations needed for this indicator
   return(rates_total);
  }

//+------------------------------------------------------------------+
//| Calculate price and time scales                                  |
//+------------------------------------------------------------------+
void CalculateScales()
  {
   double current_price = SymbolInfoDouble(_Symbol, SYMBOL_BID);
   price_scale = current_price / (StartNumber * StartNumber);

   datetime current_time = TimeCurrent();
   time_scale = (int)MathMax(1, (EndDate - current_time) / (86400 * StartNumber * StartNumber));  // in days
  }

//+------------------------------------------------------------------+
//| Calculate price and time levels                                  |
//+------------------------------------------------------------------+
void CalculateLevels()
  {
   ArrayResize(price_levels, LevelsToShow);
   ArrayResize(time_levels, LevelsToShow);

   for(int i = 0; i < LevelsToShow; i++)
     {
      double price_square = MathPow(StartNumber + i / PriceStepDivisor, 2);
      int time_square = (StartNumber + i) * (StartNumber + i);

      price_levels[i] = price_scale * price_square;
      time_levels[i] = EndDate - time_scale * time_square * 86400;  // Convert days to seconds
     }
  }

//+------------------------------------------------------------------+
//| Draw levels on the chart                                         |
//+------------------------------------------------------------------+
void DrawLevels()
  {
   for(int i = 0; i < LevelsToShow; i++)
     {
      // Draw price level
      string price_name = "GannPriceLevel_" + IntegerToString(i);
      ObjectCreate(0, price_name, OBJ_HLINE, 0, 0, price_levels[i]);
      ObjectSetInteger(0, price_name, OBJPROP_COLOR, PriceLevelColor);
      ObjectSetInteger(0, price_name, OBJPROP_STYLE, STYLE_SOLID);
      ObjectSetInteger(0, price_name, OBJPROP_WIDTH, 1);
      ObjectSetString(0, price_name, OBJPROP_TOOLTIP, "Gann Price Level " + DoubleToString(price_levels[i], _Digits));

      // Draw time level
      string time_name = "GannTimeLevel_" + IntegerToString(i);
      ObjectCreate(0, time_name, OBJ_VLINE, 0, time_levels[i], 0);
      ObjectSetInteger(0, time_name, OBJPROP_COLOR, TimeLevelColor);
      ObjectSetInteger(0, time_name, OBJPROP_STYLE, STYLE_DOT);
      ObjectSetInteger(0, time_name, OBJPROP_WIDTH, 1);
      ObjectSetString(0, time_name, OBJPROP_TOOLTIP, "Gann Time Level " + TimeToString(time_levels[i], TIME_DATE|TIME_MINUTES));
     }
  }

//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ObjectsDeleteAll(0, "GannPriceLevel_");
   ObjectsDeleteAll(0, "GannTimeLevel_");
  }
//+------------------------------------------------------------------+

Cet indicateur est une interprétation moderne du concept du Carré de 9 de William Gann, adapté à la plateforme MetaTrader 5. Il visualise les niveaux de prix et de temps en se basant sur les principes de Gann, offrant aux traders un outil unique pour l'analyse du marché et les décisions de trading.

Entrées de l’indicateur :

  • StartNumber - nombre initial pour la construction du Carré de 9
  • PriceLevelColor et TimeLevelColor - couleurs pour l'affichage des niveaux de prix et de temps, respectivement
  • LevelsToShow - nombre de niveaux à afficher
  • EndDate - date de fin des calculs et des tests sur les données historiques
  • PriceStepDivisor - fréquence des niveaux de prix

Les variables globales sont utilisées pour stocker et traiter les données. Les tableaux price_levels[] et time_levels[] stockent respectivement les niveaux de prix et de temps calculés. Les variables price_scale et time_scale sont utilisées pour mettre à l'échelle les valeurs de prix et de temps.

La fonction CalculateScales() détermine automatiquement les échelles de prix et de temps en fonction du prix actuel de l'instrument et de la date de fin spécifiée. CalculateLevels() effectue les calculs de prix et de niveau de temps. Les niveaux de prix sont calculés à l'aide d'une fonction quadratique et d'un diviseur supplémentaire pour augmenter la fréquence des niveaux, tandis que les niveaux de temps sont basés sur le carré d'un nombre, ce qui est conforme à la théorie de Gann. DrawLevels() est chargé de visualiser les données en créant des lignes horizontales pour les niveaux de prix et des lignes verticales pour les niveaux de temps sur le graphique. 

L'indicateur fournit aux traders une représentation visuelle des niveaux de prix et de temps basée sur les principes du Carré de 9 de Gann. Cela peut s'avérer particulièrement utile pour les traders intéressés par des méthodes d'analyse technique non traditionnelles et à la recherche d'outils supplémentaires pour confirmer leurs idées de trading.

Les caractéristiques de cette implémentation comprennent la possibilité de personnaliser la fréquence des niveaux de prix pour une analyse plus détaillée, la flexibilité dans le choix de la date de fin pour l'analyse historique, et une combinaison de niveaux de prix et de temps sur un seul graphique.

Les améliorations possibles de l'indicateur peuvent inclure l'ajout d'alertes lorsque le prix ou le temps atteint des niveaux clés, la mise en œuvre d'une mise à jour automatique des niveaux lorsque le prix change de manière significative, l'intégration avec d'autres méthodes d'analyse de Gann pour créer un système de trading complet, et l'optimisation des performances pour fonctionner sur des périodes plus importantes et avec un grand nombre de niveaux.


Visualisation des niveaux du Carré de 9 sur le graphique

Les niveaux de prix sont affichés sous forme de lignes horizontales sur le graphique. Chaque ligne représente un niveau potentiel de support ou de résistance calculé selon les principes du Carré de 9 de Gann. La couleur de ces lignes est déterminée par le paramètre PriceLevelColor, ce qui permet aux traders d'adapter l'affichage à leurs préférences et à leur style de graphique. Les lignes horizontales sont réparties le long de l'axe vertical du graphique, leur densité étant contrôlée par le paramètre PriceStepDivisor. Cela permet aux traders d'ajuster le nombre de niveaux de prix affichés, en trouvant un équilibre entre le détail et la lisibilité du graphique.


Les niveaux temporels sont représentés par des lignes verticales sur le graphique. Ces lignes représentent des moments clés basés sur la progression quadratique des nombres de Gann. La couleur des lignes de temps est définie par le paramètre TimeLevelColor, ce qui permet de les distinguer facilement des niveaux de prix. Des lignes verticales sont réparties le long de l'axe horizontal du graphique, à partir de la date de fin spécifiée (paramètre EndDate) et en remontant dans le temps. Cela permet aux traders de voir les points d'inversion potentiels ou les dates importantes dans le futur, ainsi que d'analyser les données historiques.


Quadrature du temps et cycles temporels

La quadrature du temps et les cycles temporels sont des concepts clés de la théorie de William Gann, qui se reflètent dans le Carré de 9. Ces idées reposent sur l'hypothèse que les mouvements du marché suivent certains schémas temporels qui peuvent être prédits et utilisés pour prendre des décisions de trading.

time_scale = (int)MathMax(1, (EndDate - current_time) / (86400 * StartNumber * StartNumber));  // in days

Le concept de la quadrature du temps suggère que les événements importants du marché se produisent souvent à des intervalles qui sont des carrés de nombres entiers. Par exemple, les grands retournements de marché peuvent se produire à 4, 9, 16, 25, 36, 49, 64, 81 jours ou à des périodes plus longues en fonction de ces chiffres. Dans le contexte du Carré de 9, ces nombres correspondent à des points clés de la spirale.

L'équation est l'élément clé du calcul de l'échelle de temps de l'indicateur Carré de 9 de Gann. Examinons ses composantes et leurs significations :

  1. EndDate - current_time : Il s'agit de la différence entre la date de fin spécifiée et l'heure actuelle. Le résultat est exprimé en secondes.
  2. 86400 : c'est le nombre de secondes dans une journée (24 heures * 60 minutes * 60 secondes).
  3. StartNumber * StartNumber : Il s'agit du carré du nombre de départ qui est utilisé pour mettre à l'échelle la ligne de temps.
  4. (EndDate - current_time) / (86400 * StartNumber * StartNumber) : Cette partie de l'équation convertit la différence de temps de secondes en jours, puis la divise par le carré du nombre de départ. Cela crée une échelle de temps non linéaire conforme aux principes du Carré de 9 de Gann.
  5. MathMax(1, ...) : Cette fonction garantit que le résultat est au moins égal à 1. Cela permet d'éviter la division par zéro ou par des valeurs négatives.
  6. (int) : Le résultat est converti en un type entier, puisque la date doit être exprimée en jours entiers.

L'idée derrière cette équation est de créer une ligne de temps qui se raccourcit au fur et à mesure qu'elle se rapproche de la date actuelle. Cela reflète le concept de Gann sur l'accélération du temps et des cycles de marché.

Plus le numéro de départ est élevé, plus la ligne de temps sera comprimée. Cela permet aux traders de personnaliser l'indicateur pour différents horizons de trading.

L'utilisation du carré de StartNumber (StartNumber * StartNumber) dans le dénominateur crée une distribution non linéaire des niveaux de temps, ce qui est cohérent avec les principes du Carré de 9 de Gann, où l'importance des nombres augmente de façon quadratique.


Accélération des cycles temporels parallèlement à l'accélération des cycles de marché

L'une des caractéristiques intéressantes de cet indicateur est que les cycles temporels, basés sur les principes du Carré de 9 de Gann, se rapprochent les uns des autres au fur et à mesure qu'ils s'approchent de la date actuelle. Ce phénomène peut être interprété comme un reflet de l'accélération des cycles de marché observée dans l'environnement financier moderne.

Au cours des dernières décennies, nous avons en effet assisté à une accélération significative des processus de marché. Les krachs boursiers, qui se produisaient autrefois toutes les quelques années, voire toutes les décennies, sont aujourd'hui beaucoup plus fréquents. Cette évolution peut être attribuée à un certain nombre de facteurs, notamment la mondialisation des marchés financiers, le développement des technologies de l'information et du trading algorithmique, ainsi que l'accélération de la diffusion de l'information. Cela s'explique peut-être par l'évolution progressive vers la singularité technologique. 

L'indicateur Carré de 9 de Gann reflète indirectement cette accélération en affichant des cycles temporels qui se compriment et se rapprochent du temps présent. Cette représentation visuelle peut aider les opérateurs à mieux comprendre et à s'adapter à l'environnement de marché actuel, qui évolue rapidement et où les cycles se succèdent à un rythme de plus en plus rapide.

Cette accélération peut être considérée comme un signe du développement technologique et de l'évolution des marchés financiers. Avec l'avènement du trading à haute fréquence, la diffusion instantanée d'informations par les médias sociaux et la disponibilité accrue des plateformes de trading pour les investisseurs particuliers, les marchés sont devenus plus réactifs aux événements que jamais auparavant. Autrefois, les tendances étaient beaucoup plus durables et prévisibles. 

Il est important de noter que si l'indicateur reflète cette accélération, il ne la prédit pas directement. Il s'agit plutôt d'un outil visuel qui peut aider les opérateurs à comprendre et à intégrer le concept d'accélération des cycles de marché dans leur analyse.


Test des indicateurs

Examinons les résultats de l'indicateur sur des données historiques. Nous avons choisi l'EURUSD comme actif et 1,00 comme point de départ pour le calcul des niveaux.

Un autre segment :

Et un autre :

2008 :

En 2010, nous constatons à nouveau une réaction aux niveaux :

2011 :

2012 :

2020 :

Période en cours : En ce moment, l'EURUSD est juste au niveau du Carré de 9 de Gann

En ce qui concerne les cycles temporels par quadrature du temps, je n'ai pas remarqué de réactions statistiquement significatives des prix à leur égard.

Améliorations possibles

Une option intéressante semble être d'ajouter des alertes lorsque le prix touche le niveau du Carré des 9. Il est également possible d'ajouter un calcul automatique des niveaux de carrés lors de la mise à jour des prix. 

Il serait également intéressant de mettre en œuvre la boîte de Gann et la grille de Gann sous la forme d'indicateurs, et de combiner tous les développements en un système complexe.

Perspectives de création d'un EA basé sur le Carré de 9

Il est également possible de créer un EA basé sur un rebond à partir des niveaux du carré. Je considère qu'il s'agit d'un EA semi-automatique éventuellement lié à des objets graphiques. Un tel EA pourrait faciliter le travail des traders en suivant leurs instructions de trading à un niveau ou à un autre.

Conclusion

Le développement de l'indicateur Carré de 9 de Gann pour la plateforme MetaTrader 5 est un projet intéressant et ambitieux qui combine les idées classiques de l'analyse technique avec les technologies modernes de trading. Cet indicateur offre aux traders un outil unique d'analyse du marché qui combine des éléments d'analyse des prix et du temps.

La mise en œuvre du concept du Carré de 9 sous la forme d'un indicateur numérique rend cette théorie complexe plus accessible et applicable à un large éventail de traders. La possibilité de visualiser les niveaux de prix et de temps sur un seul graphique permet une analyse complète des mouvements du marché, ce qui peut être particulièrement utile dans le contexte de l'évolution rapide des marchés d'aujourd'hui.

Il est important de noter que malgré sa base mathématique, l'interprétation des signaux du Carré de 9 de Gann reste largement subjective. 

Dans l'ensemble, ce projet montre comment les méthodes historiques d'analyse technique peuvent être adaptées aux technologies modernes de trading, créant ainsi de nouveaux outils pour les traders. Cela met en évidence la valeur durable des idées classiques et leur potentiel dans le contexte des marchés financiers modernes.

Traduit du russe par MetaQuotes Ltd.
Article original : https://www.mql5.com/ru/articles/15566

Fichiers joints |
Gann_Square9.mq5 (10.58 KB)
Derniers commentaires | Aller à la discussion (1)
Weite Yu
Weite Yu | 27 mars 2025 à 09:31
Comment afficher le calculateur de temps sur le graphique ?
Comment Échanger des Données : Une DLL pour MQL5 en 10 minutes Comment Échanger des Données : Une DLL pour MQL5 en 10 minutes
Maintenant, peu de développeurs se rappellent de la façon d'écrire une DLL simple et des caractéristiques spéciales des différentes liaisons système. À l'aide de plusieurs exemples, je vais tenter de montrer l'ensemble du processus de création de la DLL simple en 10 minutes, ainsi que de discuter de certains détails techniques de notre implémentation de liaison. Je vais montrer étape par étape le processus de la création de DLL dans Visual Studio avec des exemples d'échange de différents types de variables (nombres, tableaux, chaînes, etc.). En outre, je vais vous expliquer comment protéger votre terminal client des plantages dans les DLL personnalisées.
Les méthodes de William Gann (première partie) : Création de l'indicateur Angles de Gann Les méthodes de William Gann (première partie) : Création de l'indicateur Angles de Gann
Quelle est l'essence de la théorie de Gann ? Comment sont construits les angles de Gann ? Nous allons créer l'indicateur Angles de Gann pour MetaTrader 5.
L'Histogramme des prix (Profile du Marché) et son implémentation  en MQL5 L'Histogramme des prix (Profile du Marché) et son implémentation en MQL5
Le Profile du Marché a été élaboré par le brillant penseur Peter Steidlmayer. Il a suggéré l’utilisation de la représentation alternative de l'information sur les mouvements de marché « horizontaux » et « verticaux » qui conduit à un ensemble de modèles complètement différent. Il a assumé qu'il existe une impulsion sous-jacente du marché ou un modèle fondamental appelé cycle d'équilibre et de déséquilibre. Dans cet article, j’examinerai l'Histogramme des Prix - un modèle simplifié de profil de marché, et décrirai son implémentation dans MQL5.
Classes de table et d'en-tête basées sur un modèle de tableau dans MQL5 : Application du concept MVC Classes de table et d'en-tête basées sur un modèle de tableau dans MQL5 : Application du concept MVC
Voici la deuxième partie de l'article consacré à l'implémentation du modèle de tableau dans MQL5 en utilisant le paradigme architectural MVC (Modèle-Vue-Contrôleur). L'article traite du développement des classes de tableau et de l'en-tête de tableau sur la base d'un modèle de tableau créé précédemment. Les classes développées constitueront la base de l'implémentation ultérieure des composants Vue et Contrôleur, qui seront abordés dans les articles suivants.