J'installe l'indicateur, l'indicateur fonctionne, je retire l'indicateur, l'indicateur est retiré et il n'est pas dans la liste, mais il fonctionne dessine des objets comme s'il n'avait pas été retiré, il n'est pas dans la liste.
Je rouvre le graphique, cela fonctionne même si le graphique d'un autre symbole.
Il fonctionne depuis environ 10 minutes, pas de cycles en boucle, tout est dans la gamme normale, j'ai joint le code...
J'installe l'indicateur, l'indicateur fonctionne, je supprime l'indicateur, l'indicateur est supprimé et il n'est pas dans la liste, mais il fonctionne dessine des objets comme s'il n'était pas supprimé, il n'est pas dans la liste.
Je rouvre le graphique, cela fonctionne même si le graphique d'un autre instrument.
Il fonctionne depuis environ 10 minutes, pas de boucles, tout est dans la gamme normale, j'ai joint le code...
Il était prévu que si une macro était définie dans une chaîne de caractères particulière, elle serait mise en évidence, si elle n'était pas définie, elle ne serait pas mise en évidence. Sinon, la signification de la présence ou de l'absence de mise en évidence n'est pas claire.
//Test.cpp#include "Test.h"#ifdef MACRO //не подсвечивается... но этот .cpp файл не предназначен для компиляции в MetaEditor,//а компилируется в С\С++, где макрос __MQL__ не является предопределенным//в результате подсвечивается то что не должно и наоборот не подсвечивается что должно#endif
Il s'agit d'un cas (comme le précédent) où une mise en évidence incorrecte et trompeuse est bien pire que l'absence de mise en évidence.
Директива #define подставляет expression вместо всех последующих найденных вхождений identifier в исходном тексте. identifier заменяется только в том случае, если он представляет собой отдельный токен. identifier не заменяется, если он является частью комментария, частью строки, или частью другого более длинного идентификатора. expression...
J'ai rencontré à plusieurs reprises des discussions sur le forum d'utilisateurs concernant l'absence d'une macro prédéfinie similaire à _WIN64 dans MetaEditor. La réponse de l'administration a été qu'il n'y a pas besoin car MetaEditor génère un code universel 32-64 bits en même temps.
Et en effet, si vous utilisez un fichier .dll prêt à l'emploi (qui ne peut plus être modifié), vous ne pouvez pas vous passer d'un alignement supplémentaire. Mais en x86 et x64, cette addition peut être différente, ce qui signifie que l'analogue _WIN64 est toujours nécessaire car la structure est définie à l'étape de la compilation du fichier .mq5 où TerminalInfoInteger( TERMINAL_X64 ) ne fonctionne pas.
//Test.mq5
#ifdef _WIN64
#define ALIGN (8-2) //добавить к элементу структуры 6 байт
#else
#define ALING (4-2) //добавить к элементу структуры 2 байта
#endif
Maintenant, nous devons garder à l'esprit des informations supplémentaires. En économisant sur une bagatelle, il y a un risque d'obtenir une erreur insaisissable.
Création d'une commande en attente de
Version du terminal et mode binaire
64 1755
Description du problème
Indicateur de non-déchargement,
J'installe l'indicateur, l'indicateur fonctionne, je retire l'indicateur, l'indicateur est retiré et il n'est pas dans la liste, mais il fonctionne dessine des objets comme s'il n'avait pas été retiré, il n'est pas dans la liste.
Je rouvre le graphique, cela fonctionne même si le graphique d'un autre symbole.
Une erreur de compilation
#define \ MACROEn outre, il était prévu que les retours à la ligne fonctionnent dans TOUTES les directives.Création d'une commande en attente de
Version du terminal et mode binaire
64 1755
Description du problème
Indicateur de non-déchargement,
J'installe l'indicateur, l'indicateur fonctionne, je supprime l'indicateur, l'indicateur est supprimé et il n'est pas dans la liste, mais il fonctionne dessine des objets comme s'il n'était pas supprimé, il n'est pas dans la liste.
Je rouvre le graphique, cela fonctionne même si le graphique d'un autre instrument.
Le même problème
Même problème
Récursion ?
Même problème
IndicatorRelease();
Erreur lors de la compilation
La pièce jointe doit être compilée
Où ai-je trouvé de tels "espaces" ? Il y en a beaucoup ici https://www.mql5.com/ru/docs/check/terminalinfointeger. J'ai copié le fragment dans Microsoft Edge avec ma souris.
Mise en évidence confuse des macros - indépendante du contexte
soit toujours présent (option B) ou toujours absent (option A)
Il était prévu que si une macro était définie dans une chaîne de caractères particulière, elle serait mise en évidence, si elle n'était pas définie, elle ne serait pas mise en évidence. Sinon, la signification de la présence ou de l'absence de mise en évidence n'est pas claire.Mise en évidence des fichiers C2C++ dans MetaEditor
https://www.mql5.com/ru/docs/basis/preprosessor/constant
Ces macros (ainsi que __MQL__) ne sont pas censées être disponibles lors de la mise en évidence de fichiers avec des extensions .c, cpp, .h.
Il s'agit d'un cas (comme le précédent) où une mise en évidence incorrecte et trompeuse est bien pire que l'absence de mise en évidence.
J'ai rencontré à plusieurs reprises des discussions sur le forum d'utilisateurs concernant l'absence d'une macro prédéfinie similaire à _WIN64 dans MetaEditor. La réponse de l'administration a été qu'il n'y a pas besoin car MetaEditor génère un code universel 32-64 bits en même temps.
En même temps, de nombreuses personnes utilisent l'alignement https://www.mql5.com/ru/forum/225498/page2#comment_6401835 en ajoutant les champs à la structure
Et en effet, si vous utilisez un fichier .dll prêt à l'emploi (qui ne peut plus être modifié), vous ne pouvez pas vous passer d'un alignement supplémentaire. Mais en x86 et x64, cette addition peut être différente, ce qui signifie que l'analogue _WIN64 est toujours nécessaire car la structure est définie à l'étape de la compilation du fichier .mq5 où TerminalInfoInteger( TERMINAL_X64 ) ne fonctionne pas.
Maintenant, nous devons garder à l'esprit des informations supplémentaires. En économisant sur une bagatelle, il y a un risque d'obtenir une erreur insaisissable.
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Bugs, bugs, questions
fxsaber, 2016.08.25 12:32
Erreur d'exécution dans Optimize=1 et/ou en mode débogage.