Fehler, Irrtümer, Fragen - Seite 1814

 
Alexey Kozitsyn:

Fehler bei der Bestimmung des Typs des Indikatorparameters ENUM_DATATYPE.

Wir sehen, dass TYPE_COLOR(#6) TYPE_UINT anstelle von TYPE_DATETIME (#9), TYPE_LONG anstelle von TYPE_FLOAT(#12), TYPE_DOUBLE anstelle von TYPE zeigt. Obwohl die Typen TYPE_COLOR, TYPE_DATETIME und TYPE_FLOAT in der Aufzählung beschrieben sind und ihre eigenen Werte haben sollten!

Die Logik des Ergebnisses ist jedoch erkennbar. Auch float->double kann erklärt werden. Ich würde die Anzahl der Ausgabearten noch weiter einschränken. In diesem Sinne erscheint der ENUM_DATATYPE zu weit gefasst.

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

Die Logik des Ergebnisses ist jedoch offensichtlich. Auch float->double ist erklärbar. Ich würde die Anzahl der Ausgabearten noch weiter einschränken. In diesem Sinne scheint ENUM_DATATYPE zu weit gefasst.

Ich sehe keine Logik darin, den Enumerator ENUM_DATATYPE in der Dokumentation explizit zu beschreiben und jedem Mitglied eine eigene Nummer zu geben. Ich sehe auch keine Logik darin, die Größe in Bytes von Float- und Double-Typen zu betrachten.
 
Alexey Kozitsyn:
Ich verstehe die Logik nicht, wenn die Dokumentation ausdrücklich ENUM_DATATYPE enumerator beschreibt und jedes Mitglied seine eigene Nummer hat. Ich verstehe auch nicht, warum die Größe von Float- und Double-Typen in Bytes angegeben werden soll.
Nun, ich würde nur Integer (int) und "real" (double) Typen - von Zahlen.
 
fxsaber:
Nun, ich würde nur die Typen int und double lassen - von Zahlen.
Das einfachste Beispiel: Nach Ihrer Logik ist ein Variablentyp int. Sie erstellen eine Variable dieses Typs. Sie wollen dort Wert = 2 schreiben. Aber eigentlich war der Typ bool. Was ist dann zu tun?
 
Alexey Kozitsyn:
Das einfachste Beispiel: Sie haben durch Ihre Logik eine Variable vom Typ int erhalten. Sie erstellen eine Variable dieses Typs. Sie wollen dort Wert = 2 schreiben. Aber der Wert ist eigentlich bool. Was ist dann zu tun?
void f( bool ) {}

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

void OnStart()
{
  f(2);
}
Gut, aber Sie werden mit einem Wert von 1 arbeiten. Es wird eine Menge schwer zu findender Fehler geben.
 
Alexey Kozitsyn:
Gut, aber Sie werden mit einem Wert von 1 arbeiten. Es wird eine Menge schwer zu findender Fehler geben.
Es wird keine Fehler geben. Man kann sie sich nicht einmal ausdenken.
 
fxsaber:
Es wird keine Fehler geben. Man kann sie sich nicht einmal ausdenken.
Nur weil man etwas nicht tun kann, heißt das nicht, dass es nicht sein kann. Warten wir die Antwort des SD ab.
 
Alexey Kozitsyn:
Nur weil man etwas nicht tun kann, heißt das nicht, dass es nicht sein kann. Warten wir die Antwort des SD ab.
Die Entwickler haben ihre eigene Meinung. Bei der int&double-Variante kann man nicht wirklich mit einer fehlerhaften Situation aufwarten.
 
Fehler bei der Deinitialisierung! Antrag Nr. 1677278!