Erreurs, bugs, questions - page 3153

 
Max B #:

Bug - Code de l'indicateur Phantom

Il y a un indicateur, il y a un expert qui travaille dessus. Le code de l'indicateur est modifié. Il est recompilé et les changements d'indicateurs sont clairement visibles sur le graphique. Le conseiller expert est exécuté dans le testeur, mais il semble que le code n'ait pas été modifié. Le résultat est le même.

Vous pouvez même supprimer l'ex5 de l'indicateur. Vous pouvez continuer à exécuter l'expert dans le testeur (cet ex5 supprimé est clairement indiqué dans celui-ci) comme si rien ne s'était passé. Où obtient-il le fichier pour l'exécution, de l'éther ????

Si vous redémarrez le terminal et exécutez le testeur après cela, il verra le nouveau code. (et lance une erreur si ex5 est manquant)


J'ai essayé différentes façons de lui faire voir le nouveau code - je me suis reconnecté au terminal (sans redémarrer) et j'ai recompilé l'espert lui-même. Modification des paramètres des experts dans le testeur. Rien n'y fait, sauf le redémarrage du terminal.

Vous avez déjà répondu à votre propre question. Si vous supprimez quelque chose et qu'il apparaît, cela signifie qu'il est sauvegardé quelque part))). Lorsque vous démarrez le terminal, l'environnement entier est tiré du profil du dernier état. C'est comme si vous aviez réinitialisé tous les Expert Advisors et indicateurs sur la fenêtre du terminal avec des paramètres prédéfinis. Dans votre cas, le conseiller expert doit être recompilé ou il peut être supprimé et rechargé. Il (l'EA) a déjà récupéré les poignées et les données de l'ancienne version et ne les recalcule pas.

 
Valeriy Yastremskiy #:

Vous avez vous-même répondu à votre propre question. Si vous supprimez quelque chose et qu'il apparaît, il doit être stocké quelque part). Lorsque vous chargez le terminal, l'environnement entier est tiré du profil du dernier état. C'est comme si vous aviez réinitialisé tous les Expert Advisors et indicateurs sur la fenêtre du terminal avec des paramètres prédéfinis. Dans votre cas, le conseiller expert doit être recompilé ou il peut être supprimé et rechargé. Il (l'EA) a déjà retiré les poignées et les données de l'ancienne version et ne les recalcule pas.

Le conseiller expert dans le terminal ne s'accroche à rien, c'est seulement le testeur de stratégie qui le laisse entrer. Le conseiller expert lui-même a un deinit où j'ai IndicatorRelease(handle_mtf_Sys) ; j'ai essayé de recompiler l'EA - cela n'aide pas. Il prend toujours le code fantôme.

 
Max B #:

Le conseiller expert dans le terminal ne s'accroche à rien, seul le testeur de stratégie le permet. Le conseiller expert lui-même a un deinit où je IndicatorRelease(handle_mtf_Sys) ; J'ai essayé de recompiler le conseiller expert - cela n'a pas aidé.

Dans le testeur, outre l'onglet Paramètres, il existe également un onglet Paramètres. Vérifiez-les, il y a peut-être d'anciennes valeurs par défaut. Si ce n'est pas ça aussi, alors oui, c'est un bug, j'ai eu la même chose il y a environ 2 mois, puis ça a disparu, je ne sais pas de quoi il s'agissait.
 
Max B #:

Le conseiller expert dans le terminal ne s'accroche à rien, seul le testeur de stratégie le permet. Le conseiller expert lui-même a un deinit où j'ai IndicatorRelease(handle_mtf_Sys) ; j'ai essayé de recompiler l'EA - cela n'aide pas. Il prend toujours du code fantôme.

Vous compilez d'abord l'indicateur, puis l'EA ? Et l'EA prend les données de l'ancien indicateur ? Si c'est le cas, il doit s'agir d'un bug. Le conseiller expert ne se bloque pas, il fonctionne dans la fenêtre graphique du terminal. Et la fermeture normale se souvient et met en cache l'état de tous les graphiques. Il a peut-être même des dossiers physiques. Je ne sais pas. Mais à en juger par le bug, c'est possible.

Si vous avez supprimé un exechanger, mais que vous avez un fichier mcl, alors tous les fichiers mcl avec les exechangers manquants sont compilés lorsque le terminal est chargé. C'est l'une des façons de compiler et d'obtenir des fichiers mcl exeshes sans meta-editor - pour recharger le terminal.

 
Wizard #:
Dans le testeur de stratégie, outre l'onglet Paramètres, il y a également l'onglet Paramètres. Vérifiez-les, peut-être que les anciennes valeurs sont là par défaut. Si ce n'est pas le même, alors oui, c'est un bug, il y a 2 mois, j'étais le même, puis j'ai disparu, je ne sais pas de quoi il s'agissait.

