Erreurs, bugs, questions - page 2859
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
Dans le journal du testeur
Qu'est-ce que cela signifie ?
Dans le journal du testeur
Qu'est-ce que cela signifie ?
Cela signifie que lorsque la prochaine valeur de m1 ohlc est reçue (ou l'état de la barre lors du test par les prix ouverts), le champ temps contient 0.
fonction indéfinie signifie que le problème s'est produit en dehors des fonctions prédéfinies (OnTick, OnTimer, etc.), c'est-à-dire dans la boucle principale du testeur.
Cela signifie que lorsque l'on obtient la prochaine valeur m1 ohlc (ou l'état de la barre lorsque l'on teste par les prix ouverts), le champ temps contient 0.
fonction indéfinie signifie que le problème s'est produit en dehors des fonctions prédéfinies (OnTick, OnTimer, etc.), c'est-à-dire dans la boucle principale du testeur.
Tout fonctionnait bien toute la journée et puis ça a commencé. Que puis-je faire en tant qu'utilisateur ?
Cela signifie que lorsque l'on obtient la prochaine valeur m1 ohlc (ou l'état de la barre lorsque l'on teste par les prix ouverts), le champ temps contient 0.
fonction indéfinie signifie que le problème s'est produit en dehors des fonctions prédéfinies (OnTick, OnTimer, etc.), c'est-à-dire dans la boucle principale du testeur.
Je ne comprends pas, y a-t-il une erreur dans mon code ou une erreur dans le terminal ? J'ai effacé tout l'historique - ça n'a pas aidé.
Ajouté :
J'ai trouvé une fonction dans mon code, la désactiver évite l'erreur, mais dans un autre EA cette fonction fonctionne correctement ! Comment cela ? Je peux le déposer dans mon message privé.
Même lorsque cette fonction boguée est activée, OnTick() s'exécute complètement sur la première barre et ensuite cette erreur.
Sur différents terminaux, l'erreur est confirmée.
Je l'ai fait fonctionner par ticks - pas d'erreur...
Mais l'étrangeté se trouve dans le journal :
Sur les ticks si on regarde l'outil, le premier tick était exactement à 10:00, et la session de trading est toujours fermée à cette heure. Ceci est en mode visuel, sans tique la première impression vient à 10 heures.
Le moyen le plus simple est de vérifier la permission d'initialisation au début de chaque EA dans OnTick()
C'est le principal problème de la tâche.
Essayez de faire attention aux identifiants des tableaux et de procéder par ancienneté. Mais cela n'annule pas l'interaction des EA. Ou créez un fichier ou une base de données SQLite avec les ID des graphiques dans la séquence de lancement.
Quelque chose comme, à la première initialisation, s'il n'y a pas de Chart_ID() dans la liste, alors il est entré dans la liste. S'il n'est pas fermé en raison de la fermeture du terminal, il est retiré de la liste. De cette manière, il sera possible de configurer l'interaction des EA.
C'est le principal point d'achoppement du problème.
en dessinant comment je le vois... créé 2 EA avec ce code :
et une EA de contrôle, qui fonctionne par minuterie ( 5 sec )
J'ai vérifié, tout fonctionne, la seule chose, ou cela n'a pas fonctionné avec GlobalVariableSetOnCondition() pour faire un enregistrement dans les variables globales
C'est le principal problème de la tâche.
GlobalVariableSetOnCondition est tout ce qu'il faut pour résoudre le problème.
L'opération n'est autorisée que si GlobalVariableSetOnCondition a renvoyé true.
Après une initialisation réussie et la libération des ressources, la variable principale revient à son état initial et un autre EA démarre.
Dans DeInit - suppression inconditionnelle de la variable, afin de ne pas se retrouver dans le terminal sans aucune EA (si le chargement précédent n'a pas été effectué correctement).
Merci pour les recommandations. Je vais regarder GlobalVariableSetOnCondition.