Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 80
![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
Ich habe es gemacht, es hat keinen Mist ergeben. Verwirrend ist, dass die Verschiebung wahrscheinlich -720 sein sollte.
P.S. Nochmals, ich weiß, dass die Schicht +2 Stunden - auf der Website geschrieben, aber der Roboter nicht weiß.
Man braucht den Websites nicht zu glauben. Die eigentliche Schicht dauert 3 Stunden.
Das gewünschte Ergebnis: "Finde die aktuelle Zeit TimeServer()" Ich habe es nicht richtig verstanden, vielleicht mache ich etwas falsch.
Sie brauchen den Websites nicht zu glauben. Die eigentliche Schicht dauert 3 Stunden.
Überprüft an 4 Klemmen, es ist richtig.
Vielen Dank für Ihre Zeit!
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Diskussion des Artikels "Plattformübergreifender Expert Advisor: Signale"
fxsaber, 2018.04.03 06:26
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
Bibliotheken: Symbol
fxsaber, 2018.04.06 08:20
Wenn Sie einige Eigenschaften eines benutzerdefinierten Symbols ändern müssen, muss dies in manchen Fällen VOR dem Import von Zitaten geschehen.
Ich empfehle daher dringend, zuerst alle Symboleigenschaften festzulegen und erst dann den Import durchzuführen.
Wenn Sie zum BeispielSYMBOL_TRADE_TICK_VALUE und SYMBOL_TRADE_TICK_SIZE einstellen möchten, sollten Sie dies vor dem Import von Ticks/Balken tun.
Große Arrays sind schön, aber denken Sie daran, dass die Größe eine Rolle spielt.
Große Arrays sind sicherlich eine gute Sache, aber man muss das im Hinterkopf behalten.
Das hat nichts damit zu tun.
Das hat nichts damit zu tun.
Wer weiß...
Immerhin wiegt ein Element von MqlRates 60 Bytes.
Wenn Sie nur ein Array mit 10000 Elementen verwenden, ist das natürlich in Ordnung.
Wenn Sie jedoch eine Reihe solcher Arrays aus synthetischen Zeichen erhalten, die jeweils 100000 Zeichen groß sind, wird die Zugriffsgeschwindigkeit auf die Array-Elemente stark (um mehr als eine Größenordnung) sinken.
Es kann nicht schaden, die Optimierung der Array-Größe im Auge zu behalten, und das ist ein guter Stil. Das ist alles. Ich habe nur gesagt, dass man das im Hinterkopf behalten sollte.
Woher wissen Sie...
Ein MqlRates-Element wiegt 60 Bytes.
Wenn Sie nur ein Array mit 10000 Elementen verwenden, ist das natürlich in Ordnung.
Wenn Sie jedoch eine Reihe solcher Arrays aus synthetischen Zeichen haben und jedes Array 100000 Zeichen groß ist, müssen Sie mit einer drastischen Verringerung der Arbeitsgeschwindigkeit rechnen (um mehr als eine Größenordnung).
Es kann nicht schaden, die Optimierung der Array-Größe im Auge zu behalten, und es ist ein guter Stil. Das ist alles. Ich habe nur gesagt, dass Sie das im Hinterkopf behalten sollten.
Das Beispiel dort bezieht sich in keiner Weise auf Array-Größen. Es ging nicht darum, die Historie vom Handelsserver abzufragen und somit die bereits im Terminal vorhandenen Balken so schnell wie möglich zu erhalten.
Das Beispiel bezieht sich in keiner Weise auf die Größe der Arrays. Es ging darum, keine Historienanforderung vom Handelsserver abzurufen und dementsprechend so schnell wie möglich die Balken zu erhalten, die bereits im Terminal sind.
Ja, ich weiß nicht, worum es dabei ging.
Ich habe gerade Ihre Codezeile gesehen, die wahrscheinlich ein Array erzeugt, das größer ist als die Größe des CPU-Cache.