Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 203
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
Wir erweitern die Initialisierungssequenzen "{ ... }", im nächsten Build wird jeder Ausdruck erlaubt sein, nicht nur eine Konstante.
Anstelle dieser Änderung wird es eine Einschränkung bei der Verwendung von Konstanten für Aufzählungen geben (wie bei einem normalen Ausdruck): Wenn eine Konstante nicht Teil einer Aufzählung ist, wird ein entsprechender Fehler erzeugt.
Die Analyse bestehender Codes hat gezeigt, dass die einzelne Nullfolge "{0}" häufig falsch verwendet wird.
Zum Beispiel so:
Eine solche Notation bedeutet, dass für das erste Feld der Struktur der Wert Null gesetzt wird und die übrigen Felder auf Null gesetzt werden.
Für die obige Codezeile ergibt sich nach den neuen Regeln ein Fehler, da das erste Feld den Typ ENUM_TRADE_REQUEST_ACTIONS hat, eine Aufzählung, die nicht den Wert "0" hat.
Der richtige Weg wäre:
MqlTradeRequest request={};
Das ist richtig:
MqlTradeRequest request={};
Und was würde request.action dann bedeuten?
Und was würde request.action dann bedeuten?
Null, natürlich, denn wenn ZeroMemory für das Objekt dieser Struktur aufgerufen wird
Wie behalte ich den Überblick über Zeitreihen und darauf basierende Indikatoren?
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wanzen, Wanzen, Fragen
Slawa, 2021.05.29 18:16
Ich möchte Sie daran erinnern.
1. Für jedes Symbol, für das mindestens ein Chart geöffnet ist, arbeitet ein eigener Thread zur Verarbeitung der eingehenden Ticks. Es können mehrere Diagramme für ein Symbol geöffnet sein, aber es gibt nur einen Thread.
2. Der Symbolfaden verarbeitet keine Diagramme, sondern Zeitreihen. Das heißt, dieselben Datenfelder, die der CopyRates-Anfrage unterzogen werden.
3. Es ist nutzlos, Ihr Symbol in OnTick oder OnCalculate zu fragen, ob es synchronisiert ist. Natürlich ist es das!
4. Alle Zeitreihen werden in der Reihenfolge vom niedrigsten zum höchsten Wert bearbeitet. Zunächst wird der Tick angewandt und dann die Berechnung aller Indikatoren, die für diese Zeitreihe erstellt wurden. Wenn Sie Daten für dasselbe H1-Symbol vom Indikator abfragen, der auf M1 arbeitet, werden Sie niemals Daten mit dem angewandten Tick erhalten. Die Daten werden immer einen Tick zurückliegen, egal welche Tricks Sie anwenden. Denn ein Thread pro Symbol mit fortlaufender Zeitrahmenverarbeitung.
5. Die obige Aussage gilt nicht für EAs und Skripte, da EAs und Skripte jeweils in ihren eigenen separaten Threads arbeiten.
Wie behalte ich den Überblick über Zeitreihen und darauf basierende Indikatoren?
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wanzen, Wanzen, Fragen
Slawa, 2021.06.01 06:34
Wenn Sie zum ersten Mal eine Anfrage stellen, kann es sein, dass der Indikator keine Daten von seinem Symbol, sondern von einem anderen Zeitrahmen erhält, und zwar aus einem einzigen Grund: Die benötigte Zeitreihe ist noch nicht erstellt worden oder wurde bereits nach einiger Zeit zerstört, als es noch keine Anfragen gab.
Nach einer erfolglosen Anfrage senden Sie einfach einen Befehl an Ihr Diagramm, um es zu aktualisieren, und beenden OnCalculate sofort. Es ist garantiert, dass OnCalculate aufgerufen wird und die Zeitreihe zu diesem Zeitpunkt fertig ist
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Merkmale der Sprache mql5, Feinheiten und Tricks
fxsaber, 2017.11.30 09:48
Memo
Der Punkt ist ein anderer - könnte es sich um ein Versehen und nicht um eine bewusste Verhaltensänderung handeln? Haben Sie es herausgefunden?
Der Punkt ist ein anderer - könnte es sich um ein Versehen und nicht um eine bewusste Verhaltensänderung handeln? Haben Sie es erkannt?
Das habe ich nicht. Es gibt so gut wie keine Rückmeldungen. Ich habe jedoch gerade eine neue Funktion entdeckt.
Dieser Expert Advisor warnt beim Wechsel zwischen Konten. Es scheint, dass sie dies nach der Regel nicht tun sollte.
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
Merkmale der Sprache mql5, Feinheiten und Tricks
fxsaber, 2017.11.30 09:48
Memo
Dieser Berater warnt beim Wechsel zwischen Konten. Es scheint, dass sie dies nicht tun sollte, gemäß der Regel
Niemand hat garantiert, dass andere Ereignisbehandler unterbrochen (oder nicht ausgeführt) werden.
Nach dem Alarm erfolgen sowohl deinit als auch init, richtig?