Discussion de l'article "Tracer des lignes de tendance basées sur des fractales à l’aide de MQL4 et MQL5"
Après-midi. Critique. Un jour ne correspond pas toujours à un nombre fixe de bougies. Dans votre cas, il n'est pas toujours correct de vérifier les données de 96 bougies pour M15. Parfois, vous pouvez entrer dans les données d'un autre jour.
Merci pour le commentaire, je n'ai pas vraiment rencontré ce problème car j'ai abandonné le TL journalier au profit du trading intraday (je regarde les 4 heures, l'heure et le m15). Mais en général, il faut regarder la situation de plus près.
Ceci est vrai pour n'importe quel TF, pas nécessairement pour le M15. Le fait est que si vous cherchez des tops/roots dans une journée, par exemple la veille, vous ne devriez pas vous fier à un nombre fixe de bougies, il vaut mieux se fier au temps : de l'ouverture de la veille, dans ce cas, à l'ouverture (la première bougie, qui peut avoir une heure différente de 00.00) de la journée en cours.
Je suis en train d'écrire un EA sur mql4 et je me suis souvenu de votre critique. Bien que je n'aie pas rencontré cette situation dans la pratique, j'ai décidé de l'exclure. La solution est la suivante :
//1.2 Déterminer la barre qui suit l'extremum int UpperFractal_1_base_next=UpperFractal_1_base-1; int UpperFractal_2_base_next=UpperFractal_2_base-1; int LowerFractal_1_base_next=LowerFractal_1_base-1; int LowerFractal_2_base_next=LowerFractal_2_base-1; //1.3 Déterminer le moment de la formation de la fractale datetime UpFractalTime_1_base=iTime(NULL,base_tf,UpperFractal_1_base); datetime UpFractalTime_2_base=iTime(NULL,base_tf,UpperFractal_2_base); datetime LowFractalTime_1_base=iTime(NULL,base_tf,LowerFractal_1_base); datetime LowFractalTime_2_base=iTime(NULL,base_tf,LowerFractal_2_base); //1.4 Déterminer le temps de la barre qui suit l'extremum datetime UpFractalTime_1_base_next=iTime(NULL,base_tf,UpperFractal_1_base_next); datetime UpFractalTime_2_base_next=iTime(NULL,base_tf,UpperFractal_2_base_next); datetime LowFractalTime_1_base_next=iTime(NULL,base_tf,LowerFractal_1_base_next); datetime LowFractalTime_2_base_next=iTime(NULL,base_tf,LowerFractal_2_base_next); //1.5 Déterminer les indices de barre sur m15 pour le temps d'ouverture de la barre fractale int UpperFractal_1_m15_base=iBarShift(NULL, 15, UpFractalTime_1_base,true); int UpperFractal_2_m15_base=iBarShift(NULL, 15, UpFractalTime_2_base,true); int LowerFractal_1_m15_base=iBarShift(NULL, 15, LowFractalTime_1_base,true); int LowerFractal_2_m15_base=iBarShift(NULL, 15, LowFractalTime_2_base,true); //1.6 Déterminer les indices de barre sur m15 pour la barre suivant l'extremum int UpperFractal_1_m15_base_next=iBarShift(NULL, 15, UpFractalTime_1_base_next,true); int UpperFractal_2_m15_base_next=iBarShift(NULL, 15, UpFractalTime_2_base_next,true); int LowerFractal_1_m15_base_next=iBarShift(NULL, 15, LowFractalTime_1_base_next,true); int LowerFractal_2_m15_base_next=iBarShift(NULL, 15, LowFractalTime_2_base_next,true); //1.7 Trouver le nombre de barres sur m15 entre la barre - fractale et la barre suivante int UpperFractal_1_m15_NumBars_base=(UpperFractal_1_m15_base-UpperFractal_1_m15_base_next); int UpperFractal_2_m15_NumBars_base=(UpperFractal_2_m15_base-UpperFractal_2_m15_base_next); int LowerFractal_1_m15_NumBars_base=(LowerFractal_1_m15_base-LowerFractal_1_m15_base_next); int LowerFractal_2_m15_NumBars_base=(LowerFractal_2_m15_base-LowerFractal_2_m15_base_next); // --- Étape 2 - - raffinement des extrema //2.1 Pour la première plus petite fractale int Bar_1_Lowest_m15_base=iLowest(NULL,PERIOD_M15,MODE_LOW,LowerFractal_1_m15_NumBars_base,LowerFractal_1_m15_base_next); datetime Time_1_Lowest_m15_base=iTime(NULL,PERIOD_M15,Bar_1_Lowest_m15_base); double Price_1_Lowest_m15_base=iLow(NULL,PERIOD_M15,Bar_1_Lowest_m15_base); //2.2 Pour la deuxième plus petite fractale int Bar_2_Lowest_m15_base=iLowest(NULL,PERIOD_M15,MODE_LOW,LowerFractal_2_m15_NumBars_base,LowerFractal_2_m15_base_next); datetime Time_2_Lowest_m15_base=iTime(NULL,PERIOD_M15,Bar_2_Lowest_m15_base); double Price_2_Lowest_m15_base=iLow(NULL,PERIOD_M15,Bar_2_Lowest_m15_base); //2.3 Pour la première fractale la plus grande int Bar_1_Highest_m15_base=iHighest(NULL,PERIOD_M15,MODE_HIGH,UpperFractal_1_m15_NumBars_base,UpperFractal_1_m15_base_next); datetime Time_1_Highest_m15_base=iTime(NULL,PERIOD_M15,Bar_1_Highest_m15_base); double Price_1_Highest_m15_base=iHigh(NULL,PERIOD_M15,Bar_1_Highest_m15_base); //2.4 Pour la deuxième plus grande fractale int Bar_2_Highest_m15_base=iHighest(NULL,PERIOD_M15,MODE_HIGH,UpperFractal_2_m15_NumBars_base,UpperFractal_2_m15_base_next); datetime Time_2_Highest_m15_base=iTime(NULL,PERIOD_M15,Bar_2_Highest_m15_base); double Price_2_Highest_m15_base=iHigh(NULL,PERIOD_M15,Bar_2_Highest_m15_base);
Bien que je n'aie pas rencontré cette situation en pratique, j'ai décidé de l'exclure malgré tout
Aujourd'hui, par exemple, sur la paire GBPUSD/EURUSD M5, la première bougie s'est ouverte à 00:05. Si nous prenons 288 chandelles par analogie avec M15, nous entrerons dans les données d'un autre jour.
Il est vrai que c'est pour MT5... sur MT4 (serveur MetaQuotes-Demo) - aussi, chez un autre courtier à partir de 00:00, donc... tout est individuel et il faut encore vérifier.
Un nouvel article Tracer des lignes de tendance basées sur des fractales avec MQL4 et MQL5 a été publié :
Auteur : Almat Kaldybay
Bonjour,
Je n'obtiens pas la ligne de tendance illustrée ci-dessus.
Un réglage particulier ?
Bonjour,
Je n'obtiens pas la ligne de tendance illustrée ci-dessus.
Un réglage particulier ?
Bonjour Almat,
Je n'obtiens pas de lignes de tendance dans le graphique, mais je reçois des alertes mobiles continues. Merci de m'aider si j'ai oublié quelque chose.
Merci,
Prakash.R
Bonjour Almat,
Je n'obtiens pas de lignes de tendance dans le graphique, mais je reçois des alertes mobiles continues. Merci de m'aider si j'ai oublié quelque chose.
Merci,
Prakash.R
Bonjour,
1. Vous devez compiler le fichier mq4 dans le méta-éditeur ;
2. je pense que vous avez des lignes de tendance dans le graphique, mais que vous ne les voyez pas à cause de l'échelle du graphique.
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Un nouvel article Tracer des lignes de tendance basées sur des fractales à l’aide de MQL4 et MQL5 a été publié :
L’article décrit l’automatisation du traçage des lignes de tendance en fonction de l’indicateur Fractals à l’aide de MQL4 et MQL5. La structure de l’article fournit une vue comparative de la solution pour deux langues. Les courbes de tendance sont tracées à l’aide de deux dernières fractales connues.
Pour tracer la ligne, nous devons déterminer le temps et le prix d’une fractale. Bien sûr, dans MQL4, nous pourrions simplement utiliser les séries chronologiques, prédéfinies High[] et Low[] et la fonction iTime(), mais nous devons également obtenir des coordonnées temporelles plus précises pour assurer le tracé correct de la ligne de tendance.
La Fig. 1-2 montre la différence entre les valeurs temporelles des points extrêmes sur les périodes H4 et M15.
Fig.1. La valeur de temps de point extrême sur H4
Auteur : Almat Kaldybay