Tuesday, 2 May 2017

Forex Magisches Zahlensystem

MetaTrader 4 - Beispiele MagicNumber: quotMagicquot Kennung des Auftrags 1. Präambel In 3 war das Management von offenen Positionen eher zeitaufwendig. Die Händler hatten ein recht begrenztes Werkzeug zur Verfügung, um mit der Liste der offenen und geschlossenen Positionen zu arbeiten. Das Problem der Unterscheidung zwischen eigenen und anderen elses Positionen wurde auf recht komplizierte Weise gelöst. In 4 hat sich die Situation kardinal verändert. Jetzt kann der Händler eine Vielzahl von Funktionen nutzen und alle offenen Positionen verwalten und Bestellungen platzieren und Zugriff auf Informationen über geschlossene Positionen erhalten. Ein spezieller Parameter namens MagicNumber wurde hinzugefügt, um Aufträge zu identifizieren. Dies ist der Parameter, den unser Artikel behandeln wird. 2. Was ist MagicNumber in OrderSend (String-Symbol, int cmd, doppeltes Volumen, doppelter Preis, int slippage, doppelter Stoploss, doppelter Takeprofit, String commentNULL, int magic0 datetime expiration0, Farbe arrowcolorCLRNONE) Magie - Kann als benutzerdefinierter Bezeichner verwendet werden. Wenn eine Bestellung platziert wird (eine Position wird geöffnet), kann man ihr eine eindeutige Nummer zuweisen. Diese Zahl wird daher verwendet, um die obige Reihenfolge von anderen zu unterscheiden. Es gibt keine Verwendung (oder sogar Möglichkeit) Anwendung dieses Merkmals beim Handel manuell, aber es ist wirklich unexpendable beim Handel mit einem Experten (automatisierte Handel). Beispiel 1: Ein Händler und ein Experte handeln gleichzeitig im Client-Terminal. Aufgabe: Der Experte muss nach seinem Algorithmus handeln und darf bei manuell geöffneten Positionen nichts unternehmen. Lösung: Der Experte muss der Position, die geöffnet wird, eine eindeutige, nicht null MagicNumber zuweisen. In Zukunft muss sie nur Positionen verwalten, deren MagicNumber gleich der voreingestellten ist. Beispiel 2: Zwei Experten mit unterschiedlichen Algorithmen handeln im Client-Terminal zur gleichen Zeit. Aufgabe: Der Experte muss nur ihre Befehle verwalten. Lösung: Jeder Experte muss seine einzigartige Nicht-Null-MagicNumber verwenden, wenn er Positionen öffnet. In Zukunft müssen sie nur Positionen verwalten, deren MagicNumber gleich der voreingestellten ist. Beispiel 3: Mehrere Experten, ein menschlicher Händler und ein unterstützender Experte, die einen nicht standardmäßigen Trailing Stop verwirklichen, arbeiten gleichzeitig im Client-Terminal. Aufgabe: Handelsexperten müssen nach ihren Algorithmen arbeiten und dürfen bei manuell geöffneten Positionen nichts unternehmen. Der unterstützende Experte, der Trailing Stop realisiert, kann nur Positionen ändern, die manuell geöffnet werden, aber nicht die, die von anderen Experten geöffnet werden. Lösung: Die Handelsexperten müssen einzigartige MagicNumbers verwenden und nur ihre Positionen verwalten. Der assistierende Experte muss nur diejenigen Positionen modifizieren, die MagicNumber gleich 0 haben. Alle drei Beispiele sind ziemlich realistisch, und die Benutzer könnten wahrscheinlich solche Probleme für sich selbst gesetzt haben. In allen drei Fällen wird die MagicNumber verwendet, um es zu lösen. Dieser Weg ist nicht der Einzige, sondern der Einfachste. 3. Realisierung Lassen Sie uns jetzt die spezifische Aufgabe lösen: Erstellen Sie einen Experten, der nur mit eigenen Positionen arbeiten könnte, ohne auf Positionen zu schauen, die manuell oder von anderen Experten eröffnet wurden. Lassen Sie uns zuerst einen einfachen Experten schreiben, für den das Signal, um eine Position zu öffnen, wenn die MACD-Anzeige Nulllinie ist. Der Experte wird so aussehen: Lassen Sie uns es an die Tabelle und sehen, wie es funktioniert: Alles ist ok, aber es gibt ein Problem hier. Wenn wir während der Expertentätigkeit eine Position eröffnen, wird sie diese Position als eigenständig betrachten und entsprechend handeln. Das ist nicht das, was wir wollen. Wir werden unseren Experten so ändern, dass er nur seine eigenen Positionen verwaltet: Fügen Sie die externe Variable ExpertID hinzu, die zum Ändern der MagicNumber-Werte für Positionen verwendet wird, die vom Experten geöffnet wurden. Nachdem die Position von der OrderSelect () - Funktion ausgewählt wurde, Ob die MagicNumber der gewählten Reihenfolge mit der der ExpertID-Variablen übereinstimmt. Wir schreiben den Wert der ExpertID anstelle von 0 in das MagicNumber-Feld während der Positionsöffnung. In Anbetracht der obigen Änderungen erscheint der Code wie folgt: Der Experte arbeitet, kann der Benutzer Positionen manuell öffnen. Der Experte wird sie nicht berühren. 4. Mehrere identische Experten auf verschiedenen Diagrammen eines Symbols Es gibt Fälle, in denen derselbe EA auf den Diagrammen des gleichen Symbols handeln muss, aber z. B. mit unterschiedlichen Zeitrahmen. Wenn wir versuchen, unsere Experten auf die Tabelle EURUSD, H1 und auf die EURUSD, M30, gleichzeitig zu bringen, werden sie sich gegenseitig stören: jeder wird die offene Position als seine Position betrachten und sie nach eigenem Ermessen ändern. Dieses Problem kann gelöst werden, indem dem anderen Experten eine andere ExpertID zugewiesen wird. Aber das ist nicht sehr bequem. Wenn es viele Experten verwendet, kann man sich nur unter ihren IDs verstrickt. Wir können dieses Problem mit dem Diagramm Zeitraum als MagicNumber. Wie machen wir das? Wenn wir nur die Chartperiode zur ExpertID hinzufügen, ist es möglich, dass 2 verschiedene Experten auf 2 verschiedenen Charts die gleiche MagicNumber erzeugen. Also werden wir besser multiplizieren ExpertID von 10 und legen Sie die Chart-Periode (seinen Code von 1 bis 9, um genau zu sein) am Ende. Es wird etwa so aussehen: Fügen Sie jetzt diesen Code zu den Experten init () - Funktion und ersetzen Sie ExpertID mit MagicNumber überall. Die endgültige Version des EA sieht so aus: In diesem Aussehen kann der Experte auf mehreren Charts mit unterschiedlichen Perioden verwendet werden. Der Wert der Variablen ExpertID wird sich nur ändern, wenn zwei Experten auf Diagrammen desselben Symbols und Zeitraums (z. B. EURUSD H1 und EURUSD H4) gestartet werden müssen, dies geschieht jedoch äußerst selten. In ähnlicher Weise kann der Benutzer mit Hilfe des obigen Codes seine EAs verbessern und lehren, ihre Positionen von den fremden zu unterscheiden. Achtung: Alle Rechte an diesen Materialien sind von MQL5 Ltd. vorbehalten. Kopieren oder Nachdruck dieser Materialien ganz oder teilweise ist verboten. Über die berühmte Magic Number Grundsätzlich ist es nur eine TRACKING-Nummer. Die meisten EAs können Sie Ihre eigene Nummer eingeben, so können Sie steuern, welche Geschäfte eine EA-Kontrollen. Wenn Sie das EA dem Diagramm hinzufügen, sollte es Ihnen eine Liste von Inputs zeigen - Normalerweise wird einer der Inputs so etwas wie quotMagic Numberquot genannt - machen Sie es nur für beide EAs gleich - Wenn der ursprüngliche Programmierer diese Eingabe nicht addiert hat grundsätzlich aus Glück. (Der ursprüngliche Code müsste bearbeitet werden, um die Fähigkeit hinzuzufügen) Ich sehe. Theres nichts, das so ausdrücklich wie quotMagic Numberquot aber, für das quotFree MA Crossquot EA theres ein Schlitzanruf ExpertID ist, könnte es es sein, das ich beide EA in diesem Pfosten komme, falls Sie neugierig sind und wollen, um zu sehen, wenn Iam wirklich aus Glück heraus.


No comments:

Post a Comment