Erreurs, bugs, questions - page 2074

 
SEM:

Lorsque vous utilisez l'indicateur dans la fenêtre inférieure, la mise à l'échelle automatique ne fonctionne pas correctement.

Si deux tampons sont requis dans la fenêtre de données, mais que seul le premier tampon participe au dessin, et que le second tampon a le type "DRAW_NONE" - sans dessin, la mise à l'échelle est effectuée par le second tampon (les valeurs du second tampon sont supérieures à celles du premier), bien que la mise à l'échelle ne doive pas être effectuée par lui (type "DRAW_NONE").

Le premier tampon est précis à 6 décimales près (par exemple - 0,0001249 AC indicateur). Le second tampon contient les valeurs -2, -1,0,1,2 (analogues - non, indéfini, oui, etc.).

Sera corrigé dans la nouvelle version.
 

Pourquoi le compilateur est-il silencieux ?

enum   ENUM_FILTER      {off,zero,model,main,fast,slow,upper,lower};

void OnStart()
{

double zero=5;//Почему компилятор молчит?
int d=(ENUM_FILTER)model;
int e=(ENUM_FILTER)zero;
Print("d=",d," zero=",zero," e=",e);
}

2017.11.23 16:16:53.518 test EURCHF,H1: d=2 zero=5.0 e=5


N'avons-nous pas créé des constantes nommées lors de la déclaration de l'énumération et le nom "zéro"=1 n'a-t-il pas occupé le niveau global ?
 
Kirill Belousov:

Pourquoi le compilateur est-il silencieux ?

Pour la même raison.

enum ENUM {i = 5};

void OnStart()
{
  int i = i + 1;
  
  Print(i);   // 6
  Print(::i); // 5
}
Utilisation : :.
 
fxsaber:

Pour la même raison.

Utilisation : :.

Merci.

L'enum : : fonctionne. Et cela fonctionne même si l'enum est spécifié dans OnStart().

C'est juste que si c'était une fonction, ce serait compréhensible. Il est également décrit dans l'aide.

Mais zéro est ici une constante initialisée. Je pensais que c'était des choses différentes.

C'est pourquoi j'ai demandé - pourquoi le compilateur ne génère-t-il pas un avertissement indiquant que le nom zéro est déjà utilisé dans le contexte global ?

Où est-ce que c'est écrit dans l'aide ? Ou est-ce sans papiers ?

 
Kirill Belousov:

Pourquoi le compilateur ne génère-t-il pas un avertissement indiquant que zéro est déjà utilisé dans un contexte global.

Bug. S'il ne s'agissait pas d'un enum mais d'une variable, cela générerait "la déclaration de 'xxx' cache la déclaration globale à la ligne yyy". Écriture sur le SD.

MQL5(4)-вопрос. Точка входа.
MQL5(4)-вопрос. Точка входа.
  • 2017.04.23
  • www.mql5.com
Всем привет. Приступил к изучению языка MQL5. Пока только прочитал "Основы языка" из документации...
 
Alexey Kozitsyn:
Sera corrigé dans la nouvelle version.
Merci pour l'information !
 
fxsaber:

Défaut. S'il ne s'agissait pas d'un enum mais d'une variable, le système renverrait "la déclaration de 'xxx' cache la déclaration globale à la ligne yyy". Écriture sur le SD.

Je l'ai écrit en SD.

Et si nous considérons le cas où l'enum est dans OnStart().

Il ne générera pas non plus l'avertissement.

Qu'est-ce que cela a à voir avec le contexte ? Tout se passe dans une seule fonction ici...

Il s'avère que les noms de constantes de l'enum ne sont pas du tout vérifiés pour être occupés. Ils sont remplacés dans le code avant les contrôles. Est-ce qu'il en est ainsi ?
 
Kirill Belousov:

Le SD a écrit.

Et si nous considérons le cas de l'enum dans OnStart().

Il ne génère pas non plus de message d'avertissement.

Qu'est-ce que cela a à voir avec le contexte ? Tout se passe dans une seule fonction ici.

Il s'avère que les noms de constantes de l'enum ne sont pas du tout vérifiés pour être occupés. Ils sont remplacés dans le code avant les contrôles. Est-ce que ça ressemble à ça ?

Vous l'avez déjà écrit dans SD.

 

Je suis en train d'écrire un EA,
lorsque j'ai activé l'optimisation dans MT5, j'obtiens à plusieurs reprises un écran bleu W10x64 b1653
Peut-être que quelqu'un a été confronté à ce phénomène ?
Quelle en est la raison ?

 
Pavel Verveyko:

Je suis en train d'écrire un EA,
lorsque je saisis l'optimisation dans MT5, j'obtiens un écran bleu W10x64 b1653 à plusieurs reprises
Quelqu'un a-t-il déjà essayé ce phénomène ?
Quelle peut en être la raison ?


Très probablement dans la RAM.