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
déclarer une variable de manière globale et l'initialiser lors de la déclaration, par exemple int kk=0 ;
puis, dans OnTick(), désimprimer et modifier la valeur, par exemple Print("kk=",kk) ; ++kk ;
puis changez de TF -- et voyez le résultat.
il est clair que la variable globale conservera sa valeur même si le TF est modifié - mais rien de tel ne se produit dans le testeur.
il est clair que la variable globale conservera sa valeur même si le TF est modifié - mais rien de tel ne se produit dans le testeur.
Vous avez maintenant trouvé la réponse à la cause de la différence dans les résultats.
Lors de l'optimisation, les paramètres sont re-sélectionnés, c'est-à-dire que l'Expert Advisor est redémarré avec des paramètres différents.
Vous avez maintenant trouvé la réponse à la différence de résultats.
Pensez-vous que la variable globale de l'EA conserve la valeur des exécutions antérieures de l'optimiseur et qu'elle est reportée sur les exécutions suivantes ?
Vérifiez-le, c'est plus facile de vérifier que de deviner.
Renat a écrit plus haut que l'optimiseur fonctionne "comme une horloge" et que la raison est dans le code -- il a recommandé plusieurs fois de faire un unpriming -- je suppose que personne ne l'a fait.
Avez-vous vérifié vous-même ? Y a-t-il des exemples clairs de cas où une exécution unique fonctionne différemment d'une optimisation ?
par exemple, je me souviens que la suppression d'un handle dans le testeur ne fonctionnait pas avant, cela provoquait un débordement de la mémoire et le plantage du terminal en même temps que le système. peut-être que ce problème a déjà été résolu mais il y a encore quelques pièges avec la création et la suppression des handles d'indicateurs et il y a des différences dans l'optimiseur et les exécutions d'indicateurs uniques. comme je le sais, les développeurs ont travaillé très dur pour accélérer et minimiser la consommation de mémoire autant que possible.
L'avez-vous vérifié vous-même ? Existe-t-il des exemples clairs dans lesquels une exécution unique fonctionnera différemment que dans le cadre d'une optimisation ?
dans ce cas, il ne s'agit pas d'un seul passage.
Vérifier l'initialisation des variables déclarées globalement.
Si l'initialisation n'est pas dans OnInit(), mais dans la déclaration et si leurs valeurs sont modifiées dans le code.
Un exemple simple :
Bien que.... Pour une raison quelconque, le compilateur ne génère pas l'avertissement si vous placez la déclaration dans la portée globale ((((
Je m'attendais à quelque chose de différent...
Un exemple simple :
Bien que.... Pour une raison quelconque, le compilateur ne génère pas l'avertissement si vous placez la déclaration dans la portée globale ((((
Je m'attendais à quelque chose de différent.
La cinquième page était en cours, mais il n'y avait toujours pas de code mql5... Il reste également un mystère entouré d'obscurité concernant les tests : symbole(s), calendrier(s), paramètres des tests.
Bien, une dernière question avant de commencer l'apprêtage.
Par exemple, j'ai enregistré les résultats :
optimiseur - acheter;vendre;vendre;acheter;acheter;vendre
testeur - acheter;vendre;vendre;acheter ;acheter;vendre;acheter;acheter;vendre
Comment les données sur ces transactions"supplémentaires" peuvent-elles aider à comprendre de quel plafond elles proviennent ? Peut-être devrions-nous également écrire les prix des barres précédentes, ou quoi d'autre ?
La cinquième page passait, mais le code mql5 n'était toujours pas là... Il reste également un mystère entouré d'obscurité concernant les tests : symbole(s), calendrier(s), paramètres des tests.
Bienvenue au retour des vacances ))))
Vous pouvez tout voir ici.
Un exemple simple :
Bien que.... Pour une raison quelconque, le compilateur ne génère pas l'avertissement si vous placez la déclaration dans la portée globale ((((
Je m'attendais à quelque chose de différent...
Si 'x' est de type double, les exemples donnés sont fondamentalement faux et l'état 'y' est indéfini dans les deux cas.
c'est-à-dire qu'il est possible que, quelque part dans les profondeurs des réseaux neuronaux, on obtienne soit des valeurs doubles spéciales - inf-types, nan-types ou similaires aux valeurs eps