Errori, bug, domande - pagina 1814

 
Alexey Kozitsyn:

Errore nella determinazione del tipo di parametri indicatori ENUM_DATATYPE.

Possiamo vedere che TYPE_COLOR(#6) mostra TYPE_UINT invece di TYPE_DATETIME (#9), TYPE_LONG invece di TYPE_FLOAT(#12), TYPE_DOUBLE invece di TYPE. Anche se i tipi TYPE_COLOR, TYPE_DATETIME e TYPE_FLOAT sono descritti nell'enumerazione e dovrebbero avere i loro propri valori!

Si può vedere la logica nel risultato, comunque. Anche float->double può essere spiegato. Troncherei ancora di più il numero di tipi di uscita. In questo senso, l'ENUM_DATYPE sembra eccessivamente ampio.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Идентификаторы типов данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Идентификаторы типов данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Идентификаторы типов данных - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
fxsaber:

La logica del risultato è comunque visibile. Anche float->double è spiegabile. Troncherei ancora di più il numero di tipi di uscita. In questo senso ENUM_DATYPE sembra troppo ampio.

Non vedo alcuna logica nel descrivere esplicitamente l'enumeratore ENUM_DATATYPE nella documentazione e ogni membro ha il suo numero. Non vedo nemmeno la logica nel guardare la dimensione in byte dei tipi float e double.
 
Alexey Kozitsyn:
Non vedo la logica quando la documentazione descrive esplicitamente l'enumeratore ENUM_DATATYPE e ogni membro ha il suo numero. Non vedo nemmeno la logica nel guardare la dimensione in byte dei tipi float e double.
Beh, lascerei solo i tipi intero (int) e "reale" (doppio) - dai numeri.
 
fxsaber:
Beh, lascerei solo i tipi int e double - di numeri.
L'esempio più semplice: secondo la vostra logica, un tipo di variabile è int. Si crea una variabile di questo tipo. Lì volete scrivere valore = 2. Ma in realtà il tipo era bool. Cosa fare allora?
 
Alexey Kozitsyn:
L'esempio più semplice: avete ottenuto una variabile di tipo int con la vostra logica. Si crea una variabile di questo tipo. Lì volete scrivere valore = 2. Ma il valore è effettivamente bool. Cosa fare allora?
void f( bool ) {}

void OnStart()
{
  f(2);
}
 
fxsaber:
void f( bool ) {}

void OnStart()
{
  f(2);
}
Bene, ma opererete con un valore di 1. Ci saranno molti errori difficili da trovare.
 
Alexey Kozitsyn:
Bene, ma opererete con un valore di 1. Ci saranno molti errori difficili da trovare.
Non ci saranno errori. Non si possono nemmeno inventare.
 
fxsaber:
Non ci saranno errori. Non si possono nemmeno inventare.
Solo perché non si può fare qualcosa non significa che non si possa fare. Aspettiamo la risposta della SR.
 
Alexey Kozitsyn:
Solo perché non si può fare qualcosa non significa che non si possa fare. Aspettiamo la risposta della SD.
Gli sviluppatori hanno il loro punto di vista. Non si può davvero arrivare ad una situazione errata nella variante int&double.
 
Errore di deinizializzazione! Applicazione#1677278!