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
Es stellt sich heraus, dass die Dienste fast alle Ein-Funktionen haben werden: OnInit, OnDeinit, OnTick(string),OnTimer,OnTrade,OnTradeTransaction, OnTester, OnTesterInit, OnTesterPass, OnTesterDeinit, OnBookEvent, OnChartEvent(long ChartID, ...), OnCalculate, ...
Und wenn Sie keine Indikatorpuffer benötigen und sich nicht mit den Krücken der Indikatoren/Advisoren herumschlagen wollen, schreiben Sie einen neuen Programmtyp - Services - der nicht unter den (von den früheren MT-Versionen stammenden) Einschränkungen leidet.
Ganz genau.
Es wird kein OnCalculate geben.
Noch keine Lösung mit OnChartEvent
Das ist richtig.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Ich kann keine Indikatordaten von High TF erhalten
Sergey Dzyublik, 2017.04.14 10:55
Der Benutzer verfügte über einen Indikator, der die "Stärke" des Marktes maß.
Der Indikator arbeitet mit dem aktuellen Zeitrahmen und Währungspaar.
Die Aufgabe bestand darin, die Ergebnisse von 8 beliebten Währungen in einem Diagramm darzustellen, wobei die Möglichkeit bestand, eine unabhängige TF auszuwählen, die angezeigt werden sollte.
Es spielt keine Rolle, in welcher TF sich der Benutzer befindet - es sollten die Ergebnisse aus der TF angezeigt werden, die in den Parametern eingestellt wurde.
Das Problem des Ladens von Verkehr aus anderen Währungen um die erforderliche TF wurde mit folgender Krücke gelöst:
wo:
symbols_load- Liste der zu ladenden Währungen
Suffix- mögliches Präfix für den Namen von Währungspaaren
TF- erforderlicher Zeitrahmen
Ist es möglich, ein Abonnement/Abonnement für historische Daten (Balken und Ticks) für ein bestimmtes Volumen hinzuzufügen? Damit wäre immer ein Zwischenspeicher (frischer Balken und Ticks) einer bestimmten Größe beim Service für die gegebenen Symbole vorhanden.
Wie viel einfacher wäre es dann, z. B. Marktscreenings zu schreiben.
Indikatoren sollten für den ihnen zugedachten Zweck verwendet werden.
Mit anderen Worten, die Reihenfolge der Ausführung von OnInit und OnDeinit des Indikators bei der Änderung der Symbol-Periode desCharts sollte niemanden stören
Dieser Ansatz erklärt eine Menge.
Wir sollten es also so akzeptieren, wie es ist, Hauptsache, wir sind uns dessen bewusst.
Nein.
Lesen Sie noch einmal, was die Indikatoren sind. Akelis. Colby. Fragen Sie Yandex, was Marktindikatoren sind.
In MT3, als wir das Konzept der benutzerdefinierten Indikatoren eingeführt haben, konnten wir mit Objekten auf Charts arbeiten, weil es nur 2 Indikatorpuffer gab.
Lassen Sie uns ein wenig Geschichte schreiben. Zuerst gab es FXCharts, ich habe es nicht mitbekommen, da ich erst im Oktober 2002 in das Unternehmen eingetreten bin. Dann gab es MetaTrader. Ich trat in das Unternehmen ein, um MQL II zu entwickeln (FXCharts hatte bereits eine Sprache für Handelsstrategien). Als wir MQL II und EAs entwickelt haben, haben wir den Namen in MetaTrader 2 geändert. Als wir die Möglichkeit erhielten, eigene Indikatoren zu schreiben, wurde MetaTrader 3 zu MetaTrader 3.
Dann kamen MetaTrader 4 und MQL4. Benutzerdefinierte Indikatoren haben die Möglichkeit, mit 8 Indikatorpuffern zu arbeiten. Die Möglichkeit, mit Objekten auf dem Diagramm zu arbeiten, wurde beibehalten. Aber da die Indikatoren im Schnittstellen-Thread berechnet wurden, gab es nur wenige Leute, die die Arbeit mit den Objekten missbrauchten.
Und jetzt haben wir MT5. Die Architektur ist völlig anders, aber wir sind Geiseln von MT4 in Bezug auf die Möglichkeiten, mit grafischen Objekten auf dem Chart zu arbeiten. Ja, wir sind Stachanovites, wir haben auch, als Helden, fast unbegrenzte Möglichkeiten des Chartmanagements von Indikatoren hinzugefügt. Wir sind angekommen. Die Illustration - 16 Seiten Diskussionen über nichts.
Kommen wir zu den Dienstleistungen
Der Ordner Services ist im MQL5-Editor aufgetaucht, aber es ist noch nicht klar, wie dieses Tool zu verwenden ist. https://www.mql5.com/ru/forum/190129
Indikatoren sollten für den ihnen zugedachten Zweck verwendet werden.
Mit anderen Worten, die Abfolge von OnInit und OnDeinit des Indikators beim Wechsel der Symbolperiode desCharts sollte niemanden stören
Warum fällt das ganze Argument auf grafische Objekte? Es gibt andere globale Ressourcen wie globale Variablen, Dateien usw. (können sie in Indikatoren verwendet werden? (können sie in Indikatoren entsprechend ihrem Zweck verwendet werden?), die die Quelle von Fehlern sein werden, wenn"die Reihenfolge der Ausführung von OnInit und OnDeinit des Indikators beim Wechsel derDiagrammsymbol-Periode niemanden stört". Noch einmal, beachten Sie, dass der Kernel jetzt so implementiert ist, dass die Reihenfolge den MQL-Programmierer beunruhigen sollte, um den Ärger zu vermeiden, der durch die Ungewissheit der Reihenfolge der OnInit/Deinit-Aufrufe entsteht. Um MQL nicht zu beunruhigen, brauchen Sie einen Kernel, der sich intern um die Behebung der Unsicherheit kümmert.
Wie können Dienste oder die Möglichkeit, mehrere EAs auf einem einzigen Diagramm laufen zu lassen, die Probleme, die wir hier diskutieren, nicht vollständig abdecken?
Stellen Sie sich vor, anstelle der im Thread genannten Indikatoren würde ein Service laufen, der einen vollständig berechneten Teil des Indikators enthält. Der Indikator wird in das Diagramm eingefügt, um die vom Dienst berechneten Daten in den Indikatorpuffern zu visualisieren.
Die Indikatoren sollten ihrem Zweck entsprechend verwendet werden und nicht zu etwas Allgemeingültigem werden, nur weil es mehrere Indikatoren in einem Diagramm gibt. Auf diese Weise können Sie anfangen, sich über das Verbot von OrderSend in Indikatoren zu beschweren.
Wie können Dienste oder die Möglichkeit, mehrere EAs auf einem einzigen Diagramm laufen zu lassen, die Probleme, die wir diskutieren, nicht vollständig abdecken?
Stellen Sie sich vor, anstelle der im Thread genannten Indikatoren würde ein Service laufen, der einen vollständig berechneten Teil des Indikators enthält. Der Indikator wird in das Diagramm eingefügt, das die vom Dienst berechneten Daten in Indikatorpuffern anzeigt.
D.h. wird es möglich sein, einen Indikator über den Dienst zu erstellen?
Dies ist über den EA immer noch möglich (mit einigen Einschränkungen).