Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 673
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Nach den letzten Antworten begann das Bild klarer zu werden und das offensichtlichste ist, dass ich nicht dazu bestimmt bin, Programmierer zu werden :-)
Bisher habe ich mit der einfachsten Auflistung begonnen, und das ist es, was dabei herauskam:
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[4] = 86.099999999999999999 2018.10.15 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[3] = 85.98999999999999999999 2018.10.16 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[2] = 86.76000000000001 2018.10.17 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[1] = 86.5 2018.10.18 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[0] = 85.72 2018.10.19 00:00:00
In einigen Fällen überschreitet der Preis aus irgendeinem Grund die Dimension von zwei signifikanten Ziffern nach dem Punkt in beiden Richtungen.
Und dies geschieht ohne Berechnungsfehler, es ist nur die Ausgabe des Kurswertes aus der Chartbasis tmp1[i]=close[i];
Gibt es eine Möglichkeit, das Problem zu beheben oder es einfach zu ignorieren?
Sie können daraus alles herausnehmen, was für fünf relevant ist, und erhalten eine Vorlage für vier.
Dies kann von jemandem geschrieben werden, der den Unterschied zwischen einer Fünf und einer Vier kennt, und das bin definitiv nicht ich :-)
Woher kommt die Zahl 4, was ist ihre heilige Bedeutung?
Dies kann von jemandem geschrieben werden, der den Unterschied zwischen einer Fünf und einer Vier kennt, und das bin definitiv nicht ich :-)
Woher kommt die Zahl 4, welche heilige Bedeutung hat sie?
Du hörst und liest sicher nicht... Das war ich:
Forum für Handel, automatisierte Handelssysteme und Strategietests
Alle Fragen von MQL4-Anfängern, Hilfe und Diskussion über Algorithmen und Codes
Artyom Trishkin, 2018.10.18 09:26
Nach den letzten Antworten wurde das Bild klarer und das offensichtlichste ist, dass ich nicht dazu bestimmt bin, Programmierer zu werden :-)
Bisher habe ich mit der einfachsten Auflistung begonnen, und das ist es, was dabei herauskam:
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[4] = 86.099999999999999999 2018.10.15 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[3] = 85.98999999999999999999 2018.10.16 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[2] = 86.76000000000001 2018.10.17 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[1] = 86.5 2018.10.18 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[0] = 85.72 2018.10.19 00:00:00
In einigen Fällen überschreitet der Preis aus irgendeinem Grund die Dimension von zwei signifikanten Ziffern nach dem Punkt in beiden Richtungen.
Und dies geschieht ohne Berechnungsfehler, es ist nur die Ausgabe des Kurswertes aus der Chartbasis tmp1[i]=close[i];
Gibt es eine Möglichkeit, das Problem zu beheben oder es einfach zu ignorieren?
Das ist in Ordnung. Um Bruchzahlen zu drucken, verwenden Sie einfach DoubleToString() mit der erforderlichen Genauigkeit. In diesem Fall sollte die erforderliche Genauigkeit Digits() sein
Nach den letzten Antworten wurde das Bild klarer und das offensichtlichste ist, dass ich nicht dazu bestimmt bin, Programmierer zu werden :-)
Bisher habe ich mit der einfachsten Auflistung begonnen, und das ist es, was dabei herauskam:
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[4] = 86.099999999999999999 2018.10.15 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[3] = 85.98999999999999999999 2018.10.16 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[2] = 86.76000000000001 2018.10.17 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[1] = 86.5 2018.10.18 00:00:00
2018.10.20 08:42:43.343 _t1 CADJPY,Daily: tmp1[0] = 85.72 2018.10.19 00:00:00
In einigen Fällen überschreitet der Preis aus irgendeinem Grund die Dimension von zwei signifikanten Ziffern nach dem Punkt in beiden Richtungen.
Und dies geschieht ohne Berechnungsfehler, es ist nur die Ausgabe des Kurswertes aus der Chartbasis tmp1[i]=close[i];
Kann man das irgendwie abstellen oder einfach ignorieren?
Das sind normale Werte für eine reelle Zahl. Sie können lernen, Programme zu schreiben, jeder fängt damit an, Sie müssen nur viel lesen und versuchen, Ihre eigenen Codes zu schreiben und zu schreiben.
Die Genauigkeit der reellen Zahl, die Mantisse, und wie sie im Speicher gespeichert wird, können Sie im Internet googeln, die Prinzipien der Speicherung sind überall gleich.
wenn Sie eine schöne Ausgabe wünschen, verwenden Sie DoubleToStr()
das sind normale Werte für eine reelle Zahl, du kannst lernen, Programme zu schreiben, jeder fängt damit an - du musst nur viel lesen und versuchen, deine eigenen Codes zu schreiben
Die Genauigkeit der reellen Zahl, die Mantisse, und wie sie im Speicher gespeichert wird, können Sie im Internet googeln, die Prinzipien der Speicherung sind überall gleich.
wenn Sie eine schöne Ausgabe wünschen, verwenden Sie DoubleToStr()
Wenn es möglich ist, kompatible Funktionen zu verwenden, ist es besser, sie zur Nutzung anzubieten. Andernfalls wird dieses Epos wieder von vorne beginnen. In diesem Fall: DoubleToString()
Wie können Sie verhindern, dass der EA auf denselben Instrumenten läuft?
Zum Beispiel funktioniert der EA im eur/usd-Fenster, aber wenn er in anderen Fenstern auf eur/usd läuft, wird eine Warnmeldung angezeigt. Ich bin Ihnen für Ihre Hilfe sehr dankbar.
Wie können Sie verhindern, dass der EA auf denselben Instrumenten läuft?
Zum Beispiel funktioniert der EA im eur/usd-Fenster, aber wenn er in anderen Fenstern auf eur/usd läuft, wird eine Warnmeldung angezeigt. Ich wäre für Hilfe sehr dankbar.
Sie müssen Daten von einem EA auf einen anderen übertragen, suchen Sie im Forum
oder verwenden Sie die globalen Variablen des Terminals (dies ist der einfachste Weg) - dort können Sie den Wert des ersten EA schreiben, und nachfolgende Kopien des EA lesen diesen Wert und werden nicht ausgeführthttps://www.mql5.com/ru/docs/globals
Sie müssen Daten von einem EA auf einen anderen übertragen, suchen Sie im Forum
oder verwenden Sie die globalen Variablen des Terminals (dies ist der einfachste Weg) - dort können Sie den Wert des ersten EA schreiben, und nachfolgende Kopien des EA lesen diesen Wert und werden nicht ausgeführthttps://www.mql5.com/ru/docs/globals
der EA ist derselbe, Sie sollten ihn deaktivieren, damit er auf denselben Symbolen läuft
und? Sie können die Hilfe nicht in 2 Minuten gelernt haben
Wenn Sie speziell über die Übergabe einer Zeichenfolge an eine globale Variable sprechen, besteht die einzige Möglichkeit darin, einen Namen für die globale Variable zu erstellen, d.h. in Ihrem Fall führen Sie einen EA auf EURUSD aus, prüfen Sie
if(GlobalVariableCheck(_Symbol)) .....
Wenn eine solche Variable nicht vorhanden ist, erstellen Sie eine übergroße Variable, etwa so
if(GlobalVariableSet(_Symbol,Magic)==0) Print("Fehler beim Schreiben in die globale Variable # ",GetLastError());
dann beim Beenden des Expert Advisors die globale Variable
Das Terminal ist ohnehin nicht sehr praktisch, und ich habe die Richtung der Suche sozusagen vorgegeben.