- 2010.10.04
- Konstantin Gruzdev
- www.mql5.com
Vielen Dank, ein sehr guter Artikel.
На форуме как-то проскользнула мысль о том, что было бы хорошо иметь стандартный обработчик события «новый бар». Быть может когда-то разработчики придут к этому, а может и нет.
Warum es durchgerutscht ist. Genau hier steht in großen Buchstaben https://www.mql5.com/ru/forum/2176/page21/#comment_26385, dass isNewBar() notwendig ist und programmiert werden kann.
Weiterhin kann man das Spiel "Finde zehn Unterschiede" spielen. Abgesehen von den Seltsamkeiten der Arbeit des Expert Advisors auf dem Demokonto, ist es offensichtlich, dass es Unterschiede auf dem Demokonto und im Tester gibt, und sie sind mit bloßem Auge sichtbar... Ich überlasse es den Leidenschaften im Forum oder dem nächsten Artikel, wenn es einen Bedarf dafür gibt.
Man kann die Leidenschaften nicht sehen, ich fürchte, viele Leute haben sie nicht einmal gesehen. Die Leidenschaften in der Meisterschaft werden beginnen, wenn die Ratsmitglieder anfangen zu fallen....
Jetzt können wir noch weiter gehen und einen NewBar-Event-Handler für mehrere Währungen erstellen. Aber das ist das Thema eines ganzen Artikels.
Und dazu kann ich nur ein großartiges Gedicht eines großen Dichters hinzufügen.
Oh, wie viele wunderbare Entdeckungen
Bereiten den Geist der Erleuchtung vor
Und Erfahrung, der Sohn schwieriger Fehler,
Und das Genie, der Freund der Paradoxien,
Und der Zufall, der Erfinder Gottes....
Vielen Dank, ein sehr guter Artikel.
Warum es durchgerutscht ist. Genau dort steht in großen Buchstaben https://www.mql5.com/ru/forum/2176/page21/#comment_26385, dass isNewBar() benötigt wird und programmiert werden kann.
Ups, das habe ich irgendwie übersehen. Hätte noch ein paar Ideen einbringen können. Übrigens habe ich einen EA gepostet, der auf Punkt 5 basiert. Er ist allerdings roh.
Man kann die Leidenschaften nicht sehen, ich fürchte, viele Leute haben es nicht einmal gesehen.
Ja, es scheint, dass viele Leute immer noch unter dem Schock des Beginns der Meisterschaft stehen.
Und dazu kann ich nur ein großes Gedicht, einen großen Dichter hinzufügen.
Ein Gedicht zum Thema. Ich wünschte, jemand würde echte Lösungen anbieten.
es wäre besser, wenn die Entwickler einfach die Funktion isNewBar als Standardfunktion einführen würden...
Meiner Meinung nach macht es für die Entwickler keinen Sinn, eine Standardfunktion isNewBar einzuführen, da dies ein Spezialfall von OnTick ist. Und ich stimme mit Prival überein, dass dies ein programmierbares Ereignis ist.
Es ist wahrscheinlich sogar notwendig, eine Standardverarbeitung dieses Ereignisses einzuführen. Zumindest auf der Expertenebene.
Zumindest ist es unter dem Gesichtspunkt des Multithreading in der Arbeit sinnvoller. Schließlich kann jede Verarbeitung auf der Terminalebene in mehreren Threads organisiert werden, aber in MQL werden wir nur einen Thread bekommen.
Meiner Meinung nach ist die Standardverarbeitung besonders für die Arbeit mit mehreren Währungen von Vorteil.
PS
Generell sollten die Entwickler darüber nachdenken, die bestehenden Event-Handler, also OnTrade() und OnTick(), zu ändern.
Ich persönlich würde es vorziehen, wenn sie zumindest ein Symbol als Parameter hätten...
Ich würde auch OnTick() ändern, oder besser gesagt seine Logik. Jetzt wird dieses Ereignis erzeugt, wenn ein neuer Tick auf dem Währungspaar, an dem der Expert Advisor hängt, auftritt. Unter dem Gesichtspunkt der Multiwährungsanalyse wäre es besser (so denke ich), dieses Ereignis zu erzeugen, wenn es einen neuen Tick auf einem beliebigen Instrument gibt.
D.h. die Matrix hat sich geändert (Überprüfung des Marktes), das newTick()-Ereignis wird mit generiert und gibt an, was sich in der Matrix geändert hat. Es wäre bequemer, alles zu synchronisieren .
Selten, aber es gibt Situationen, in denen die Notierungen für ein Instrument für eine lange Zeit einfrieren (ich habe eine solche Situation beim Yen gesehen). Und wenn der Expert Advisor bei diesem Paar hängen bleibt, haben Sie ein Problem, wenn Sie den gesamten Code nicht in OnTime() übersetzt haben.
Wahrscheinlich ist es sogar notwendig, eine Standardverarbeitung für dieses Ereignis einzuführen. Zumindest auf der Expertenebene.
Zumindest ist es unter dem Gesichtspunkt des Multithreading bei der Arbeit sinnvoller. Schließlich kann jede Verarbeitung auf der Terminalebene in mehreren Threads organisiert werden, und von MQL werden wir nur einen Thread bekommen.
D.h. die Matrix hat sich geändert (Marktübersicht ), das newTick()-Ereignis wird mit generiert und zeigt an, was sich in der Matrix geändert hat. Es wäre bequemer, alles zu synchronisieren .
Ein solches Ereignis kann mit TimeCuurent() empfangen werden, aber was damit weiter zu tun ist, wie man es synchronisiert, ist eine Frage.
Ich würde auch OnTick() ändern, oder besser gesagt seine Logik. Derzeit wird dieses Ereignis generiert, wenn ein neuer Tick für das Währungspaar, an dem der Expert Advisor hängt, auftritt. Aus der Sicht der Multi-Währungs-Analyse wäre es besser (so denke ich), dieses Ereignis zu generieren, wenn ein neuer Tick für jedes Instrument.
Nun, ich meine das Gleiche, in OnTick() und OnTrade() müssen Sie zumindest den Symbolnamen als Parameter hinzufügen (in OnTrade() ist es auch wünschenswert, den Ereignistyp hinzuzufügen).
In diesem Fall kann OnTick() beispielsweise immer dann generiert werden, wenn ein neuer Tick bei einem der Symbole (Instrumente) in der Übersicht auftritt.
- www.mql5.com
- 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 Die Ereignisverarbeitungsroutine "Neuer Balken" :
Die Programmiersprache MQL5 kann helfen, Probleme auf einer ganz neuen Ebene zu lösen. Selbst Aufgaben, für die es bereits eine Lösung gibt, können dank der objektorientierten Programmierung auf ein höheres Niveau gebracht werden. In diesem Beitrag geht es um ein besonders einfaches Beispiel für die Überprüfung des Auftretens eines neuen Balkens in einem Diagramm, das in ein leistungsfähiges und vielseitiges Hilfsmittel verwandelt wurde. Was ist das für ein Hilfsmittel? Das verrät dieser Artikel.
Autor: Konstantin Gruzdev