Erreurs, bugs, questions - page 272

 

Lors de la compilation du conseiller expert, les messages suivants apparaissent dans le journal (et ils sont nombreux)

la déclaration de 'sl' cache la déclaration globale dans le fichier 'Time not waits_2011_00.mq5' à la ligne 20 Trade.mqh 1021 45
la déclaration de 'tp' cache la déclaration globale dans le fichier 'Time not waits_2011_00.mq5' à la ligne 21 de Trade.mqh 1021 48

Qu'est-ce que c'est et comment le réparer ? Ce problème n'existait pas dans les versions précédentes.

 
Trolls:

Lors de la compilation du conseiller expert, les messages suivants apparaissent dans le journal (et ils sont nombreux)

la déclaration de 'sl' cache la déclaration globale dans le fichier 'Time not waits_2011_00.mq5' à la ligne 20 Trade.mqh 1021 45
la déclaration de 'tp' cache la déclaration globale dans le fichier 'Time not waits_2011_00.mq5' à la ligne 21 de Trade.mqh 1021 48

Qu'est-ce que c'est et comment le réparer ? Ce problème n'existait pas dans les versions précédentes.

Cela signifie que vous avez déclaré une variable locale et une variable globale avec le même nom. Dans la portée locale, la variable globale sera cachée (invisible), ce contre quoi le compilateur vous met en garde. Le moyen d'y échapper est de donner des noms différents.
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
AlexSTAL:
C'est une question que je me suis posée de nombreuses fois. ....

J'ai écrit à servicedesk..... ils ont répondu rapidement !


Pas une bonne...

 
Jager:

Après la compilation, les paramètres d'entrée dans le testeur de stratégie sont réinitialisés à leurs propres paramètres. Start, Step, Stop.

Chaque fois, après la compilation, je dois redéfinir les paramètres de test requis.

C'est très gênant.

Pouvez-vous préciser ce comportement ?

Je l'ai essayé. Tant à la compilation qu'au redémarrage du terminal, les paramètres définis sont conservés.

 

J'ai un problème avec l'initialisation des valeurs d'état de compte de la ligne Indicateur.

En bref, la sortie Print( ) Equity change lorsqu'elle est testée sur une période de l'historique, alors que les tentatives d'écrire les mêmes valeurs changeantes dans le tampon de données de l'indicateur ne sont pas affichées, bien que la "capacité" d'écrire dans les prix ait déjà été testée, et qu'il n'y ait pas d'erreurs et de remarques de la part du testeur.

Le problème est décrit plus en détail dans le sixième et dernier message du fil de discussion : https://www.mql5.com/ru/forum/2963.

Осциллятор Equity средствами MQL5
Осциллятор Equity средствами MQL5
  • www.mql5.com
С другой стороны, трудно понять, можно ли менять график осциллятора (а точнее буфер его данных) из кода OnTick эксперта, где метод AccountInfoDouble(ACCOUNT_EQUITY) работает.
 
Je n'ai pas eu besoin de recompiler en 32 bits et je n'ai pas eu besoin de recompiler en 64 bits.)
 

Quelle est la manière correcte de faire référence au fichier de ressources ?

#resource "euro.bmp"
....
....
....
string res=MQL5InfoString(MQL5_PROGRAM_NAME)+"::euro";

Est-ce correct ?

 
Dans la dernière version, des erreurs sont apparues. Fonction
if(prev_calculated==0)

a commencé à se déclencher à chaque tic, et même sans tic. Comme s'il était en boucle (4 fois par seconde de manière constante). Et le terminal charge en même temps quelque chose en continu, bien que je ne fasse pas défiler la fenêtre, et l'indicateur a besoin de peu de chandeliers (ce qui est à l'écran). En même temps, dans le gestionnaire de tâches, les valeurs des graphiques sont au maximum sur les deux cœurs, la charge du CPU aussi, et MT ralentit (dans cette fonction, j'ai le calcul, si je le supprime - pas de charge, mais la boucle reste). Si vous retirez l'indicateur du graphique, le chargement s'arrête après un certain temps. Ce n'était pas comme ça avant - ça a marché une fois, comme il se doit. Il y a un code devant :

if(rates_total<0)
      {
         printf("На графике отсутствуют исторические данные");
         return(0);
      }
    
      if(rates_total<DATA_LIMIT)
      {
         printf("Недостаточно исторических данных, необходимое количество: "+string(DATA_LIMIT));
         return(0);
      }

Les données sont suffisantes, car les messages du code ne sont pas imprimés. Et de.

prev_calculated

Le message de test se poursuit en permanence.

Au moment où j'écris ce post - 20 MBt ont été téléchargés et continuent.

S'il vous plaît, réparez-le comme il était dès que possible.

Si quelqu'un n'a pas la dernière version, merci de partager.

 
-Alexey-:

Dans la dernière version, un bug est apparu. La fonction if(prev_calculated==0) a commencé à se déclencher à chaque tick...
De même.
 
Kos:

Quelle est la manière correcte de faire référence au fichier de ressources ?

Est-ce correct ?

"myexp.ex5::euro.bmp"