MetaTrader 5 build 2485: iCustom-Verbesserungen und Gesamtoptimierung in MQL5
Optimierte und erheblich beschleunigte Bearbeitung der Balkenhistorie für kundenspezifische Finanzinstrumente. Die Verbesserung betrifft auch die Funktion CustomRatesUpdate
Terminal
- Optimierte und erheblich beschleunigte Bearbeitung der Balkenhistorie für kundenspezifische Finanzinstrumente. Die Verbesserung betrifft auch die Funktion CustomRatesUpdate.
- Der Export von nutzerdefinierten Symboleinstellungen in eine JSON-Datei wurde korrigiert.
- Fehler in den Absturz-Logs behoben.
MQL5
- Diese Version enthält einen überarbeiteten Algorithmus zum Laden nutzerdefinierter Indikatoren über iCustom.
Wenn der Backslash '\' vor dem Namen des nutzerdefinierten Indikators
angezeigt wird, wird die EX5-Indikator-Datei relativ zum
MQL5-Stammordner durchsucht. Bei einem Aufruf von iCustom(Symbol(),
Periode(), "\FirstIndicator"...) wird daher der Indikator
MQL5\FirstIndicator.ex5 geladen. Wenn die Datei unter diesem Pfad nicht
gefunden wird, wird der Fehler 4802 (ERR_INDICATOR_CANNOT_CREATE)
ausgeworfen.
Wenn der Pfad nicht mit einem Backslash '\'
beginnt, wird der Indikator auf der Grundlage der folgenden Reihenfolge
von Aktionen gesucht und geladen:
- Die EX5-Datei wird
im gleichen Ordner gesucht, in dem sich auch die EX5-Datei des
aufrufenden Programms befindet. Beispielsweise befindet sich der
CrossMA.EX5 Expert Advisor unter MQL5\Experts\MyExperts. Er enthält den
folgenden Aufruf: iCustom(Symbol(), Periode(), "SecondIndicator"...). In
diesem Fall wird der Indikator unter
MQL5\Experts\MyExperts\SecondIndicator.ex5 gesucht.
- Wenn der
Indikator nicht gefunden wird, wird eine Suche relativ zum
Stammverzeichnis des Indikators durchgeführt: MQL5\Indikatoren. Es wird
also die Datei MQL5\Indicators\SecondIndicator.ex5 gesucht. Wenn der
Indikator nicht gefunden wird, gibt die Funktion INVALID_HANDLE zurück
und der Fehler 4802 (ERR_INDICATOR_CANNOT_CREATE) wird ausgeworfen.
Wenn der Indikatorpfad in einem Unterverzeichnis wie
MyIndicators\ThirdIndicator gesetzt ist, beginnt die Suche im Ordner des
aufrufenden Programms (der Expert Advisor befindet sich im Ordner
MQL5\Experts\MyExperts) unter dem folgenden Pfad:
MQL5\Experts\MyExperts\MyIndicators\ThirdIndicator.ex5. Im Falle eines
Fehlschlags wird der Ordner
MQL5\Indicators\MyIndicators\ThirdIndicator.ex5 durchsucht. Bitte
beachten Sie, dass das Pfad-Trennzeichen als doppelter Backslash '\\'
angegeben werden sollte. Zum Beispiel: iCustom(Symbol(), Period(),
"MyIndicators\\ThirdIndicator"...)
Außerdem, wenn ein
nutzerdefinierter Indikatoraufruf über iCustom im Programmcode gefunden
wird, fügt der Compiler implizit die Direktive "#property
tester_indicator XXX" hinzu, wenn sie nicht angegeben ist.
- Optimierte und erheblich beschleunigte Funktion HistorySelect, die es erlaubt, die Historie von Geschäften und Aufträgen abzufragen.
- Ein gelegentlicher Fehler bei der Tick-Anforderung über die Funktion CopyTicksRange
wurde behoben. Der Fehler führte dazu, dass der Bereichsanfang auf den
Tagesanfang und nicht auf die angegebene Zeit gesetzt wurde.
- Optimierte und signifikant beschleunigte Anzeige von Warnhinweisen mit der Funktion Alert.
- Neue Eigenschaft SYMBOL_TIME_MSC für die letzte Tick-Zeit des Symbols
in Millisekunden. Die Eigenschaft kann mit der Funktion SymbolInfoInteger abgerufen werden.
Lesen Sie die vorige Nachricht: