Diskussion zum Artikel "Geschwindigkeitsvergleich von sich selbst speichernden Indikatoren"

 

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:

  • Daten werden gleichzeitig aus neun Indikatoren abgefragt;
  • Indikatoren werden BEI JEDEM Tick abgerufen;
  • M1 Zeitrahmen — 26 169 180 Ticks und 370 355 Bars wurden generiert.

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)

MQL5 vs MQL4 1 Indikator

Abb. 5. Zeitaufwand für den Zugriff auf einen Indikator

Autor: Vladimir Karputov

 

Отсутствие контроля валидности хэндла

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.

Der Artikel würde in ganz anderen Farben spielen, wenn der Fall der Einbettung der Indikatorquelle in einen Expert Advisor betrachtet würde.
 
fxsaber: ZY
Der Artikel würde ganz anders aussehen, wenn der Fall der Einbettung der Indikatorquelle in einen Expert Advisor betrachtet würde.

Ein solcher Artikel wird geschrieben werden

69 "Wie man den Berechnungsteil eines beliebigen Indikators in den Code eines Expert Advisors überträgt" NEW
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.

 
fxsaber:

Eine andere Auslegung war gemeint

Das ist die Interpretation, von der ich spreche.
 
Комбинатор:
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.

 
Renat Fatkhullin:

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.

 
fxsaber:

Los geht's!

Das ist weit hergeholt.

Kein Argument
 
Renat Fatkhullin:

Das ist weit hergeholt.

Kein Argument.

Setzen Sie sich weiterhin für primitive TCs ein.