[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 470
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Разные приёмы? Какие, например?if (NormalizeDouble(a, 4)==NormalizeDouble(b, 4)) { ... }
if (NormalizeDouble(a, 4)==NormalizeDouble(b, 4)) { ... }
Das habe ich auch versucht, und vorsichtshalber habe ich statt Ziffern 4, dann 5, dann 6 geschrieben... Funktioniert nicht!
https://www.mql5.com/ru/articles/1561
Ich danke Ihnen! Der Artikel ist in der Tat sehr informativ. Aber ich habe die Funktion bool CompareDoubles in MetaEditor nicht gefunden...
https://www.mql5.com/ru/articles/1561
Oder verstehe ich vielleicht nicht ganz, oder besser gesagt, ich verstehe nicht, was eine Bibliothek überhaupt ist?
Oder verstehe ich vielleicht nicht ganz, oder besser gesagt, ich verstehe nicht, was eine Bibliothek überhaupt ist?
Eine Funktion zum Vergleich reeller ZahlenKönnen Sie mir bitte sagen, was ich hier tun soll?
Ich möchte Zahlen aus einer Datei in die entsprechenden Arrays einlesen.
Die Nummern in der Datei lauten wie folgt: 1.2121;1.2323;1.3434;1.4545
Ich bereite die folgenden Arrays für sie vor: double s1[], s2[], r1[], r2[]
in der Phase der Initialisierung lese ich wie folgt
aber leider sind die Arrays nicht ausgefüllt...
Ratschläge, wie man sich hier....
Посоветуйте, как тут быть....
Erstens werden in csv-Dateien die Elemente durch "," und nicht durch ";" getrennt
. Zweitens müssen Sie Arrays mit dem ersten Element jeder Dateizeile füllen, da Sie zunächst die gesamte Zeile mit FileReadString abrufen und dann in eine einzelne reelle Zahl umwandeln, und der nächste FileRead-Befehl arbeitet bereits mit der nächsten Zeile der Datei.
Sie können die Lektüre auf folgende Weise anordnen:
for(;;) {
str=FileReadString(Handle);
s1[k] =StrToDouble(StringSubstr(str,0,6));
s2[k] =StrToDouble(StringSubstr(str,7,6));
r1[k] =StrToDouble(StringSubstr(str,14,6));
r2[k] =StrToDouble(StringSubstr(str,21,6));
k++;
if(FileIsEnding(Handle)) break;
}
Es sollte funktionieren... aber nicht sicher :)
Erstens werden in csv-Dateien die Elemente durch "," und nicht durch ";" getrennt.
Zweitens müssen Arrays mit dem ersten Element jeder Dateizeile gefüllt werden, da man zuerst die gesamte Zeichenkette mit dem Befehl FileReadString abruft, dann die gesamte Zeichenkette in eine einzelne reelle Zahl umwandelt, und der nächste Befehl FileRead bereits mit der nächsten Zeile der Datei arbeitet.
Sie können das Lesen auf diese Weise organisieren:
for(;;) {
str=FileReadString(Handle);
s1[k] =StrToDouble(StringSubstr(str,0,6));
s2[k] =StrToDouble(StringSubstr(str,7,6));
r1[k] =StrToDouble(StringSubstr(str,14,6));
r2[k] =StrToDouble(StringSubstr(str,21,6));
k++;
if(FileIsEnding(Handle)) break;
}
Sollte funktionieren... aber nicht sicher :)
Das Standardbegrenzungszeichen ist ";", Sie können jedoch jedes beliebige Begrenzungszeichen verwenden.Du schreibst etwas falsch...
Das Standardtrennzeichen ist ";", Sie können jedoch jedes beliebige Trennzeichen verwenden.CSV - Kommagetrennte Werte. Das "," ist das Standard-Trennzeichen. Das Trennen mit ";" ist viel weniger üblich, und ich bin nicht sicher, ob es in MQL4 überhaupt unterstützt wird.
Du schreibst etwas falsch...
Was genau gefällt Ihnen nicht an dem, was ich schreibe...?