Wednesday, 11 January 2017

Kb Multisystem Handel

MetaTrader 5 - Beispiele Erstellen einer Multi-Währungs-Multi-System Expert Advisor Einführung Ich glaube, es gibt ziemlich viele Händler, die mehr als ein Handelssymbol handeln und mehrere Strategien verwenden. Dieser Ansatz ermöglicht es Ihnen nicht nur potenziell erhöhen Sie Ihren Gewinn, sondern auch das Risiko von erheblichen Drawdown auf effiziente Geld-Management zu minimieren. Beim Erstellen eines Expertenberaters ist der erste natürliche Schritt bei der Überprüfung der Effizienz der Programmstrategie Optimierung, um die besten Eingabeparameter zu ermitteln. Mit den identifizierten Parameterwerten würden die Expertenberater technisch einsatzbereit sein. Doch das würde eine wichtige Frage unbeantwortet lassen. Was würden Testergebnisse sein, als wenn ein Trader alle seine Strategien zusammen in einem einzelnen Experten-Advisor setzen könnte Die Erkenntnis, dass Drawdown auf mehrere Symbole oder Strategien an einem gewissen Punkt überlappen und zu einem grässlichen totalen Drawdown oder sogar einen Margin-Aufruf manchmal kommen kann Eine böse Überraschung. Dieser Artikel stellt ein Konzept der Schaffung eines Multi-Währungs-Multi-System Expert Advisor, die es uns ermöglichen, eine Antwort auf diese wichtige Frage zu finden. 1. Struktur des Sachverständigenberaters Im Allgemeinen ist die Struktur des Sachverständigenberaters wie folgt: 1. Struktur der Multi-Währungs-Multi-System Expert Advisor Wie Sie sehen können, basiert das Programm auf einer for-Schleife. Jede Strategie ist in einer Schleife angeordnet, wobei jede Iteration für den Handel jedes Symbols getrennt verantwortlich ist. Hier können Sie in Schleifen unbegrenzte Anzahl von Strategien zu arrangieren. Wichtig ist, dass Ihr Computer über ausreichende Ressourcen verfügt, um ein solches Programm zu verarbeiten. Sie sollten bedenken, dass es nur eine Position für jedes gehandelte Symbol in MetaTrader 5 geben kann. Diese Position repräsentiert die Summe der Lose zuvor ausgeführter Buys und Sells. Daher ist das Ergebnis von Multi-Strategie-Tests für ein Symbol nicht identisch mit der Summe der getrennten Testergebnisse der gleichen Strategien für dasselbe Symbol. Für eine genauere Betrachtung der Struktur des Expertenberaters nehmen wir 2 Strategien, von denen jeder zwei Symbole ausführt: Kaufen: Preis ermitteln erreicht das untere Band des Bollinger Bands Indikators, der auf niedrigem Preis berechnet wird. Closing: Der Bid-Preis erreicht das untere Band des Bollinger Bands-Indikators auf Basis des High-Preises. Verkauf: Bid Preis erreicht das obere Band des Bollinger Bands Indikator auf der Grundlage der hohen Preis berechnet. Closing: Preis errechnet das obere Band des Bollinger Bands Indikator berechnet auf niedrigen Preis. Einschränkung: In jeder Bar kann nur ein Deal ausgeführt werden. Buy: die vorherige Bar ist bearish (schließen lt offen) und Ask Preis erreicht die vorherigen Bars hoch. Schließen: durch Stop Loss oder Take Profit. Verkauf: Die vorherige Bar ist bullish (schließen gt offen) und Bid Preis erreicht die vorherigen Bars niedrig. Schließen: durch Stop Loss oder Take Profit. Einschränkung: In jeder Bar kann nur ein Deal ausgeführt werden. Um unabhängig von den neuen Zecken für ein Symbol zu sein, auf dem der Expert Advisor getestet wird oder das es handeln wird, empfiehlt es sich, die OnTimer () - Funktion für den Handel im Mehrwährungsmodus zu verwenden. Zu diesem Zweck legen wir bei der Initialisierung des Expert Advisor die Häufigkeit für die Erzeugung eines Ereignisses für den Programmberechnungsaufruf mit Hilfe der Funktion EventSetTimer () fest, und bei der Deaktivierung verwenden wir die Funktion EventKillTimer (), um dem Terminal anzuzeigen, die Erzeugung von Ereignissen zu stoppen EventSetTimer (). Können Sie auch EventSetMillisecondTimer () verwenden. Wo die Frequenz millisekundengenau eingestellt ist, sollten Sie diese nicht durch zu häufige Programmberechnungen missbrauchen. Für den Zugriff auf Konto-, Positions - und Symboleinstellungen sowie Handelsfunktionen verwenden wir CAccountInfo. CPositionInfo. CSymbolInfo bzw. CTrade-Klassen. Wir können sie in den Expert Advisor einbeziehen: Da der Expert Advisor auf for-Schleifen basiert, müssen wir Arrays für seine externen Parameter erstellen. Zuerst erstellen wir Konstanten, die der Anzahl der Symbole für jede Strategie entsprechen: Wir erstellen dann externe Parameter. Mit Konstanten bestimmen wir die Größen der Arrays, auf die sie kopiert werden sollen. Außerdem erstellen wir Indikatorgriffe und andere globale Variablen. Ein Beispiel für ein Symbol der Strategie ist unten angegeben: Um die Möglichkeit zu haben, den Handel für ein bestimmtes Symbol zu deaktivieren, haben wir eine boolesche Variable IsTradeA0 erstellt, die am Anfang von for-Schleifen platziert wird. 2. Initialisierung des Expertenberaters Erstens können die Werte für alle Strategien, z. B. Hebelwirkung. Da Leverage auf das Handelskonto angewendet wird und nichts mit einer Strategie oder einem Symbol zu tun hat, besteht keine Notwendigkeit, den Wert in die Arrays zu kopieren: Wir kopieren dann externe Variablen in Arrays. Wenn ein externer Parameter durch den Typ definiert wird, der eine Konvertierung zu einem anderen erfordert, kann dies auf bequemere Weise beim Kopieren in Arrays erfolgen. In diesem Fall können wir sehen, dass BBPeriodA0 als uint erstellt wurde, um zu verhindern, dass der Benutzer einen negativen Wert festlegt. Hier konvertieren wir es in int und kopieren es in das Array, das auch als int erstellt wurde. Andernfalls gibt der Compiler eine Warnung aus, wenn Sie versuchen, den uint-Typ-Parameter im Indikator-Handle einzufügen. Lassen Sie uns weiter sehen, ob das gehandelte Symbol in der Market Watch verfügbar ist und ob es mehr als einmal in einer Strategie verwendet wurde: Wenn die Symbole richtig ausgewählt wurden, überprüfen Sie für Fehler in den Eingabeparametern für jeden von ihnen, erstellen Sie Indikatorgriffe, erhalten Sie die Daten, die für die Losberechnung erforderlich sind, und, falls erforderlich, andere Dinge, wie sie in der gegebenen Strategie definiert sind. Wir implementieren die oben genannten Aktionen innerhalb einer for-Schleife. Dann setzen wir die Parameter für den Handelsbetrieb der Strategie A mit dem TradeA-Objekt der CTrade-Klasse. Dieselbe Prozedur wird für jede Strategie wiederholt, d. H. Kopieren von externen Variablen auf Arrays Überprüfen, ob Symbole korrekt ausgewählt sind. Überprüfen von Fehlern, Festlegen von Indikatorhandles, Berechnen von Daten für das Los und für alles, was für eine gegebene Strategie erforderlich ist. Schließlich wäre es gut, zu überprüfen, ob ein und dasselbe Symbol in mehreren Strategien verwendet wird (ein Beispiel für zwei Strategien ist unten vorgesehen): 3. Trading For Loops Das Framework von for-Schleifen innerhalb der OnTimer () - Funktion ist wie folgt: Wenn ein Expert Advisor, der auf einer einzigen Strategie basiert, eine Bedingung hat, dass alle nachfolgenden Berechnungen eingestellt werden müssen, verwenden wir den Rückgabeoperator. In unserem Fall müssen wir nur die aktuelle Iteration beenden und mit der nächsten Symbol-Iteration fortfahren. Zu diesem Zweck empfiehlt es sich, den continue-Operator zu verwenden. Wenn Sie Ihren Multi-Strategy Expert Advisor erweitern möchten, indem Sie eine Strategie mit einer for-Schleife hinzufügen, die eine Bedingung für die Beendigung aller nachfolgenden Berechnungen enthält, können Sie das folgende Muster verwenden: Nachdem Sie das Framework der for-Schleifen erstellt haben, Es codiert von anderen EAs und ersetzt dann einige Variablen durch Array-Elemente. Beispielsweise ändern wir die vordefinierte Variable Symbol in SymbolAi oder Point to PointAi. Werte dieser Variablen sind typisch für das gegebene Symbol und wurden daher bei der Initialisierung auf Arrays kopiert. Beispielsweise können wir den Indikatorwert finden: Um den Abschluss einer Kaufposition zu implementieren, schreiben wir den folgenden Code: Eröffnen einer Kaufposition: Denken Sie daran, die Timer-Ereignisgenerierung zu beenden und die Indikatorgriffe bei der Initialisierung zu löschen. 4. Testergebnisse Wenn der Expertenrat bereit ist, testen wir jede Strategie und jedes Symbol getrennt und vergleichen die Testergebnisse mit denen, die im Testmodus erhalten werden, wenn alle Strategien und Symbole gleichzeitig gehandelt werden. Es wird angenommen, dass der Benutzer bereits die optimalen Werte der Eingabeparameter identifiziert hat. Nachfolgend sehen Sie die Einstellungen des Strategie-Testers: Abb. 2. Strategy Tester Einstellungen Ergebnisse für Strategie A, EURUSD: Abb. 3. Testergebnisse für Strategie A, EURUSD Ergebnisse für Strategie A, GBPUSD: Abb. 4. Testergebnisse für Strategie A, GBPUSD Ergebnisse für Strategie B, AUDUSD: Abb. 5. Testergebnisse für Strategie, AUDUSD Ergebnisse für Strategie B, EURJPY: Abb. 6. Testergebnisse für Strategie, EURJPY Testergebnisse für alle Strategien und Symbole: Abb. 7. Testergebnisse für alle Strategien und Symbole Schlussfolgerung Als Ergebnis haben wir eine bequeme und einfache Struktur der Multi-Währungs-Multi-System Expert Advisor, in dem Sie praktisch jede Ihrer Strategien platzieren können. Ein solcher Expert Advisor ermöglicht es Ihnen, die Effizienz des Handels mit allen Ihren Strategien besser zu bewerten. Es kann sich auch als nützlich erweisen, wenn nur ein Expert Advisor an einem bestimmten Konto arbeiten darf. Der Quellcode des Expert Advisors ist dem Artikel beigefügt, um das Studium der oben genannten Informationen zu erleichtern. Multi-Agent Forex Trading System Lee, R. iJADE Aktienberater: ein intelligentes Agent-basiertes Aktienvorhersagesystem unter Verwendung eines hybriden RBF - IEEE-Transaktionen auf Systeme, Mensch und Kybernetik 34 (3), 421428 (2004) CrossRef Kimoto, T. Asakawa, K. Yoda, M. Takeoka, M. Börsenvorhersagesystem mit modularen neuronalen Netzwerken. In: 1990 Internationale Gemeinsame Konferenz über Neuronale Netze, Bd. 1, S. 16 (1990) Kwon, Y. Moon, B. Tägliche Bestandsvorhersage unter Verwendung von neurogenetischen Hybriden. In: Cant-Paz, E. Foster, J. A. Deb, K. Davis, L. Roy, R. OReilly, U.-M. Beyer, H.-G. Kendall, G. Wilson, S. W. Harman, M. Wegener, J. Dasgupta, D. Potter, M. A. Schultz, A. Dowsland, K. A. Jonoska, N. Miller, J. Standish, R. K. (Hrsg.) GECCO 2003. LNCS, vol. (2003) CrossRef Franses, P. Griensven, K. Vorhersage der Wechselkurse unter Verwendung neuronaler Netze für technische Handelsregeln. Studien zur nichtlinearen Dynamik und Ökonometrie 2 (4), 109114 (1998) Lu, H. Han, J. Feng, L. Lagerbewegungsvorhersage und N-dimensionale Inter-Transaction-Assoziationsregeln. In: 1998 ACM SIGMOD Workshop zu Forschungsfragen auf Data Mining und Knowledge Discovery, S. 17 (1998) Genay, R. Lineare, nichtlineare und wesentliche Wechselkursvorhersage mit einfachen technischen Handelsregeln. Journal of International Economics 47, 91107 (1999) CrossRef Tay, F. Cao, L. Anwendung von Support-Vektor-Maschinen in der finanziellen Zeitreihen-Prognose. International Journal of Management Science 29 (4), 309317 (2001) Abraham, A. Analyse von Hybrid-Soft-und Hard-Computing-Techniken für Forex-Monitoring-Systeme. In: Verfahren der Internationalen IEEE-Konferenz 2002 über Fuzzy Systems, S. 16161622 (2002) Abraham, A. Nath, B. Mahanti, P. Hybride Intelligente Systeme für die Börsenanalyse. In: Alexandrov, V. N. Dongarra, J. Juliano, B. A. Renner, R. S. Tan, C. J.K. (Hrsg.) ICCS-ComputSci 2001. LNCS, vol. 2073, S. 337345. Springer, Heidelberg (2001) CrossRef Barbosa, R. Belo, O. Algorithmischer Handel mit intelligenten Agenten. In: Proceedings of the 2008 International Conference on Künstliche Intelligenz (2008) Barbosa, R. Belo, O. Eine Schritt-für-Schritt-Implementierung eines hybriden USDJPY Trading Agent. International Journal of Agent Technologien und Systeme (2009)


No comments:

Post a Comment