Les paramètres y sont mémorisés - mais ils ne changent pas et n'ont pas d'importance dans ce cas. C'est le code à l'intérieur de l'indicateur qui change. En général, le bogue est désagréable - chaque fois avant d'exécuter le testeur, le terminal doit être rechargé.

Valeriy Yastremskiy #:

D'abord vous compilez l'indicateur, puis le conseiller expert, et le conseiller expert prend les données de l'ancien indicateur ? Si c'est le cas, il doit s'agir d'un bug. Le conseiller expert ne se bloque pas, il fonctionne dans la fenêtre graphique du terminal. Et la fermeture normale se souvient et met en cache l'état de tous les graphiques. Peut-être même avec des dossiers physiques. Je ne sais pas. Mais à en juger par le bug, c'est peut-être le cas.

Le fait est que notre EA ne se situe pas sur un graphique. C'est seulement dans le testeur de stratégie sélectionné. Je suis concerné par le débogage dans le testeur de stratégie, pas dans le terminal. Il ne doit être mis en cache nulle part.

Lorsque vous démarrez le Strategy Tester, la dernière version compilée de l'indicateur et de l'EA doit être chargée, et non la version fantôme provenant de sources inconnues. Est-ce que ça a un sens ?

 
Max B #:

Les paramètres y sont mémorisés - mais ils ne changent pas et n'ont pas d'importance dans ce cas. C'est le code à l'intérieur de l'indicateur qui change. En général, ce bogue est désagréable - à chaque fois, avant de lancer le testeur, je dois redémarrer le terminal.

Le fait est que notre EA n'appartient à aucun graphique. C'est seulement dans le testeur de stratégie. Je m'intéresse au débogage dans le testeur de stratégie, pas dans le terminal. Il ne doit être mis en cache nulle part.

Lorsque vous démarrez le Strategy Tester, la dernière version compilée de l'indicateur et de l'EA doit être chargée, et non la version fantôme provenant de sources inconnues. Est-ce que ça a un sens ?

Réalisez un exemple reproductible d'un bug et postez-le ici avec le code et la séquence d'actions. Peut-être que les développeurs y prêteront attention).
 

Je souhaite créer une liste déroulante de paires de devises et d'instruments (paires propres) dans la fenêtre des paramètres d'entrée de l'EA. Comment puis-je le faire ?

Deuxième question : comment serait-il correct d'écrire...

Comme ça :

double stop = SymbolInfoDouble(_Symbol, SYMBOL_ASK) - NormalizeDouble(100*_Point, _Digits);

Ou comme ça :

double stop = NormalizeDouble(SymbolInfoDouble(_Symbol, SYMBOL_ASK) - 100*_Point, _Digits);

? ??

Troisième question. Est-il possible de normaliser les prix 2 ou 3 fois de suite ? Cela ne va-t-il pas affecter le travail ?

Je sais que les questions sont idiotes, mais ce sont les petites choses qui me tourmentent en ce moment, même si les deux options fonctionnent. J'ai besoin de savoir comment le faire correctement.

 
Wizard #:

Je veux créer une liste déroulante de paires de devises et d'instruments (mes paires) dans la fenêtre des paramètres d'entrée de l'EA. Comment puis-je le faire ?

Deuxième question : comment serait-il correct d'écrire...

Comme ça :

Ou comme ça :

? ??

Troisième question. Est-il possible de normaliser les prix 2 ou 3 fois de suite ? Cela ne va-t-il pas affecter le travail ?

Je sais que les questions sont idiotes, mais ce sont les petites choses qui me tourmentent en ce moment, même si les deux options fonctionnent. J'ai besoin de savoir comment le faire correctement.

Cette construction NormalizeDouble devrait être évitée si possible, elle est lourde à manipuler.

 
Vitaly Muzichenko #:

Cette construction NormalizeDouble doit être évitée si possible, elle est lourde à gérer.

Je l'ai. Et si je ne veux pas utiliser la fonction NormalizePrice de la classe CSymbolInfo (j'essaie d'éviter les bibliothèques si possible), y a-t-il une alternative ?

Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo
Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo
  • www.mql5.com
CSymbolInfo - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Wizard #:

Je l'ai. Et si je ne veux pas utiliser la fonction NormalizePrice de la classe CSymbolInfo (j'essaie d'éviter les bibliothèques, si possible), y a-t-il une alternative ?

Ne l'appliquez qu'en cas de besoin, pas à chaque éternuement.