Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Bon, hier nous nous sommes un peu emballés, je suppose que vous avez célébré comme moi le "Border Guard Day" (jour des gardes-frontières).
Pouvez-vous me donner un lien vers la synchronisation correcte des mesures, parce que j'utilise aussi cette méthode de synchronisation par la dernière mesure et c'est tout ?
Je ne vous donnerai pas de lien (parce que je ne l'ai pas encore rencontré), mais je décrirai la méthode.
La méthode concerne la synchronisation de différents instruments, bien qu'elle puisse être utilisée pour la synchronisation de différents TF.
Je m'occupe de ce problème depuis assez longtemps, et SD a même corrigé les bogues de cette méthode que j'ai identifiés.
Le problème de synchronisation est lié au fait que différents instruments ont un nombre différent de barres. Approximativement identique est un faux critère, tout doit être exact. Barre à barre. Sinon, le sens de la synchronisation est perdu.
Le deuxième aspect de ce problème est de savoir comment afficher une barre s'il n'y a pas de barre sur l'instrument en cours ?
L'essence de la méthode est donc simple : les données sur l'instrument sont demandées strictement par temps...
et l'échantillon de temps est pris dans le tampon standard de l'indicateur time[]. Ainsi, vous savez toujours avec certitude que vous êtes en présence d'une barre qui est apparue de manière synchrone avec une barre sur un autre instrument.
Encore une fois, si une telle barre n'existe pas dans l'instrument actuel, vous ne la demanderez pas. Et si l'instrument demandé ne dispose pas d'une telle barre comme échantillon, vous obtiendrez un zéro dans le décompte et pourrez normalement gérer cette exception, en fonction de la logique de votre programme.
Implémentation de la synchronisation (en MQL4) pour un nombre quelconque d'IF(à partir d'ici) :
Par analogie pour deux symboles(à partir d'ici) :
C'est-à-dire que tout est très simple. Une autre chose est que la représentation barométrique classique (discrétisation en temps constant) des prix BP n'est pas la seule, et encore moins toujours correcte. Il est parfois extrêmement utile de synchroniser les prix BP d'une autre dimension temporelle. C'est-à-dire en introduisant des distorsions qui ne sont pas linéaires du point de vue du temps classique. En conséquence, la corrélation montrera les interrelations non linéaires de deux RV classiques.Merci pour votre aide !
Je me suis trompé, je l'admets, je ne pensais pas que la synchronisation était si compliquée.
Je vais essayer de comprendre et de synchroniser les barres directement sur cet indicateur car j'en ai vraiment besoin.
Merci à tous pour ces informations !
J'ai un peu réécrit l'indicateur. Maintenant, il est supposé sauter les mauvaises parties de l'histoire.
Puisque nous avons commencé, vérifiez s'il y a des erreurs :)
J'insiste une fois de plus sur la nécessité d'une optimisation algorithmique pour tous les indicateurs. Et aussi pour un mécanisme intégré de calcul des valeurs de l'indicateur dans la mémoire (fichier), de sorte que pendant l'optimisation du testeur, l'indicateur ne calcule pas la même chose, mais prend des valeurs prêtes à l'emploi à partir de là.
L'optimisation algorithmique pour chaque indicateur est différente. Pour les différentes manières d'utiliser la corrélation, j'ai fait, par exemple, ceci et cela .
La lecture de mémoire des valeurs des indicateurs calculées à l'avance pour l'ensemble de l'histoire n'a été effectuée que dans ma calculatrice. En d'autres termes, je n'ai pas de mécanisme universel, car je n'utilise que mes propres solutions, qui ne sont pas belles du tout. Mais comme je suis pour l'amélioration de tout, ce serait bien d'avoir un tel mécanisme universel dans le cas de l'optimiseur du testeur MT5, car il donne des accélérations de plusieurs ordres de grandeur (expérience d'utilisation dans ma calculatrice), c'est-à-dire qu'il surpasse Cloud en termes d'efficacité.
Bonjour
Il m'arrive de passer du temps à déformer les codes des autres, généralement le résultat d'un programme incomplet ou non abouti, à la fois par manque de temps et de compétences.
Cette fois-ci, j'ai essayé de déformer ce merveilleux indicateur, et j'ai essayé de faire quelque chose comme ceci :
- Dessiner juste une ligne, pas une ligne de traçage en pointillés
- J'ai ajouté de nombreux symboles tels que
Puis de créer 2 variantes du code source :
- Variante visuelle : une ligne colorée pour chacune des paires de devises corrélation 1 ligne épaisse qui est juste la moyenne de 7 lignes ((A+B+C+D+E+F+G)/7)
- Pas de variante visuelle : 1 seule ligne, qui est le résultat de la formule ci-dessus ((A+B+C+D+D+E+F+G)/7)
C'est presque comme si l'on ajoutait 7 (ou 8) indicateurs de corrélation originaux, mais tous additionnés de sorte qu'il ne s'agit que de moyennes, comme dans la version dont l'une comporte 7 lignes + 1 (moyenne), et l'autre 1 ligne (seulement la moyenne).
quelque chose comme ça :
Pour un certain nombre de raisons, le code brouillé ne fait pas ce que je veux faire à cause d'erreurs complètement logiques.
Le principal problème est lié aux tampons, à la synchronisation et à l'indentation récursive de la partie du code :
if(bars1>bars2) { minBars=bars2; bars2=bars1-bars2; etc...+ ainsi que d'autres erreurs logiques.
quelques fonctions Print() ont été ajoutées pour aider dans le cas du suivi des valeurs variables et les instructions de retour 0 ont été commentées afin de trouver où le code échoue logiquement.
code et fichier