Discussion de l'article "Création d'un Indicateur Multidevise à l'Aide d'un Certain Nombre de Tampons d'Indicateurs Intermédiaires"
il serait utile que ces indicateurs trient également celui-ci en fonction de leurs valeurs.
en fonction de leurs valeurs. Si une telle fonction existe, merci de la partager, afin de ne pas inventer une bicyclette.
il serait utile de faire le tri dans ces indicateurs également
en fonction de leurs valeurs. Si une telle fonction existe, merci de la partager, afin de ne pas inventer une bicyclette.
Il n'y a pas de fonction toute prête, mais je pense qu'il ne sera pas difficile de l'esquisser.
19.05.2010
Voici ce qui a été réalisé
Je vous remercie.
La seule chose que je voudrais signaler est que la méthode de synchronisation ne fonctionne pas toujours. Voici une image. Trou entre guillemets pendant 24 heures, mais tout est synchronisé (((.
C'est très mauvais. Pourquoi est-ce que je n'arrive pas à comprendre, et surtout, que faire pour y remédier ?
Nous vous remercions.
La seule chose que je voudrais signaler est que la méthode de synchronisation ne fonctionne pas toujours. Voici une image. Trou entre guillemets pendant 24 heures, mais tout est synchronisé (((.
C'est très mauvais. Pourquoi est-ce que je n'arrive pas à comprendre, et surtout, que faire pour y remédier ?
L'indicateur utilise 2 types de synchronisation
1 par le nombre de barres (il doit y avoir plus de barres sur le graphique que l'historique requis par défaut de 500 barres) cette condition est apparemment remplie.
2 par l'heure d'ouverture de la barre zéro sur chaque paire de devises - cette condition est apparemment aussi remplie.
Je pense qu'il est intéressant d'ajouter un troisième type de synchronisation pour vérifier l'heure d'ouverture de chaque barre sur chaque paire par analogie avec le deuxième type de synchronisation.
Comme je serai un peu plus libre, je ferai aussi ce type de synchronisation.
....
Je pense qu'il est intéressant d'ajouter un troisième type de synchronisation pour vérifier l'heure d'ouverture de chaque barre sur chaque paire par analogie avec le deuxième type de synchronisation.
Dans votre image et similitude j'ai fait la fonction bool init_tf(...).
//+------------------------------------------------------------------+ //| Initialisation des graphiques des paires de devises concernées | //| et vérification de la synchronisation des données| //+------------------------------------------------------------------+ //| in.| //| mas[] est un tableau de noms de caractères requis | //| time_0 - heure actuelle de la barre[0]| //| count_Bars - nombre requis de barres | //+------------------------------------------------------------------+ bool init_tf(string &mas[], datetime time_0, int count_Bars) { bool rez=false; // indicateur de réussite int copied=0, // nombre de données copiées counter=0, // compteur d'erreurs tmp_bars=0; // pour vérifier le nombre de barres disponibles datetime tmp_time[1]; // tableau pour vérifier l'heure de la barre f_comment("Il y a une synchronisation en cours.); for(int i=0; i<count_symbol; i++) { //Imprimer("i=",i," ",count_symbol," ",mas[i]) ; tmp_bars=Bars(mas[i],PERIOD_CURRENT); if(tmp_bars<count_Bars) { // vérifier le nombre de barres Print("i=",i,"Pas assez de bars (", mas[i],"-",fTimeFrameName(_Period),") MaxBars=",MaxBars," > Bars=",tmp_bars); counter++; } ResetLastError(); copied = CopyTime(mas[i],PERIOD_CURRENT,0,1,tmp_time); if(copied < 1) { // erreur de copie Print("i=",i,"Erreur de copie (", mas[i],"-",fTimeFrameName(_Period),") №",_LastError," (",ErrorDescription(_LastError),")"); counter++; } if(tmp_time[0]!=time_0) { // l'heure ne correspond pas Print("i=",i,"Pas de synchronisation horaire (", mas[i],"-",fTimeFrameName(_Period),") delta ="",(long)(time_0-tmp_time[0])/60," min"); counter++; } }// fin for(int i=0 ; i<k ; i++) if(counter==0) { // tout va bien, pas d'erreur rez=true; f_comment("Tout. D'accord."); } else f_comment("Il n'y a pas de synchronisation.+(string)counter); ChartRedraw( ); return(rez); }
J'ai sélectionné 12 paires qui seront au championnat. J'ai créé un indicateur RVI_ALL uniquement dans le but d'étudier la synchronisation. Je l'ai lancé. Résultat.
30.05.2010 16:55:26 RVI_ALL (EURUSD,M1) i= 10 Pas de synchronisation temporelle ( GBPJPY - M1 ) delta = 1 min
2010.05.30 16:55:26 RVI_ALL (EURUSD,M1) i= 5 Pas de synchronisation temporelle ( AUDUSD - M1 ) delta = 1 min
2010.05.30 16:55:26 RVI_ALL (EURUSD,M1) i= 1 Pas de synchronisation temporelle ( GBPUSD - M1 ) delta = 1 min
Nous sommes dimanche, il n'y a pas de barres (dernière barre) sur ces symboles. Le prochain tick, seulement le lundi. Puis je me suis souvenu de cet article graphique sans trous https://www.mql5.com/fr/articles/1407.
Et il y aura des trous. Il y en aura. Nous devons les combattre d'une manière ou d'une autre. En principe, vous pouvez faire la même chose que ce qui est décrit dans l'article. Mais j'ai une question.
L'indicateur est accroché à un seul graphique. Et s'il y a un échange d'historique sur ce symbole, je peux le découvrir, prev_calculated sera remis à zéro.
Mais comment puis-je savoir si les autres symboles ont eu un échange d'historique ou si les données sont arrivées avec un long délai ?
Et il y aura des trous. Il y aura des trous. Il faut les traiter d'une manière ou d'une autre. En principe, vous pouvez faire la même chose que ce qui est décrit dans l'article. Mais j'ai une question.
L'indicateur est suspendu à un seul graphique. Et s'il y a eu un échange d'historique sur ce symbole, je peux le découvrir, prev_calculated sera remis à zéro.
Mais comment puis-je savoir si les autres symboles ont fait l'objet d'un échange d'historique ou si les données sont arrivées avec un long délai ?
1 Soit ne pas permettre à l'indicateur d'être dessiné s'il y a un trou dans l'historique et interroger périodiquement l'historique au moment de "réparer" le trou. (Un nouveau tick sur le graphique actuel ou un timer).
2. soit dessiner l'indicateur seulement jusqu'au trou, à condition que le trou dans l'historique soit suffisamment éloigné.
et modifier légèrement cette fonction
bool init_tf(string &mas[], datetime time_0, int count_Bars, int shift) и далее по тексту copied = CopyTime(mas[i],PERIOD_CURRENT,shift,1,tmp_time);
Puis appeler cette fonction dans une boucle (de 0 à shiftbars).
Dans ce cas
shift
ce sera la position de la barre sur l'instrument courant et TF, dont on vérifie la synchronisation avec les autres instruments.
Je n'ai aucun moyen de savoir qu'il y a un trou dans l'histoire.
https://www.mql5.com/ru/forum/1111/8747#comment_8747
La seule solution consiste à copier l'heure et à parcourir en boucle l'ensemble du tableau, mais cela peut également s'avérer fastidieux, c'est un cercle vicieux ( (()
Si les développeurs ne modifient pas le concept de https://www.mql5.com/fr/articles/1407 pour créer des tableaux sans trous, il pourrait s'avérer impossible de tout synchroniser.
Je n'ai aucun moyen de savoir qu'il y a un trou dans l'histoire.
https://www.mql5.com/ru/forum/1111/8747#comment_8747
La seule solution consiste à copier l'heure et à parcourir en boucle l'ensemble du tableau, mais cela peut également s'avérer fastidieux, c'est un cercle vicieux ( (()
Si les développeurs ne modifient pas le concept de https://www.mql5.com/fr/articles/1407 pour créer des tableaux sans trous, il pourrait s'avérer impossible de tout synchroniser.
Utilisez la synchronisation par tampons time[] et il n'y aura pas de confusion.
Un simple appel de citation devrait être accompagné d'une pré-vérification par le temps, et tout sera alors synchronisé.
Bien que je reconnaisse que le chemin n'est pas facile et qu'il peut y avoir beaucoup d'erreurs.
Bonjour !
J'ai des doutes sur l'exactitude de la formule de l'indice du dollar, peut-être sont-ils faux
Quelqu'un pourrait-il expliquer cette formule plus en détail et comment elle a été élaborée ?
"Le dollar index est une valeur de type double calculée à l'aide d'une formule qui m'a été aimablement fournie par Neutron."
Pourquoi citer des formules et faire référence au nom de quelqu'un d'autre ? A-t-il sept yeux dans la tête ? Il s'avère qu'il faut d'abord lire l'article, puis demander aux auteurs des formules ? S'il est l'auteur, alors donnez le lien où il l'obtient.

- 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 Création d'un Indicateur Multidevise à l'Aide d'un Certain Nombre de Tampons d'Indicateurs Intermédiaires a été publié :
Il y a eu récemment un intérêt grandissant pour les analyses de bloc du marché FOREX. MQL5 ouvre de nouveaux horizons de recherche des tendances du mouvement des paires de devises. Une caractéristique clé de MQL5, qui le distingue de MQL4, est la possibilité d'utiliser un nombre illimité de tampons d'indicateurs. Cet article décrit un exemple de création d'un indicateur multi-devises.
Ceci achève le calcul des indicateurs. Les figures 4 à 6 présentent quelques images des différents types d'indicateurs.
Auteur : Alexey Klenov