Отсутствие контроля валидности хэндла
Und nun sollten wir über eine große Gefahr bei der Verwendung von Handle-Caching berichten: Es gibt nirgendwo eine Kontrolle über die Existenz von Handles im Benutzer-Cache. Das heißt, der Fall, dass der Indikator-Handle gelöscht wird, wird in keiner Weise behandelt.
Dieses Problem besteht nicht, weil MQL4-Style das Löschen von Handles nicht vorsieht - ein solches Konzept gibt es dort nicht. Aber im allgemeinen Fall geht das Löschen immer durch die Cache-Verschalung.
Schlussfolgerung
Die Ergebnisse des Tests verschiedener Arten des Zugriffs auf Indikatoren haben gezeigt, dass die MQL5-Art des Zugriffs auf Indikatoren jeder MQL4-Art (sowohl ohne als auch mit Zwischenspeicherung von Handles) um Längen voraus ist.
Der MQL5-Stil setzt voraus, dass der Benutzer im Voraus weiß, welche Indikatoren (und deren Eingabeparameter) er verwenden wird. Dies sind die primitivsten TSs!
Im Allgemeinen ruft der TS Indikatoren mit berechneten (nicht starr definierten) Eingabeparametern auf. Und hier kommt man ohne MQL4-style+cache nicht aus.
Ich denke, es ist nicht schwierig, einen MT4-Advisor dieses Niveaus in KB zu finden. Es wird unmöglich sein, ihn in das umzuwandeln, was im Artikel MQL5-Stil genannt wird.
Daher sind die Schlussfolgerungen in dem Artikel nur für die primitivsten TS geeignet, die nur zu Ausbildungszwecken sinnvoll sind.
S
Forum über den Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Schreiben und verdienen in MQL5
fxsaber, 2018.03.05 18:03
Ich verstehe Artikel nicht, die in einen Beitrag eines beliebigen Forenthreads ohne Wasser passen.
Ein solcher Artikel wird geschrieben werden
| 69 | "Wie man den Berechnungsteil eines beliebigen Indikators in den Code eines Expert Advisors überträgt" NEW #957 | Dmitrij Gizlyk |
То есть если два эксперта на одинаковых графиках (одинаковые символ и таймфрейм) создают индикаторы с одинаковыми входными параметрами — MQL5 в своём внутреннем учёте будет идентифицировать их как два разных хэндла.
Das Handle ist dasselbe, und dies wird durch die Tatsache bestätigt, dass die ID dieselbe ist.
Das erste richtige Ergebnis zeigt nur an, dass die Anzahl der Handle-Referenzen abgenommen hat.
Das ist eine völlig falsche Schlussfolgerung. Der Griff ist derselbe, und das wird durch die Tatsache bestätigt, dass die ID übereinstimmt.
Das erste richtige Ergebnis bedeutet nur, dass die Anzahl der Handle-Referenzen abgenommen hat.
Eine andere Interpretation war gemeint
MQL5 wird sie in seiner internen Buchhaltung als zwei verschiedene Handles identifizieren.
Eine andere Auslegung war gemeint
Das ist die Interpretation, von der ich spreche
"Interne Buchführung" als Zähler interpretiert. Ehrlich gesagt verstehe ich nicht, warum es im ersten Teil des Artikels um Griffe geht? Es scheint, dass alles schon mehr als einmal durchgekaut und in bequemeren Formulierungen dargestellt wurde. Bis hin zu den Gründen für die Möglichkeit der Ausführung von Indikatoren im Terminal, wo es keine offenen Charts gibt.
Das ist eine völlig falsche Schlussfolgerung. Der Griff ist derselbe, und das wird durch die Tatsache bestätigt, dass die ID übereinstimmt.
Das erste richtige Ergebnis bedeutet nur, dass die Anzahl der Handle-Referenzen abgenommen hat.
Ja, das ist ein Fehler in dem Artikel.
Im Allgemeinen sollten Sie aufhören zu erfinden und "im MQL4-Stil" zu schreiben . MQL5 ist schneller und korrekter. Es war das Verständnis der Krücken und Einschränkungen von MQL4, das uns dazu brachte, eine neue Sprache zu schaffen und die Kompatibilität zu verweigern, um nicht ein schlechtes Datenzugriffsschema zu ziehen.
Im Allgemeinen ist es notwendig, "im MQL4-Stil" zu erfinden und zu schreiben. MQL5 ist schneller und korrekter. Es war das Verständnis der Krücken und Einschränkungen von MQL4, das uns dazu brachte, eine neue Sprache zu schaffen und die Kompatibilität zu verweigern, um nicht ein schlechtes Datenzugriffsschema zu ziehen.
Weiter!
Forum über Handel, automatisierte Handelssysteme und das Testen von Handelsstrategien
Diskussion über den Artikel "Vergleich der Geschwindigkeit von selbstcachenden Indikatoren"
fxsaber, 2018.03.07 08:17 Uhr.
In der Regel ruft der TS Indikatoren mit berechneten (und nicht mit fest codierten) Eingabeparametern auf. Und hier geht es nicht ohne MQL4-Style+Cache.
Ich denke, es ist nicht schwer, in KB einen MT4-Advisor auf diesem Niveau zu finden. Es wird unmöglich sein, ihn in das umzuwandeln, was in dem Artikel MQL5-Stil genannt wird.
Los geht's!
Das ist weit hergeholt.
Kein ArgumentDas ist weit hergeholt.
Kein Argument.Setzen Sie sich weiterhin für primitive TCs ein.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Geschwindigkeitsvergleich von sich selbst speichernden Indikatoren :
Der Artikel vergleicht den klassischen MQL5-Zugriff auf Indikatoren mit alternativen MQL4-Methoden. Mehrere Varianten des Zugriffs auf Indikatoren im MQL4-Stil werden berücksichtigt: mit und ohne Speicherung (caching) der Handles der Indikatoren. Die Handles auf die Indikatoren innerhalb des MQL5-Kerns werden ebenfalls analysiert.
Beim Vergleich der Ergebnisse ist zu beachten, dass der Test EA die Aufgabe erheblich erschwert hat:
Führen wir nun einen Test durch: Wir rufen nur einen Indikator auf (für beide EAs, MQL5-Test.mq5 und Cache Test.mq5, der Parameter Use indicator... ist "true", während für Cachetest.mq5, Use Timer "0" ist)
Abb. 5. Zeitaufwand für den Zugriff auf einen Indikator
Autor: Vladimir Karputov