Scheint ein normaler Code zu sein. Wollen Sie diese Warnungen ignorieren?
Was ist dort normal?
void fCreat_StrToInt (string& fsa_Value[], // Массив элементов stringint& fia_OUT[],// Возвращаемый массив intint fi_IND, // Количество ячеек в массивеint fi_Factor = 1, // Множительstring fs_NameArray = "") // Имя возвращаемого массива
{
int li_size = ArraySize (fsa_Value);
string ls_row = "";
//----ArrayResize (fia_OUT, fi_IND);
for (int li_int = 0; li_int < fi_IND; li_int++)
{
if (li_int < li_size)
{
fia_OUT[li_int] = StrToInteger (fsa_Value[li_int]) * fi_Factor; // это верно
}
else
{
fia_OUT[li_int] = StrToDouble (fsa_Value[li_size - 1]) * fi_Factor; // Это НЕ ВЕРНО !
}
ls_row = StringConcatenate (ls_row, fs_NameArray, "[", li_int, "] = ", fia_OUT[li_int], "; ");
}
if (fs_NameArray != "") Print (ls_row);
Sie haben eine Typinkongruenz (rot hervorgehoben): Sie versuchen, einen Wert vom Typ double an den Typ int zu übergeben, der einen viel größeren Wertebereich als int hat. Es kann zu einem Wertverlust kommen. Sicherlich warnt Sie der Compiler vor diesem Problem.
Sie haben eine Typinkongruenz (rot hervorgehoben): Sie versuchen, einen Wert vom Typ double an den Typ int zu übergeben, der einen viel größeren Wertebereich als int hat. Es kann zu einem Wertverlust kommen. Sicherlich warnt der Compiler vor diesem Problem.
Aber was ist mit der impliziten Typkonvertierung? Ich stimme zwar zu, dass dies einen Fehler verursachen kann. Am besten konvertieren Sie gleich über StrToInteger.
hoz: Was ist mit der impliziten Typkonvertierung? Ich stimme zwar zu, aber das kann zu einem Fehler führen. Besser ist es, direkt über StrToInteger zu konvertieren.
Wenn Sie den int in double übergeben würden, gäbe es kein Problem. Sie würden einen Wert eines Typs mit einem kleineren Bereich an einen Typ mit einem größeren Bereich übergeben. Und es gäbe keinen möglichen Datenverlust. Und folglich gäbe es auch keine Warnung.
Die MQL4-Dokumentation hat sich geändert. Die Anleitung hat sich nicht geändert.
Um die neuen Funktionen von MQL4 zu nutzen, ist es notwendig, das MQL5-Tutorial zu studieren ?
Oder gibt es eine andere Spezialliteratur?
Nein, das müssen Sie nicht. Wenn Sie 4 studieren, studieren Sie die Dokumentation für 4. Obwohl, wenn überhaupt, sind sie irgendwie miteinander verflochten.
So wie ich es sehe, ist der Compiler jetzt vereinheitlicht (man kann sowohl für 4 als auch für sub-4 schreiben). Aus diesem Grund ist die Dokumentation bis auf einige Unterschiede gleich. Im Allgemeinen empfehle ich, die Dokumentation zu 4 zu lesen und von 5 Abstand zu nehmen. Auf den ersten Blick ist es etwas komplizierter. Sie werden dadurch nichts verlieren.
Ich habe von meinem Computer aus auf ein Live-Konto der Firma Teletrade zugegriffen und mein Tablet öffnet kein Live-Konto. Das Tablet läuft auf Android 4.2.2. woran liegt das?
AlexeyVik, Vladon,
Ja, das ist, wie so oft, ziemlich offensichtlich. Entweder ist es meine Unaufmerksamkeit oder Überarbeitung. Danke für den Hinweis.
Ein weiterer Fehler ist aufgetreten, nicht einmal ein Fehler, sondern eine Warnung in der Funktion:
Auf der Linie:
Der Code scheint in Ordnung zu sein. Sollten diese Warnungen ignoriert werden?AlexeyVik, Vladon,
Scheint ein normaler Code zu sein. Wollen Sie diese Warnungen ignorieren?Was ist dort normal?
Sie haben eine Typinkongruenz (rot hervorgehoben): Sie versuchen, einen Wert vom Typ double an den Typ int zu übergeben, der einen viel größeren Wertebereich als int hat. Es kann zu einem Wertverlust kommen. Sicherlich warnt Sie der Compiler vor diesem Problem.
Wie lautet die Warnung?
Was ist daran normal?
Sie haben eine Typinkongruenz (rot hervorgehoben): Sie versuchen, einen Wert vom Typ double an den Typ int zu übergeben, der einen viel größeren Wertebereich als int hat. Es kann zu einem Wertverlust kommen. Sicherlich warnt der Compiler vor diesem Problem.Wie berechne ich die Anzahl der Zeichen?
Und woher weiß ich, ob es ein freier Tag ist (Samstag, Sonntag)?
Was ist mit der impliziten Typkonvertierung? Ich stimme zwar zu, aber das kann zu einem Fehler führen. Besser ist es, direkt über StrToInteger zu konvertieren.
Wenn Sie den int in double übergeben würden, gäbe es kein Problem. Sie würden einen Wert eines Typs mit einem kleineren Bereich an einen Typ mit einem größeren Bereich übergeben. Und es gäbe keinen möglichen Datenverlust. Und folglich gäbe es auch keine Warnung.
Hallo zusammen!
Die MQL4-Dokumentation hat sich geändert. Die Anleitung hat sich nicht geändert.
Um die neuen Funktionen von MQL4 zu nutzen, ist es notwendig, das MQL5-Tutorial zu studieren ?
Oder gibt es eine andere Spezialliteratur?
Hallo zusammen!
Die MQL4-Dokumentation hat sich geändert. Die Anleitung hat sich nicht geändert.
Um die neuen Funktionen von MQL4 zu nutzen, ist es notwendig, das MQL5-Tutorial zu studieren ?
Oder gibt es eine andere Spezialliteratur?
Nein, das müssen Sie nicht. Wenn Sie 4 studieren, studieren Sie die Dokumentation für 4. Obwohl, wenn überhaupt, sind sie irgendwie miteinander verflochten.
So wie ich es sehe, ist der Compiler jetzt vereinheitlicht (man kann sowohl für 4 als auch für sub-4 schreiben). Aus diesem Grund ist die Dokumentation bis auf einige Unterschiede gleich. Im Allgemeinen empfehle ich, die Dokumentation zu 4 zu lesen und von 5 Abstand zu nehmen. Auf den ersten Blick ist es etwas komplizierter. Sie werden dadurch nichts verlieren.