Errori, bug, domande - pagina 2074

 

Quando si usa l'indicatore nella finestra inferiore, il ridimensionamento automatico non funziona correttamente.

Se sono richiesti due buffer nella finestra dati, ma solo il primo buffer partecipa al disegno, e il secondo buffer ha il tipo "DRAW_NONE" - senza disegno, il ridimensionamento viene eseguito dal secondo buffer (i valori del secondo buffer sono più del primo), anche se il ridimensionamento non dovrebbe essere eseguito da esso (tipo "DRAW_NONE").

Il primo buffer è preciso fino a 6 cifre decimali (per esempio - 0,0001249 indicatore AC). Il secondo buffer contiene i valori -2, -1,0,1,2 (analogico - no, non definito, sì, ecc.)

 
SEM:

Quando si usa l'indicatore nella finestra inferiore, il ridimensionamento automatico non funziona correttamente.

Se sono richiesti due buffer nella finestra dati, ma solo il primo buffer partecipa al disegno, e il secondo buffer ha il tipo "DRAW_NONE" - senza disegno, il ridimensionamento viene eseguito dal secondo buffer (i valori del secondo buffer sono più del primo), anche se il ridimensionamento non dovrebbe essere eseguito da esso (tipo "DRAW_NONE").

Il primo buffer è preciso fino a 6 cifre decimali (per esempio - 0,0001249 indicatore AC). Il secondo buffer contiene i valori -2, -1,0,1,2 (analogico - no, non definito, sì, ecc.)

Verrà aggiustato nella nuova costruzione.
 

Perché il compilatore è silenzioso?

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


Non abbiamo creato delle costanti nominate quando abbiamo dichiarato l'enumerazione e il nome "zero"=1 non ha occupato il livello globale?
 
Kirill Belousov:

Perché il compilatore è silenzioso?

Per la stessa ragione.

enum ENUM {i = 5};

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

Per la stessa ragione.

Uso ::.

Grazie.

Il :: enum funziona. E funziona anche se l'enum è specificato dentro OnStart()

È solo che se fosse una funzione, sarebbe comprensibile. È anche descritto nell'aiuto.

Ma lo zero qui è una costante inizializzata. Pensavo fossero cose diverse.

Ecco perché ho chiesto - perché il compilatore non genera un avviso che il nome zero è già usato nel contesto globale?

Dove è scritto nell'aiuto? O non è documentato?

 
Kirill Belousov:

Perché il compilatore non genera un avviso che lo zero è già usato in un contesto globale.

Bug. Se non fosse un enum ma una variabile, genererebbe "la dichiarazione di 'xxx' nasconde la dichiarazione globale alla linea yyy". Scrivere sulla SD.

MQL5(4)-вопрос. Точка входа.
MQL5(4)-вопрос. Точка входа.
  • 2017.04.23
  • www.mql5.com
Всем привет. Приступил к изучению языка MQL5. Пока только прочитал "Основы языка" из документации...
 
Alexey Kozitsyn:
Sarà risolto nella nuova build.
Grazie per le informazioni!
 
fxsaber:

Difetto. Se non fosse un enum ma una variabile, restituirebbe "la dichiarazione di 'xxx' nasconde la dichiarazione globale alla linea yyy". Scrivere sulla SD.

L'ho scritto in SD.

E se consideriamo il caso in cui enum è dentro OnStart().

Non genera nemmeno l'avviso.

Cosa c'entra il contesto? Tutto avviene all'interno di una funzione qui...

Si scopre che i nomi delle costanti da enum non vengono controllati per essere occupati affatto. Sono sostituiti nel codice prima dei controlli. Sembra così?
 
Kirill Belousov:

La SD ha scritto.

E se consideriamo il caso di enum dentro OnStart().

Non genererà nemmeno un messaggio di avvertimento.

Cosa c'entra il contesto? Qui tutto avviene all'interno di una funzione.

Si scopre che i nomi delle costanti da enum non vengono controllati per essere occupati affatto. Sono sostituiti nel codice prima dei controlli. Sembra così?

L'avete già scritto in SD.

 

Sto scrivendo un EA,
quando ho abilitato l'ottimizzazione in MT5, ottengo ripetutamente la schermata blu W10x64 b1653
può essere che qualcuno abbia affrontato questo fenomeno?
Qual è la ragione?