MetaTrader 5 - Beispiele Erstellen Sie Ihren eigenen Handelsroboter in 6 Schritten Ein weiteres Mal über den MQL5-Assistenten Die Welt um uns herum ändert sich schnell und wir versuchen, damit Schritt zu halten. Wir haben keine Zeit, etwas Neues zu lernen, und das ist eine normale Einstellung eines normalen Menschen. Händler sind Menschen wie alle anderen, sie wollen maximale Ergebnisse für das Minimum an Aufwand zu bekommen. Speziell für Händler bietet MetaEditor 5 einen wunderbaren MQL5 Wizard an. Es gibt mehrere Artikel, die beschreiben, wie ein automatisiertes Handelssystem mit dem Assistenten zu erstellen, darunter eine leichte Version MQL5 Wizard für Dummies und eine Version von Entwicklern - MQL5 Wizard: Neue Version. Es ist alles gut - ein Handelsroboter wird in 5 Mausklicks erstellt, man kann ihn im Strategy Tester testen und die Parameter eines Handelssystems optimieren, man kann den daraus resultierenden Roboter auf Ihr Konto handeln lassen, ohne etwas anderes manuell tun zu müssen . Aber das Problem entsteht, wenn ein Trader / MQL5-Entwickler will etwas Eigenes zu schaffen, etwas Einzigartiges, das noch nie beschrieben wurde, und wird sein eigenes Modul der Trading-Signale zu schreiben. Der Trader öffnet die MQL5-Dokumentation, kommt zur Standardbibliothek und ist entsetzt zu sehen. Fünf schreckliche Klassen True, die MQL5 Wizard vereinfacht stark die Schaffung von Experten-Advisor, aber zuerst müssen Sie lernen, was als Eingabe für sie verwendet werden. Um automatisch einen Expertenratgeber unter Verwendung des MQL5-Assistenten zu erstellen, stellen Sie sicher, dass seine Komponenten fünf Basisklassen des Abschnitts Basisklassen von Expertenberatern einhalten: CExpertBase ist eine Basisklasse für vier weitere Klassen. CExpert ist die Klasse für die Schaffung eines Handelsroboters Dies ist die Klasse, die handelt. CExpertSignal ist eine Klasse für die Schaffung eines Moduls von Handelssignalen der Artikel über diese Klasse ist. CExpertTrailing ist eine Klasse zum Schleppen eines schützenden Stop Loss. CExpertMoney ist die Geld-Management-Klasse. Hier ist die ganze Kraft der großen und schrecklichen Ansatz, der als Objekt-orientierte Programmierung (OOP). Aber keine Angst, jetzt fast jeder hat ein Handy mit viel Funktion, und fast niemand weiß, wie es funktioniert. Wir müssen das nicht studieren, wir werden nur einige Funktionen der Klasse CExpertSignal besprechen. In diesem Artikel werden wir durch die Stadien der Schaffung eines Moduls der Trading-Signale gehen. Und Sie werden sehen, wie dies zu tun, ohne OOP oder die Klassen lernen. Aber wenn Sie wollen, können Sie ein wenig weiter gehen. 1. Erstellen einer Klasse aus dem Kratzer Wir werden keine bestehenden Modul der Trading-Signale auf unsere Bedürfnisse zu ändern, weil seine die Art und Weise zu verwirren. Daher werden wir einfach unsere eigene Klasse schreiben, aber zuerst werden wir mit dem Navigator einen neuen Ordner erstellen, um unsere Signale in MQL5 / Include / Expert / zu speichern. Klicken Sie mit der rechten Maustaste auf den Ordner, den wir erstellt haben, wählen Sie Neue Datei und erstellen Sie eine neue Klasse für unser Modul der Trading-Signale. Füllen Sie die Felder aus: Klassenname - der Name der Klasse. Dies wird ein Modul für die Erzeugung von Signalen an der Kreuzung von zwei gleitenden Durchschnitten sein, also können wir es MACross nennen. Basisname ist die Klasse, aus der unsere Klasse abgeleitet wird. Und wir sollten es von der Basisklasse CExpertSignal ableiten. Klicken Sie auf Fertig stellen und einen Entwurf unseres Moduls fertig. Sein ganz Osten so weit. Wir müssen nur die Include-Deklaration zu der resultierenden Datei hinzufügen, damit der Compiler weiß, wo die Basisklasse zu finden ist CExpertSignal Überprüfen Sie die resultierende Klasse (sie muss frei von Kompilierungsfehlern sein) und klicken Sie auf F7. Es gibt keine Fehler und wir können weitergehen. 2. Ein Handle an das Modul Unsere Klasse ist komplett leer, es hat keine Fehler und wir können es testen - können versuchen, einen neuen Expertenratgeber im MQL5-Assistenten zu erstellen, der darauf basiert. Wir erreichen den Schritt der Auswahl eines Moduls von Handelssignalen und siehe. Dass unser Modul nicht da ist. Und wie kann es da sein Wir fügen keine Anzeichen für den MQL5-Assistenten zu verstehen, dass unsere Klasse etwas nützlich sein könnte. Lässt dieses regeln. Wenn Sie sich die Module des Standardpakets ansehen, sehen Sie, dass jeder von ihnen einen Header am Anfang der Datei enthält. Dies ist der Handle des Moduls, das nach bestimmten Regeln erstellt wurde. Und die Regeln sind sehr einfach. Öffnen Sie zum Beispiel den Quellcode des Moduls der AMA-basierten Trading-Signale (siehe Logikbeschreibung in Signale des Adaptive Moving Average) und führen Sie den MQL5 Wizard aus, der dieses Modul auswählt. Vergleich: Der letzte Block im Handle bezieht sich auf die Modulparameter, die erste Zeile enthält den Namen des Moduls, das im MQL5-Assistenten angezeigt werden soll. Wie Sie sehen können, gibt es nichts kompliziert. Somit enthält der Griff jedes Moduls die folgenden Einträge: Titel - der Modulname, der im MQL5-Assistenten angezeigt werden soll. Typ - die Version des Moduls der Signale. Es muss immer SignalAdvanced sein. Name - der Name des Moduls nach seiner Auswahl im MQL5-Assistenten und wird in Kommentaren zur Beschreibung interner Parameter des generierten Expert Advisor (vorzugsweise angegeben) verwendet. ShortName - ein Präfix für die automatische Benennung externer Parameter im generierten Expert Advisor (in Form von SignalltShortNamegtltParameterNamegt). Klasse - der Name des Moduls, das im Modul enthalten ist. Seite - ein Parameter, um Hilfe für dieses Modul zu erhalten (nur für Module aus der Standardauslieferung). Als Nächstes folgt die Beschreibung der Parameter in Form von Parameterlistofvalues, in denen folgendes angegeben wird (kommagetrennte): Der Name der Funktion, mit der der Wert des Parameters beim Start des Expert Advisor festgelegt wird. Der Parametertyp kann eine Enumeration sein. Der Standardwert für den Parameter, d. H. Der Wert, der auf den Parameter gesetzt wird, wenn Sie ihn nicht im MQL5-Assistenten ändern. Beschreibung des Parameters, den Sie sehen, wenn Sie den im MQL5-Assistenten generierten Expertenratgeber starten. Nun, zu wissen, all dies, schaffen wir den Griff unseres Moduls von Trading-Signale. Also, wir schreiben ein Modul für das Trading-Signale an der Kreuzung von zwei gleitenden Durchschnitten. Wir müssen mindestens vier externe Parameter einstellen: FastPeriod - die Periode des schnell bewegenden Durchschnitts FastMethod - die Art der Glättung des schnell bewegenden Mittels SlowPeriod - die Periode des langsam laufenden Mittels SlowMethod - die Art der Glättung des langsamen Mittelwerts Sie können auch eine Verschiebung und die Art der Preise addieren, um jeden der gleitenden Durchschnitte zu berechnen, aber es ändert nichts grundlegend. Die aktuelle Version ist also wie folgt: Der Modul-Handle ist fertig, und wir haben folgendes beschrieben: Der im MQL5 Wizard angezeigte Name - Signale am Schnittpunkt zweier gleitender Durchschnitte. Vier externe Parameter, um die Handelssignale zu konfigurieren. FastPeriod - die Periode des schnell gleitenden Durchschnitts mit dem Standardwert von 13. FastMethod - die Art der Glättung des schnell gleitenden Durchschnitts, einfache Glättung standardmäßig. SlowPeriod - die Periode des langsamen gleitenden Durchschnitts mit dem Standardwert von 21. SlowMethod - die Art der Glättung des langsam laufenden Durchschnitts, einfache Glättung standardmäßig. Speichern Sie die Änderungen und kompilieren Sie. Es sollten keine Fehler auftreten. Führen Sie den MQL5-Assistenten zu überprüfen. Sie sehen, unser Modul ist jetzt zur Auswahl verfügbar, und es zeigt alle unsere Parameter Herzlichen Glückwunsch, unser Modul des Trading-Signals sieht gut aus 3. Methoden für das Festlegen von Parametern Jetzt ist es Zeit, mit den externen Parametern zu arbeiten. Da unser Handelsmodul durch die Klasse MACross repräsentiert wird, müssen seine Parameter innerhalb der gleichen Klasse wie private Mitglieder gespeichert werden. Fügen Sie der Klassendeklaration vier Zeilen (gleich der Anzahl der Parameter) hinzu. Weve bereits beschrieben den Parameter in den Griff und wissen die folgenden: Aber wie die Werte der externen Parameter des Moduls erscheinen in den entsprechenden Mitgliedern unserer Klasse MACross Sein alle sehr einfach, müssen Sie nur öffentliche Methoden mit dem gleichen Namen zu deklarieren In der Klasse, um dem öffentlichen Bereich vier Zeilen hinzuzufügen: Wenn Sie einen Expertenratgeber auf der Basis dieses Moduls mit dem MQL5-Assistenten generieren und im Diagramm ausführen, werden diese vier Methoden beim Initialisieren des Expertenberaters automatisch aufgerufen. So ist hier eine einfache Regel: Die Regel der Parametererstellung im Modul - für jeden Parameter, den wir im Griff deklariert haben, sollten wir ein privates Mitglied in der Klasse zum Speichern seines Wertes und ein öffentliches Mitglied zum Festlegen eines Wertes anlegen . Der Methodenname muss mit dem Namen des Parameters übereinstimmen. Und der letzte Moment ist, Standardwerte für unsere Parameter festzulegen, die verwendet werden, wenn die Methoden der Werteinstellung nicht aufgerufen werden. Jede deklarierte Variable oder Klasse muss initialisiert werden. Diese Technik erlaubt es, viele schwer zu findende Fehler zu vermeiden. Für die automatische Initialisierung eignet sich der Klassenkonstruktor am besten als erster, der beim Anlegen eines Objekts aufgerufen wird. Für Standardwerte verwenden wir die im Modul-Handle geschriebenen. Hier werden die Klassenmitglieder mit der Initialisierungsliste initialisiert. Wie Sie sehen können, haben wir noch keine gleitenden Durchschnittsindikatoren verwendet. Wir fanden eine einfache Regel - da viele Parameter in der Griff des Moduls angegeben sind, so viele Methoden und Mitglieder sollten in der Klasse sein, die das Modul implementiert. Es gibt nichts kompliziertes Aber vergessen Sie nicht, Standardwerte von Parametern auf dem Konstruktor festzulegen. 4. Überprüfen Sie die Korrektheit der Eingabeparameter Wir haben für unser Handelsmodul Parameter angelegt, geschriebene Methoden für die Einstellung von Werten, und nun kommt die nächste wichtige Phase - die Korrektheit der Parameter muss überprüft werden. In unserem Fall müssen wir die Perioden der gleitenden Durchschnitte und die Art der Glättung für ihre Berechnung überprüfen. Zu diesem Zweck sollten Sie Ihre eigene ValidationSettings () - Methode in der Klasse schreiben. Diese Methode ist in der übergeordneten Klasse CExpertBase definiert. Und in all seinen Kindern ist es obligatorisch neu definiert. Aber wenn Sie nichts über objektorientierte Programmierung wissen, denken Sie daran - in unserer Klasse sollten wir die ValidationSettings () - Funktion schreiben, die keine Parameter erfordert und true oder false zurückgibt. Wie Sie sehen können, haben wir im öffentlichen Teil der MACross-Klasse die Deklaration der ValidationSettings () - Methode hinzugefügt und dann den Methodenkörper in der folgenden Form hinzugefügt: Zuerst kommt der Rückgabetyp, dann der Klassenname und dann der Scope Resolution Operator. Und all dem folgt der Name der zuvor deklarierten Methode. Vergessen Sie nicht, dass Name und Typ von Parametern in der Deklaration und Beschreibung der Klassenmethode übereinstimmen müssen. Der Compiler wird Sie jedoch vor einem solchen Fehler warnen. Beachten Sie, dass zuerst die Basisklassenmethode aufgerufen wird und anschließend Eingabeparameter überprüft werden. Wenn Sie diese Zeile nicht hinzufügen, kann der generierte Expert Advisor nicht in der Lage sein, unser Modul für Trading-Signale zu initialisieren. 5. Wo sind unsere Indikatoren, um mit den Indikatoren zu arbeiten, da alle Vorbereitungsarbeiten mit den Parametern für sie abgeschlossen sind. Jedes Modul von Trading-Signalen enthält die InitIndicators () - Methode, die automatisch aufgerufen wird, wenn Sie den generierten Expert Advisor ausführen. Bei dieser Methode müssen wir Indikatoren für gleitende Mittelwerte für unser Modul bereitstellen. Zuerst deklarieren Sie die InitIndicators () - Methode in der Klasse und fügen Sie ihren Entwurf: So gibt es nichts kompliziert, wir deklarieren die Methode und erstellen Sie dann einfach die Methode Körper, wie wir für die ValidationSettings () - Methode getan haben. Vergessen Sie nicht, den Klassennamen und den Operator einzufügen. In der Funktionsdefinition. Wir haben einen Entwurf, den wir in einen Code einfügen können, um Bewegungsdurchschnitte zu erzeugen. Lets dies richtig - für jeden Indikator erstellen wir eine separate Funktion in der Klasse, die true zurückgibt, wenn erfolgreich. Die Funktion kann einen beliebigen Namen haben, lässt sie aber ihren Zweck widerspiegeln, so dass die Funktionen CreateFastMA () und CreateSlowMA () aufgerufen werden können. Das ist alles, wir müssen nur Code schreiben, der die MA-Indikatoren erzeugt und irgendwie die Griffe dieser Indikatoren in das Trading-Modul integriert, so dass das Modul die Werte dieser Indikatoren verwenden kann. Deshalb wird ein Zeiger auf eine Variable vom Typ CIndicators als Parameter übergeben. Das folgende ist in der Dokumentation darüber geschrieben: Die CIndicators ist eine Klasse für das Sammeln von Instanzen von Zeitreihen und technischen Indikatoren Klassen. Die CIndicators-Klasse bietet die Erstellung von Instanzen von technischen Indikatorklassen, deren Speicherung und Verwaltung (Datensynchronisation, Handhabung und Speicherverwaltung). Das bedeutet, dass wir unsere Indikatoren erstellen und in diese Sammlung stellen müssen. Da nur Indikatoren der Cindicator Form und ihre Kinder in der Sammlung gespeichert werden können, sollten wir diese Tatsache nutzen. Wir verwenden CiCustom. Die das oben genannte Kind ist. Für jeden gleitenden Durchschnitt deklarieren wir ein Objekt vom Typ CiCustom im privaten Teil der Klasse: Natürlich können Sie eine eigene Indikatorklasse erstellen, die von CIndicator abgeleitet wird. Und implementieren Sie alle notwendigen Methoden für den Einsatz mit dem MQL5 Wizard. Aber in diesem Fall wollen wir zeigen, wie Sie alle benutzerdefinierten Indikator im Modul der Trading-Signale mit CiCustom verwenden können. Heres, wie es im Code aussieht: Führen Sie in der CreateFastMA () - Methode zunächst den Zeiger der Indikatorensammlung und fügen Sie dann einen Zeiger des schnellen MA mfastma zu dieser Auflistung hinzu. Dann erklären Sie die MqlParam-Struktur, die speziell für die Speicherung von Parametern von benutzerdefinierten Indikatoren entwickelt wurde, und füllen Sie sie mit Werten. Wir verwenden Custom Moving Average aus dem Standard-Terminal-Delivery-Pack als benutzerdefinierte MA-Anzeige. Der Name des Indikators muss in Bezug auf den Ordner datafolder / MQL5 / Indicators / angegeben werden. Da Custom Moving Average. mq5 aus dem Standardpaket in datafolder / MQL5 / Indicators / Examples / steht, geben wir seinen Pfad mit dem Ordner Examples an: Wenn Sie sich den Code für dieses Kennzeichen ansehen, sehen Sie alle erforderlichen Daten: Werte der Struktur enthalten die Typ-Wert-Paare: parameter type - string (um den Namen des Indikators zu übertragen) den Namen der ausführbaren Datei des benutzerdefinierten Indikators - Custom Moving Averages. exe Parameter type - int (Wert der Periode) (Verschiebungswert) horizontale Verschiebung des Mittelwertes in Balken Parametertyp - int (Aufzählungswert ist eine Integerzahl) Mittelwertmethode Nach dem Ausfüllen der Struktur wird das Kennzeichen mit der Methode Create () von initialisiert Alle erforderlichen Parameter: Symbolname und Zeitrahmen, auf dem er berechnet wird, den Typ des Indikators aus der ENUMINDICATOR-Enumeration, die Anzahl der Indikatorparameter und die MqlParam-Struktur mit Parameterwerten. Und die letzte ist die Angabe der Anzahl der Indikatorpuffer mit der NumBuffers () - Methode. Die CreateSlowMA () - Methode zur Erstellung des langsam laufenden Durchschnitts ist einfach. Wenn Sie benutzerdefinierte Indikatoren im Modul verwenden, vergessen Sie nicht, dass der vom MQL5-Assistenten generierte Expert Advisor auch im Tester ausgeführt wird. Also am Anfang unserer Datei fügen wir die Eigenschaft Eigenschaft testerindicator, dass die Tester der Ort der erforderlichen Indikatoren kommuniziert: Wenn wir mehrere verschiedene Indikatoren verwenden, sollten wir diese Zeile für jeden von ihnen hinzufügen. So haben wir die Indikatoren hinzugefügt. Für mehr Komfort bieten wir zwei Methoden zum Empfangen von MA-Werten: Wie Sie sehen können, sind die Methoden sehr einfach: Sie verwenden die GetData () - Methode der SIndicator-übergeordneten Klasse, die einen Wert aus dem angegebenen Indikatorpuffer an der angegebenen Position zurückgibt . Wenn Sie Klassen für die Arbeit mit klassischen Indikatoren des Standardpakets benötigen, finden Sie diese im Abschnitt Klassen für die Arbeit mit Indikatoren. Wir sind bereit für die Endphase. 6. Definieren Sie die Methoden LongCondition und ShortCondition Alles ist bereit, um unser Modul arbeiten und Trading-Signale zu generieren. Diese Funktionalität wird durch zwei Methoden bereitgestellt, die in jedem Kind von CExpertSignal beschrieben werden müssen. LongCondition () prüft die Kaufbedingungen und gibt die Stärke des Long-Signals von 0 bis 100 zurück. ShortCondition () - prüft die Verkaufsbedingung und gibt die Stärke des Short-Signals von 0 bis 100 zurück. Wenn die Funktion einen Nullwert zurückgibt, bedeutet dies, dass es kein Handelssignal gibt. Wenn es Bedingungen für das Signal gibt, können Sie die Stärke des Signals abschätzen und einen Wert zurückgeben, der 100 nicht übersteigt. Durch die Auswertung der Signalstärke können Sie flexibel auf verschiedenen Modulen und Marktmodellen basierende Handelssysteme aufbauen. Lesen Sie mehr dazu in MQL5 Wizard: Neue Version. Da wir ein einfaches Modul von Handelssignalen schreiben, können wir vereinbaren, dass die Kauf - und Verkaufssignale gleich bewertet werden (100). Fügen Sie notwendige Methoden in die Klassendeklaration ein. Auch können Sie die Beschreibung der Funktionen. So wird das Kaufsignal geprüft (es ist das gleiche mit dem Verkaufssignal): Beachten Sie, dass wir die idx-Variable deklarieren, auf die der von der StartIndex () - Funktion der übergeordneten Klasse CExpertBase zurückgegebene Wert zugewiesen wird. Die Funktion StartIndex () gibt 0 zurück, wenn der Expert Advisor für alle Ticks vorgesehen ist. In diesem Fall beginnt die Analyse mit dem aktuellen Balken. Wenn der Expertenberater zu offenen Preisen arbeitet, gibt StartIndex () 1 zurück und die Analyse beginnt mit dem zuletzt gebildeten Balken. Standardmäßig gibt StartIndex () 1 zurück. Dass der vom MQL5-Assistenten generierte Expert Advisor nur beim Öffnen einer neuen Leiste ausgeführt wird und während der Bildung der aktuellen Leiste die eingehenden Zeilen ignoriert. Wie man diesen Modus aktiviert und wie er verwendet werden kann, wird später im Schlichtstrich beschrieben. Das Modul ist betriebsbereit, so dass ein Trading-Roboter im MQL5-Assistenten auf Basis dieses Moduls erstellt werden kann. Überprüfen eines Experten-Advisors im Tester Um die Effizienz unseres Moduls zu testen, können Sie einen Experten-Advisor aus dem MQL5-Assistenten generieren und im Diagramm ausführen. Die Registerkarte Eingänge des erscheinenden Startfensters enthält die Parameter des MACross-Moduls. Alle anderen Parameter wurden ebenfalls vom MQL5-Assistenten hinzugefügt, während die EA auf der Basis des ausgewählten Money Management Moduls und des Position Maintenance Moduls (Trailing Stop) generiert wurde. So mussten wir nur noch ein Modul von Handelssignalen schreiben und eine fertige Lösung erhalten. Dies ist der Hauptvorteil der Verwendung des MQL5 Wizard Jetzt können Sie den Handelsroboter im MetaTrader 5 Strategy Tester testen. Lets versuchen, eine schnelle Optimierung der wichtigsten Parameter laufen. Bei diesen Einstellungen der Eingangsparameter sind mehr als eine halbe Million Pässe zur Volloptimierung erforderlich. Daher wählen wir schnelle Optimierung (genetischer Algorithmus) und nutzen zusätzlich MQL5 Cloud Network, um die Optimierung zu beschleunigen. Die Optimierung wurde in 10 Minuten durchgeführt und wir haben die Ergebnisse erhalten. Wie Sie sehen können, haben die Erstellung eines Handelsroboters in MQL5 und die Optimierung von Eingabeparametern viel weniger Zeit benötigt, als für das Schreiben der Positionsmanagement-Wartungslogik, das Debuggen und die Suche nach den besten Algorithmen erforderlich wäre. Sie können dieses Element überspringen oder gehen Sie zurück zu ihm später, wenn Sie völlig bequem mit der Technik des Schreibens eines Moduls der Handelssignale sind. Wenn Sie den Quellcode des Experten-Beraters öffnen, der vom MQL5-Assistenten generiert wird, finden Sie die globale Variable ExpertEveryTick mit dem falschen Wert. Basierend auf dieser Variable gibt die Funktion StartIndex () ihren Wert zurück. Er teilt dem Expert Advisor den Modus mit, in dem er laufen soll. Wenn Sie ExpertEveryTick true setzen und den Code kompilieren, analysiert der Handelsroboter jedes eingehende Häkchen und entscheidet so über die Werte der aktuellen unvollständigen Leiste. Tun Sie dies nur, wenn Sie verstehen, wie es funktioniert. Nicht alle Handelssysteme sind darauf ausgelegt, innerhalb der Bar zu arbeiten. Sie können auch eine Keyword-Eingabe für den ExpertEveryTick-Parameter hinzufügen und dann haben Sie einen neuen Eingabeparameter des Expert Advisor. Die Sie bei der EA-Inbetriebnahme auf einem Diagramm oder im Tester einstellen können: Und jetzt seine Zeit, zusammenzufassen, was wir getan haben. 6 Schritte zum Erstellen eines Moduls für Handelssignale Wenn Sie MQL5 gemeistert haben, brauchen Sie nicht mehr einen Expertenratgeber zu schreiben. Erstellen Sie einfach ein Modul von Handelssignalen und erstellen Sie auf Basis dieses Moduls automatisch einen Handelsroboter mit den aktivierten Trailing - und Trade-Volume-Management-Modulen. Und selbst wenn Sie nicht mit OOP vertraut sind oder nicht viel in die Struktur der Handelsklassen vertiefen möchten, können Sie einfach durch 6 Schritte gehen: Erstellen Sie eine neue Klasse mit dem MQL5-Assistenten in einem separaten Ordner MQL5 / Include / MySignals /. Dort werden unsere Trading-Signale gespeichert. Erstellen Sie ein Modulhandle, das die Parameter, ihren Typ und ihre Standardwerte beschreibt. Deklarieren Sie Modulparameter in der Klasse und fügen Sie Methoden für die Initialisierung im Konstruktor hinzu. Überprüfen Sie die Eingabeparameter und vergessen Sie nicht, ValidationSettings () der CExpertSignal-Basisklasse aufzurufen. Erstellen Sie Indikatorobjekte und fügen Sie eine vordefinierte Initialisierungsmethode InitIndicators () hinzu. Identifizieren Sie die Bedingungen der Handelssignale in den Methoden LongCondition () und ShortCondition (). Jeder Schritt ist einfach und erfordert wenig Geschick in MQL5-Programmierung. Sie müssen nur Ihr Modul einmal schreiben, nach den Anweisungen, und weitere Überprüfung jeder Handel Idee dauert nicht mehr als eine Stunde, ohne ermüdend Stunden Kodierung und Debugging. Von Simple zu Complex Denken Sie daran, dass die Trading-Strategie implementiert von Ihrem Trading-Roboter erstellt mit dem MQL5 Wizard, ist so komplex wie das Modul der Trading-Signale verwendet. Aber bevor Sie beginnen, ein komplexes Handelssystem auf der Grundlage einer Reihe von Regeln für die Ein-und Ausfahrt zu bauen, teilen Sie es in mehrere einfache Systeme und überprüfen Sie jeweils separat. Basierend auf einfachen Modulen können Sie komplexe Handelsstrategien mit den fertigen Modulen von Trading-Signale zu erstellen, aber dies ist ein Thema für einen anderen ArtikelMetaTrader 5 - Beispiele Wie man einen Trading-Roboter in kürzester Zeit, um einen Trading-Roboter, benötigen Sie einen Handel System Trading auf den Finanzmärkten beinhaltet viele Risiken, einschließlich der kritischsten - das Risiko einer falschen Handelsentscheidung. Der Traum eines jeden Traders ist es, einen Handelsroboter zu finden. Die immer in guter Form ist und nicht menschlichen Schwächen unterworfen ist - Angst, Gier und Ungeduld. Jeder Newcomer möchte ein klares und strenges Handelssystem schaffen, das in Form von Algorithmen präsentiert und vollständig von Routineoperationen beseitigt werden kann. Ist es möglich Ein Handelssystem ist eine notwendige Voraussetzung für den Eintritt in den Markt und das System sollte natürlich profitabel sein. Wenn Neulinge auf den Markt kommen, sind sie meist von der großen Masse an Informationen schwer zu begreifen überwältigt. Bücher und Händlerforen können in diesem Fall etwas Hilfe leisten. Leider sind nicht alle Autoren erfolgreiche Händler und nicht alle erfolgreichen Trader schreiben Bücher. Viele spezielle Web-Ressourcen werden nur geschaffen, um Gewinn für ihre Besitzer zu verdienen, da es viel schwieriger ist, Ihr eigenes Geld zu handeln, als Prognosen auszustellen und Trading-Systeme zu lehren. Jeder Trader sollte unabhängig alle Etappen eines Handelssystems erstellen. Es gibt ein beliebtes Sprichwort, dass es keine Rolle, welches System Sie für den Handel verwenden, ist die Hauptsache, dass Sie sollten wirklich Handel nach diesem System. Andernfalls wird der Handel auf dem Markt zu einem Glücksspiel mit einem vorhersehbaren Ergebnis. Trading Robots und Forex-Markt wird angenommen, dass eine große Liquidität haben. Auch erlaubt es den Handel 24 Stunden am Tag, im Gegensatz zu vielen anderen Märkten. Daher versuchen viele Händler, Handelsroboter speziell für den Forex-Markt zu machen, da er eine große Anzahl von Handelsinstrumenten anbietet. Jedoch behaupten Skeptiker, dass alle Währungspaare stark miteinander korreliert sind und eine sehr geringe Volatilität auf dem Markt bereitstellen. Aber ihre Gegner antworten, dass jedes Währungspaar seine eigenen Merkmale hat und eine geringe Volatilität durch eine große Hebelwirkung kompensiert wird. In jedem Fall sind Forex-Instrumente attraktiv für die Herstellung von Handelsrobotern und die meisten Befürworter des automatisierten Trading hone ihre Fähigkeiten auf Währungspaare. Die Handelsterminals MetaTrader 4 und MetaTrader 5 wurden speziell für die einfache Entwicklung automatisierter Handelssysteme entwickelt, sind aber gleichzeitig auch für den manuellen Handel geeignet. Wie man einen Trading-Roboter macht Es gibt viele Ansätze zum Aufbau eines automatisierten Trading-Systems. Wir beschreiben nur einige wichtige. Der erste Ansatz beruht auf Mathematik. Ein Entwickler versucht, eine Art einer Gleichung zu schaffen, die viele Faktoren berücksichtigen kann. Dieser Ansatz basiert auf der festen Überzeugung, dass Preisbewegungen von einem Modell verwaltet werden, das anhand verfügbarer historischer Daten gefunden werden kann. In den meisten Fällen wissen die Anhänger eines solchen Ansatzes zu viel Mathe, wissen aber nichts / interessieren sich nicht für den Markt. Der Markt ist eine reine Abstraktion, eine Art von intellektuellen Spiel für sie. Dieser Ansatz führt in der Regel zu vielen Jahren des Studiums und der Entwicklung, während ein bestimmtes Ergebnis in Form eines funktionierenden automatisierten Handelssystems nicht so wichtig ist. Der zweite Ansatz basiert auf dem Studium der Marktgesetze. Es werden keine Versuche gemacht, um zu verstehen, warum der Preis nach oben oder nach unten geht, wenn verschiedene technische Analysenwerte auf einem Diagramm erscheinen. Der Vorteil dieses Ansatzes ist, dass es keine besonderen Kenntnisse der Mathematik erfordert und keine Annahmen über die Markt treibende Kraft. Es ist am klarsten und bequem beim Studium des Handels. Es ist am beliebtesten unter den Händlern, die universelle Anerkennung erhielt. Der Nachteil des Ansatzes ist die Notwendigkeit, ständig alle notwendigen Symbole zu verfolgen. Früher oder später beginnt ein Trader die Automatisierung von Handelsprozessen in Erwägung zu ziehen, und das beträchtlichste Problem scheint in diesem Stadium die Komplexität der Formalisierung von Handelsregeln zu sein, wenn man versucht, sie in Form von Algorithmen auszudrücken. In einigen Fällen können Händler, die versuchen, einen Handelsroboter zu bestellen, Handelsregeln nicht beschreiben und Gemeinsamkeiten mit Programmierern finden. Der dritte Ansatz basiert auf dem Versuch, eine Black Box basierend auf neuronalen Netzwerken mit Hilfe der fertigen Tools zu erstellen, die in speziellen Software - und Mathe-Paketen weit verbreitet sind. Die Schaffung eines automatisierten Handelssystems mit den Elementen der künstlichen Intelligenz ist auch für Neueinsteiger eine spannende und herausfordernde Aufgabe, da sie weder tiefen mathematischen Hintergrund noch Programmierkenntnisse erfordert - alles wird mit Sehhilfen durchgeführt. Ein Händler sollte die Grundlagen der technischen Indikatoren kennen, besitzen die Fähigkeit, notwendige Preisdaten und Erfahrungen in einem bestimmten Paket für die Arbeit mit neuronalen Netzen vorzubereiten. Der Hauptnachteil dieses Ansatzes ist, dass ein Handelsroboter, der unter Verwendung solcher spezialisierter Werkzeuge für die Arbeit mit neuronalen Netzwerken erhalten wird, tatsächlich eine Blackbox ist. Händler wissen nicht, ihre Arbeitsprinzipien und im Allgemeinen ist es unmöglich, vorherzusagen, welche Marktphase wird die am problematischsten für den Roboter sein. Programmierer wählen häufig den vierten Ansatz, den sie beginnen, einen Handelsroboter von Anfang an zu bilden, ohne Zeit für das manuelle Handeln zu verbringen. Warum manuell handeln Sie können einen Roboter verbringen ein paar Monate und ernten die Vorteile Ihrer Bemühungen dann. Aber keine Schmerzen, keine Gewinne. In den meisten Fällen beginnen Programmierer, alle notwendigen Infrastrukturen mit einer vertrauten Programmiersprache zu erstellen, anstatt nur einen Handelsroboter zu erstellen, der Preisdaten, visuelle Darstellung von Diagrammen und Indikatoren, benutzerdefinierte Methoden zum Testen von Strategien auf historische Daten und so weiter erhält und verarbeitet. Sie gewinnen viel Erfahrung in den Prozess. Aber in den meisten Fällen bringt diese Erfahrung sie nicht näher an die endgültige Schaffung eines automatisierten Handelssystems heran. Und selbst wenn ein Handelsroboter geschaffen wird, gibt es keine Garantie, dass es profitabel sein wird. Und was ist, wenn ein Programmierer ein anderes Handelssystem schreiben will Deep Restructuring und neue Programmierfehler sind unvermeidlich. Es gibt auch die fünfte Vorgehensweise, die ein fertiges Handelssystem in Form eines Handelsroboters kauft. In diesem Fall fungiert ein Trader als Operator oder Tuner. Dieser Ansatz spart viel Zeit (keine Notwendigkeit, viele neue Dinge lernen) und ermöglicht es Händlern, schnell in die Welt des automatisierten Handels. Der Hauptnachteil dieses Ansatzes ergibt sich aus seinen Vorteilen, die Sie nicht wissen, die Betriebsprinzipien Ihres Handelsroboters und seiner Struktur. Und selbst wenn ein Verkäufer Ihnen eine detaillierte Beschreibung des implementierten Handelssystems geliefert hat, werden Sie nie ganz sicher sein. Allerdings kann keiner der genannten Ansätze geben Ihnen absolute Garantie außer einer Bankeinlage. Aber das ist nicht eine sehr geeignete Lösung für Leute, die am Markthandel interessiert sind und Möglichkeiten, ihr privates Vermögen zu erhöhen. Was ist der beste Ansatz für den automatisierten Handel für einen Trader Jeder der fünf beschriebenen Ansätze hat seine Vorteile und entspricht einer bestimmten Art von Trader. Es ist unwahrscheinlich, dass Sie den ersten Ansatz (marktanalytische Beschreibung) ohne guten mathematischen Hintergrund wählen werden. Es ist ebenso unwahrscheinlich, dass Sie von der Herstellung von Handelsrobotern auf neuronale Netze basieren beginnen. Allerdings sind beide Ansätze sehr spannend und bieten eine gute intellektuelle Übung. Im Folgenden wird nur der zweite Ansatz behandelt, der bereits als der Klassische gilt. Das ist der Ansatz, der in der Regel von neuen Anhängern des automatisierten Handels gewählt wird, da die technische Analyse nach wie vor der Schlüsselwissensbereich beim Lernen von Handelsgrundlagen ist. Ein weiterer Vorteil des zweiten Ansatzes ist, dass, nachdem Sie einige Zeit für den manuellen Handel verbringen und das Gefühl des Marktes zu erhalten, haben Sie bereits ein gutes Verständnis der technischen Analyse-Tools. Außerdem sind Sie in der Lage, Handelsstrategien zu programmieren oder neuronale Netze auf einer höheren Ebene zu erstellen. Die ersten Schritte in der Herstellung eines Handelsroboters Um ein automatisiertes Handelssystem zu machen, benötigen Sie Programmierkenntnisse und Wissen über alle Feinheiten der Verarbeitung von Handelsanforderungen. Aber zuerst können Sie von der fertigen Expert Advisors Handel Roboter aus der freien Code Base-Bibliothek zu starten. Laden Sie jeden Expert Advisor (Handelsroboter) herunter und starten Sie ihn im Strategy Tester von MetaTrader 4 oder MetaTrader 5 Client-Terminals. Wählen Sie ein Historienintervall mit einem starken Trend und einem Intervall mit einer Ebene aus. Führen Sie die Optimierung der Expert Advisor-Eingabeparameter durch und untersuchen Sie deren Unterschiede in diesen beiden Intervallen. Starten Sie einen Expertenratgeber mit den optimalen Parametern für eine Ebene in einem Trendintervall und mit den optimalen Parametern für einen Trend in einem flachen Intervall. Untersuchen Sie die Unterschiede in den Handelsergebnissen, Angebote Distributionen und andere statistische Parameter. Als Ergebnis werden Sie wissen, wie sehr das Verhalten Ihres Handelssystems variieren kann, wenn sich die Marktsituation ändert. Es wäre besser, mehrere Standard-Handelsstrategien mit dieser Methode auf verschiedene Teile der Geschichte und verschiedene Symbole versuchen. Ein solcher Testlauf verhindert die Anpassung eines Handelssystems für ein bestimmtes Historienintervall und ermöglicht ein besseres Verständnis von Trend - und Gegenströmungssystemen. Der nächste Schritt wäre die Schaffung komplexer Handelssysteme auf der Grundlage der Kombination von bereits bestehenden einfachen Signale aus MQL5 Wizard-Set. Sie können testen und entwickeln Ihre Trading-Intuition Aussortieren schlechte Signale von einem System mit einem Filter auf einem anderen System ohne Programmiermittel basiert. Die Hauptsache ist hier nicht zu übertreiben. Je mehr Eingangsparameter ein Handelssystem hat, desto einfacher ist es zu montieren. Es gab viele Diskussionen über die Unterschiede zwischen Optimierung und Montage. Hier gibt es keine allgemein akzeptierten Lösungen. Aber Visualisierung von Test / Optimierung Ergebnisse und Ihren eigenen gesunden Menschenverstand kann Ihnen helfen. Lernen Sie die wichtigsten kritischen Eingabeparameter, die Ihr Handelssystem betreffen, aus dem gesamten Satz von Eingabedaten heraus. Achten Sie nicht viel Aufmerksamkeit auf sekundäre Parameter, die Zeit während der Optimierung, aber nicht auf die sehr Logik des Systems. Denken Sie daran, dass ein gutes Handelssystem zeigt immer eine kleine freie Bewegung von sekundären Parametern, aber es zeigt keine dramatische Volatilität bei unerheblichen Marktveränderungen. Sie können so viel Zeit in diesem Stadium verbringen, wie Sie es wünschen, bis Sie sicher sind, dass Sie jede Handelsstrategie verstehen, die Test - und Optimierungsergebnisse untersucht. Das Wissen um Stärken und Schwächen von Standardsystemen ermöglicht es Ihnen, besser vorbereitet zu sein, wenn Sie Ihren eigenen Handelsroboter erstellen. Programmierung eines Handelsroboters Angenommen, Sie haben die MQL4- oder MQL5-Programmiersprache gelernt und sind nun bereit, Ihren ersten Expert Advisor für das MetaTrader-Client-Terminal zu schreiben. Mehrere Fälle sind hier möglich. Zunächst können Sie untersuchen mehrere fertige Handelsroboter in den Artikeln beschrieben, um besser zu verstehen, Programmierkenntnisse. Zweitens können Sie Fragen über MQL4munity oder MQL5munity stellen. Wenn Sie ungelöste Probleme haben. Erfahrene Community-Teilnehmer helfen den Newcomern in der Regel aufrichtiges Interesse am Thema. Drittens können Sie imrpovement oder die Entwicklung eines Expert Advisor oder einen Indikator im Jobservice bestellen. Wenn Sie nicht in der Lage, ein notwendiges Programm auf eigene Faust zu schreiben. Aber selbst wenn Sie eine Bestellung über die freiberufliche Dienstleistung zu machen, sollten Sie eine Idee über Strategie-Tests haben, um eine gemeinsame Sprache mit einem Entwickler zu finden. Außerdem können Grundkenntnisse einer Programmiersprache kleinere Korrekturen und Änderungen in den Code implementieren, nachdem die Arbeit bereits abgeschlossen ist. Schließlich wäre es nicht allzu bequem, einen Programmierer anzurufen, um jedes kleine Problem zu beheben. Es wäre viel einfacher und schneller, es selbst zu beheben. Keine Notwendigkeit, das Rad neu zu erfinden Wie Sie Ihre eigene Trading-Strategie zu finden, oder zumindest in welche Richtung sollten Sie Ihre Suche konzentrieren Alle Händler schützen ihre eigenen Handelssysteme, wenn sie eine haben. Alle Newcomer wollen ein profitables System zu schaffen oder eine fertige. Gleichzeitig scheint jede erarbeitete Lösung zu einfach zu sein im Vergleich zu den Anfängern eines echten Handelssystems. Armeemänner auf der ganzen Welt sind anfällig für übermäßige Geheimnisse. Es gibt viele Witze darüber, einschließlich der folgenden: Das militärische Geheimnis ist nicht in dem, was Sie studieren, - ein Offizier sagt zu Militärschülern, - aber in der Tatsache, dass genau Sie es studieren. Die Situation mit Handelssystemen ist ähnlich: Die meisten Händler verwenden einfache und bekannte Trading-Ideen mit geringfügigen Änderungen, zum Beispiel Trailing Stop oder Bestätigungen aus Trendindikatoren. Es gibt viele Händlerforen mit begrenztem Zugang, wo die Teilnehmer ihre Bemühungen zur Entwicklung oder Verbesserung einiger geheimer Handelssysteme beitreten. Interessant ist, dass solche Systeme nichts Besonderes enthalten. In der Regel wird eine bekannte Idee (wie Handel mit dem Trend) verwendet. Dann ist es mit einigen neuen Indikatoren für die Allgemeinheit unbekannt perfektioniert. Daher können Sie leicht verfügbaren Handelsroboter Quellcodes und versuchen, sie richtig zu verwenden mit verschiedenen Symbolen und Zeitrahmen. Ein anderes populäres Sprichwort kann hier erwähnt werden: Sie mögen nicht Katzen Sie gerade wissen nicht, wie man sie kocht Es ist schwer zu glauben, aber die Wahrscheinlichkeit, dass Sie etwas wirklich Neues entwickeln, ist sehr klein. Die Hauptsache ist hier, ein System mit den verfügbaren Zutaten zu schaffen. Denken Sie nicht, dass einige Genies Zugang zu einigen geheimen Systemen von NASA-Labors haben. Das ist das Geheimnis des Grals. Nur wenige werden es schaffen Also warum benutzt niemand Trading-Ideen, wenn sie buchstäblich in den Armen sind Die Antwort liegt wohl in der menschlichen Psychologie. Das Personal von vielen Banken und großen Investmentfonds umfasst Händler, die Geschäfte nach strengen Regeln und in begrenzten Mengen durchführen. Aber aus einigen Gründen, nur wenige institutionelle Händler verlassen ihre Unternehmen und starten Handel mit ihrem eigenen Geld. Es stellt sich heraus, dass Sie nicht nur eine Handelsstrategie, sondern auch die eiserne Disziplin, es zu folgen brauchen. Viele Händler fanden heraus, mit Bedauern, dass sie auch die gleichen psychologischen Probleme in Bücher beschrieben. Nach der Erkenntnis, dass der schlimmste Feind der Händler selbst sind, beginnt ein Neuling darüber nachzudenken, dass ein Handelsroboter eine psychische Belastung beseitigen muss. Obwohl ich etwas von dem Thema abweiche, sollte ich erwähnen, die legendären Schildkröten-Händler, die erfolgreich auf mehreren Märkten im späten 20. Jahrhundert gehandelt. Lesen Sie Weg der Schildkröte und Sie werden sehen, dass das Wichtigste für einen Händler eine Selbstdisziplin und nicht irgendein streng geheimes System ist. Leider sind die meisten Neulinge nicht in der Lage, eine profitable Strategie folgen, auch wenn sie es kostenlos erhalten. Das Problem besteht darin, dass die meisten Handelsstrategien, die perfekt für den manuellen Handel geeignet sind, kaum formalisiert und zu einer Programmiersprache transkribiert werden können. Die Strategien, die leicht formalisiert werden können (z. B. solche mit zwei gleitenden Durchschnittskreuzungen) sind zu einfach und erfordern viel Feinheiten und Verbesserungen, so dass sie in der Praxis eingesetzt werden können. Somit wird eine einfache Idee allmählich kompliziert durch eine Vielzahl von externen Parametern, die einen Handelsroboter vor falschen Einträgen und Fehlern, die für einen Entwickler deutlich sichtbar sind, verhindern. Ein Handelsroboter-Optimierungsproblem tritt auf. Dieser Prozess sollte nicht zu einer Überoptimierung und Anpassung für ein bestimmtes Historienintervall werden. Um dieses Problem zu lösen, wurde das Vorwärts-Testen mit den erhaltenen Systemparametern im MetaTrader 5-Terminal implementiert. Wenn sich die Ergebnisse der Vorwärts-Tests nicht wesentlich von denen unterscheiden, die im Optimierungsabschnitt erhalten werden, besteht die Wahrscheinlichkeit, dass ein Handelsroboter für eine gewisse Zeit nach seinem Start auf einem Handelskonto stabil genug ist. Eine Länge eines Intervalls für die Parameteroptimierung und ein tatsächlicher Wert davon sind von einem bestimmten Handelssystem abhängig. So erinnert sich die Optimierung eines Handelsroboters, bevor er sie auf ein Handelskonto lanciert, daran, eine Schlinge abzuwickeln - je sorgfältiger wir abgewickelt und ein Geschoss aus der Schlinge geworfen haben, desto weiter wird es fliegen und desto genauer wird seine Trajektorie sein. Ein durchgängig entwickelter Handelsroboter wird ein längerfristig positives Ergebnis auf einem Handelskonto halten als ein Handelsroboter, der durch eine Beschlagnahme gewonnen wird. Wir können sagen, dass der Gral eine Arbeitsidee und eine korrekte Anpassung der Parameter ist, die von Zeit zu Zeit an den Momenten der Marktbedingungen vorgenommen werden. Dies lässt sich an den Ergebnissen der Automated Trading Championship zeigen, die bereits seit vielen Jahren stattfindet. Eingereichte Gutachter aller Teilnehmer durchlaufen automatische Prüfungen im Zeitintervall von Januar bis Ende Juli. Die wichtigste Voraussetzung für die Übergabe der automatischen Prüfung ist ein Gewinn für acht Monate der Prüfung verdient. Aber weniger als die Hälfte der Handelsroboter, die für die Meisterschaft zugelassen wurden, bleiben nach den Monaten der autonomen Arbeit rentabel. Sie können auch versuchen, Ihre Fähigkeiten in Herstellung und Anpassung Ihrer Trading Roboter an der Meisterschaft teilnehmen und erhalten Sie die Forward-Testergebnisse Ihrer Expert Advisor. Außerdem ist die Teilnahme kostenlos und die Preise sind beeindruckend. Wir hoffen, Sie dort zu sehen Fazit Professionelle Intraday-Händler verbringen viele Stunden an ihren Computern und warten auf den richtigen Moment, um einen Deal durchzuführen. Natürlich können sie nicht immer in guter Form sein. Die meisten Händler kommen zu dem Schluss, dass ihre Handlungen ihre eigenen Handelsregeln verletzen. Nicht alle Handelssysteme können vollständig formalisiert werden, aber selbst solche Systeme können in den meisten Fällen zusätzliche Instrumente wie Indikatoren, Analysensysteme und falsche Signalfilter anwenden. Wir machen keine besonderen Empfehlungen für MQL4 oder MQL5 Sprachen lernen, da es viele andere nützliche Artikel zu diesem Thema gibt. Der Zweck dieses Artikels war es, eine erste Idee, wie Sie Ihren Handel Roboter für MetaTrader 4 und MetaTrader 5 Terminals zu starten. Wir hoffen, dass dieser Artikel Zeit für Neuankömmlinge spart und die richtige Richtung in der schwierigen Aufgabe der Entwicklung eines automatisierten Handelssystems zeigt. Warnung: Alle Rechte an diesen Materialien sind von MQL5 Ltd. vorbehalten. Kopieren oder Nachdrucken dieser Materialien ganz oder teilweise ist verboten. Trading Systems Coding Trading-Systeme sind einfach Sätze von Regeln, die Händler verwenden, um ihre Einträge und Ausgänge aus einer Position zu bestimmen. Die Entwicklung und Nutzung von Handelssystemen können Händler dabei helfen, konsistente Renditen zu erzielen und Risiken zu begrenzen. In einer idealen Situation sollten Händler wie Roboter fühlen, Handlungen systematisch und ohne Emotionen ausführen. Also, vielleicht haben Sie sich selbst gefragt: Was ist ein Roboter aus meinem System zu stoppen Die Antwort: Nichts Dieses Tutorial wird Ihnen die Werkzeuge und Techniken, die Sie verwenden können, um Ihre eigenen automatisierten Handelssystem zu erstellen. Wie werden automatisierte Handelssysteme erstellt Automatisierte Handelssysteme werden erstellt, indem Sie Ihre Handelssystemregeln in Code umwandeln, den Ihr Computer verstehen kann. Ihr Computer führt dann diese Regeln durch Ihre trading-Software, die für Trades, die sich an Ihre Regeln. Schließlich werden die Trades automatisch mit Ihrem Broker platziert. Dieses Tutorial konzentriert sich auf den zweiten und dritten Teil dieses Prozesses, wo Ihre Regeln in einen Code konvertiert werden, den Ihre Handelssoftware verstehen und verwenden kann. Welche Trading-Software unterstützt automatisierte Handelssysteme Es gibt viele Handelsprogramme, die automatisierte Handelssysteme unterstützen. Einige werden automatisch generieren und platzieren Trades mit Ihrem Broker. Andere finden automatisch Trades, die Ihren Kriterien entsprechen, aber verlangen, dass Sie die Aufträge mit Ihrem Broker manuell platzieren. Darüber hinaus, vollautomatische Handelsprogramme erfordern oft, dass Sie spezielle Brokerage, die solche Funktionen unterstützen, müssen Sie auch ein zusätzliches Berechtigungsformular ausfüllen müssen. Vorteile und Nachteile Automatisierte Handelssysteme haben mehrere Vorteile, aber sie haben auch ihre Nachteile. Immerhin, wenn jemand hatte ein Handelssystem, das automatisch Geld verdient die ganze Zeit, er oder sie würde buchstäblich ein Geld machen Maschine Vorteile: Ein automatisiertes System nimmt die Emotionen und beschäftigt-Arbeit aus dem Handel, die Sie auf die Verbesserung konzentrieren können Ihre Strategie und Geld-Management-Regeln. 13 Sobald ein rentables System entwickelt ist, erfordert es keine Arbeit von Ihrer Seite, bis es bricht, oder Marktbedingungen fordern eine Änderung. Nachteile: Wenn das System nicht richtig codiert und getestet wird, können große Verluste sehr schnell auftreten. 13 Manchmal ist es unmöglich, bestimmte Regeln in Code zu setzen, was es schwierig macht, ein automatisiertes Handelssystem zu entwickeln. In diesem Tutorial lernen Sie, wie Sie ein automatisiertes Handelssystem planen und gestalten, wie Sie dieses Design in Code umwandeln, den Ihr Computer verstehen wird, wie Sie Ihren Plan testen, um eine optimale Leistung zu gewährleisten und schließlich, wie Sie Ihr System verwenden können. Trading Systems Coding: System DesignSubscribe to News Für die neuesten Erkenntnisse und Analysen verwenden Danke für die Anmeldung zu Investopedia Insights - News zu verwenden. Automatisierte Handelssysteme minimieren Emotionen, ermöglichen eine schnellere Auftragserfassung, führen zu größerer Konsistenz und lösen Pilotfehlerprobleme. Systems Trader teilen ihre Zeit zwischen Handel, Entwicklung, Backtesting, Optimierung und Forward-Tests, um tragfähige und hochwahrscheinliche Handelssysteme zu schaffen. Automatisierte Forex Trading Software scannt den Markt für günstige Trades basierend auf Ihrer Eingabe. Erfahren Sie mehr über dieses wertvolle Forex-Tool. Durch die Mischung von guter Analyse mit effektiver Umsetzung, können Sie drastisch verbessern Sie Ihre Gewinne in diesem Markt. Lernen Sie, um Ihre Trading-Methoden mit diesen sechs wichtigen Schritten Struktur hinzufügen. Die meisten Makler werden Ihnen mit Handelsaufzeichnungen, aber it039s auch wichtig, um den Track auf eigene Faust zu halten. Software hat Day-Trading schnell und automatisch gemacht - umso mehr Grund, so mühevoll wie möglich zu sein bei der Auswahl der richtigen für Ihre Bedürfnisse. Investopedia erklärt: Die globale Vernetzung der US-Zahlungssysteme ermöglicht kommerzielle und finanzielle Transfers. Häufig gestellte Fragen Abschreibungen können als steuerlich abzugsfähiger Aufwand verwendet werden, um die Steuerkosten zu senken und den Cashflow zu steigern. Erfahren Sie, wie Warren Buffett durch seine Anwesenheit an mehreren renommierten Schulen und seinen Erfahrungen aus der Praxis so erfolgreich wurde. Das CFA-Institut ermöglicht eine individuelle unbegrenzte Anzahl von Versuchen bei jeder Prüfung. Obwohl Sie die Prüfung versuchen können. Erfahren Sie mehr über durchschnittliche Börsenanalyse Gehälter in den USA und verschiedene Faktoren, die Gehälter und insgesamt Ebenen beeinflussen. Häufig gestellte Fragen Abschreibungen können als steuerlich abzugsfähiger Aufwand verwendet werden, um die Steuerkosten zu senken und den Cashflow zu steigern. Erfahren Sie, wie Warren Buffett durch seine Anwesenheit an mehreren renommierten Schulen und seinen Erfahrungen aus der Praxis so erfolgreich wurde. Das CFA-Institut ermöglicht eine individuelle unbegrenzte Anzahl von Versuchen bei jeder Prüfung. Obwohl Sie die Prüfung versuchen können. Erfahren Sie mehr über durchschnittliche Börsenanalyst Gehälter in den USA und verschiedene Faktoren, die Gehälter und Gesamtniveaus beeinflussen. Autopilot Plug-in-Point-and-Click-Strategie-Building und Auto-Trading-Funktionen Backtest, simulieren und handeln Sie Ihre eigenen Strategien. Automatisch automatisch ausführen Ihre eigene Trading-Strategie Backtest Ihre Trading-Strategien beginnen Trading mit nur einem Klick einer Maus Point-and-Click-Strategie-Gebäude (keine Programmierung erforderlich) Auto-Berechnen Sie neue Ergebnisse jedes Mal, wenn Sie die kleinste Änderung schnell Berechnung (Q-Calc ) Buttons Hilfe Optimieren und finden Sie die profitabelsten Einstellungen Verbringen Sie Zeit außerhalb der Dinge, die Sie lieben, wie Autopilot führt Ihre benutzerdefinierte Trading-Strategie Check Out Die Autopilot-Potenzial Lassen Sie Autopilot machen Trades für Sie und senden Sie elektronische Benachrichtigungen Erstellen Sie Ihre eigenen automatisierten Trading Systems Custom Build Und Test-Strategien mit einem oder mehreren Indikatoren Verwenden Sie Advantage Lines als Ihr wichtigstes Handels-System und verwenden Sie Bulls n Bears als eine bedingte oder viele andere Kombinationen Jeder Indikator ist anpassbar Zulassen für eine breite Palette von verschiedenen Trading-Strategie-Kombinationen Anpassbare Eingang und Ausgang Punkte gehören: Stop / Limit-Aufträge Tage der Woche / Time of Day Anhaltende Stopps Jump Stopps und viele mehr Sehen Sie sich getestete Ergebnisse sofort als Equity-Kurve Test Your Strategy Zurück Testen Sie Ihre Strategie, um sicherzustellen, dass es so robust wie es kann mit historischen Daten machen Anpassungen Und Feine Tune Ihre Strategie On-the-Fly und sofort Ergebnisse anzeigen Dann führen Sie Ihre Strategie in einem Live-simulierten Konto, um zu sehen, wie es geht vorwärts Jeder einzelne historische Handel aufgeführt wird, so können Sie Ihre Strategie nach Bedarf anpassen Tag und Nacht Der Autopilot Never Sleeps oder Reifen ermöglicht es Ihnen, die Märkte zu handeln, auch wenn Sie nicht an Ihrem Computer Alle Auto Trades werden mit Ihrem personalisierten Handelssystem, das Sie erstellt Genießen Sie die Zeit mit Ihrer Familie und Freunden, Tage-TrialTrading-Systeme Dieser Abschnitt zeigt, wie man ein Beispiel-Handelssystem ohne Programmierung erstellen, backtest und optimieren kann. Zuerst klicken Sie auf die Schaltfläche in der oberen rechten Ecke eines Diagramms, dann gehen Sie auf die RegisterkarteProbacktest amp Automatic tradingquot und klicken Sie aufNewquot. Das folgende Fenster wird eingeblendet: Wir sind standardmäßig in einem quotiertenAssistent-Erstellungsmodus, mit dem Sie Ihre Strategie erstellen können, ohne eine einzige Codezeile schreiben zu müssen. Sie können auch Ihren eigenen Code erstellen, indem Sie auf das Label quotCreation by programmingquot des oben angezeigten Fensters klicken. Das quotAssisted createquot-Fenster besteht aus mehreren Schaltflächen (Kauf, Verkauf, Short, Exit Short), mit denen Sie Ihre Kauf - und Verkaufsbedingungen definieren können. Sie können Stopps und Ziele einstellen, indem Sie auf die entsprechenden Schaltflächen klicken. Schließlich, quotGenerate codequot automatisch den Code für Ihren Backtest erzeugen Beispiel: Let039s erstellen eine Strategie auf der Grundlage der stochastischen Dynamik-Index. Zuerst zeigen wir einen einfachen gleitenden Durchschnitt auf dem Preis und dem SMI-Indikator an. Klicken Sie zuerst auf die Schaltfläche. Klicken Sie dann in der rechten oberen Ecke auf QuoteBacktestquot, klicken Sie aufNewquot und wählen Sie die SchaltflächeBuyquot, um Ihre Kaufbedingungen festzulegen. Klicken Sie abschließend auf das SMI-Diagramm. Es erscheint das folgende Fenster: Select quotStoch momentum 1quot quotCross Overquot quotSignal 1quot Wir werden nun eine weitere Bedingung hinzufügen, indem wir auf die Schaltfläche quotAdd conditionquot klicken. Wir klicken dieses Mal auf die Preistabelle. Das folgende Fenster wird angezeigt: Wählen Sie quotPrice 1quot quotgtquot quotMoving Durchschnitt 1quot und klicken Sie auf den quotOKquot Button. Let039s definieren nun, wie die Kaufpositionen zu verkaufen sind, indem man auf "Sellquot" und dann auf das Stochastik-Diagramm klickt. Wählen Sie quotStoch Momentum 1quot quotCross Underquot quotMoving Durchschnitt 1quot und klicken Sie auf quotOKquot. Dann legen wir die unten stehenden Parameter fest: Um die Stopp-Strategie zu definieren, klicken wir auf "Stops amp Targetquot" und wählen die folgenden Einstellungen aus: Klicken Sie auf die SchaltflächeOKquot. Das Programm ist fertig, Sie müssen nur einen Namen geben, um Ihren Backtest wie quotStochastic momentumquot und klicken Sie auf quotGenerate codequot. Um den Backtest durchzuführen, klicken Sie auf "ProBacktest my systemquot". Ein Diagramm, das die Eigenkapitalkurve des Backtests enthält, wird ebenso angezeigt wie detaillierter Bericht mit Performance-Informationen: Sie können den Backtest ändern, um seine Ergebnisse zu verbessern. Klicken Sie auf das Schraubenschlüssel-Symbol der Equity-Kurve gelb markiert und dann auf quotModify ProBacktestquot: Let039s erstellen eine Variable anstelle eines festen Wertes für den gleitenden Durchschnitt. Entfernen Sie dazu die Nummer quot150quot aus dem Programm und schreiben Sie stattdessen quotnumberquot. Klicken Sie dann auf die Schaltfläche "Add-Button hinzufügen" des FeldesOptimierungsparameterquot und wählen Sie die folgenden Einstellungen aus: Klicken Sie abschließend auf die Schaltfläche "ProBacktest mein Systemquot". Nach wenigen Sekunden erhalten Sie einen Optimierungsbericht, der Ihnen die Werte liefert, die die besten Ergebnisse für den untersuchten historischen Datensatz liefern. Um das System weiter zu verbessern, könnten Sie versuchen, neue Bedingungen hinzuzufügen. Sie können auch die Art des Stopps ändern oder ein Gewinnziel hinzufügen. Mit der Erstellung durch Programmierung können Sie weitaus anspruchsvollere Funktionen anwenden, indem Sie unsere Funktionsbibliothek verwenden, auf die Sie zugreifen können, indem Sie auf die Schaltfläche "Inkrementieren" klicken. Es erscheint ein Fenster mit allen Funktionen, die mit dem ProBacktest-Modul und dem entsprechenden Hilfetext zur Verfügung stehen. Mit einem Klick auf quotAddquot können Sie diese Funktion in Ihrem Programm an der Stelle des Mauscursors einfügen.
No comments:
Post a Comment