Ein Expert Advisor auf Bestellung gemacht. Handbuch für einen Trader

Andrey Khatimlianskii | 28 Januar, 2016

Einführung

Nicht alle Trader sind Programmierer. Und nicht alle Programmierer sind wirklich gut. Also, was sollte getan werden, wenn Sie Ihr System automatisieren müssen und keine Zeit und Lust haben MQL4 zu studieren? In der Regel besucht man das Forum und erstellt ein Thema, wie "Ich brauche einen Programmierer":

Dieser Artikel ist vor allem für diejenigen geschrieben, die Hilfe bei der Erstellung eines Expert Advisor benötigen. Hier finden Sie Kontaktinformationen mit EA-Programmierern, Empfehlungen wie Sie diese kontaktieren und Beschreibungen der häufigsten Probleme.


Was sollte vor der Bestellung eines Expert Advisor getan werden?

Bevor Sie nach einem Programmierer suchen, stellen Sie sicher, dass Ihre Strategie rentabel ist. Bezahlen Sie nicht für einen EA der keinen Profit erbringen wird. Sie können es manuell machen, indem Sie historische Daten durchsuchen, oder durch mentales Trading, was in der Tat sehr schwierig ist. Es kann auch mit einem manuellen Tester gemacht werden, beschrieben in dem Artikel Testing Visualization: Manual Trading gemacht werden. Die ehrlichsten Ergebnisse können mit Trading auf einem Demokonto oder einem Mini-Konto erzielt werden, aber dies benötigt mehr Zeit und, wahrscheinlich, Geld. Beim testen einer Stratege, beachten Sie dass:

Viele Fehler dieser Art können durch das testen einer Strategie im Echtzeit-Modus erkannt werden. Aber dieser scheinbar zuverlässige Test kann keine totale Übereinstimmung mit echtem Trading garantieren, weil Demo- und Live-Konten einige Unterschiede haben:

Und vergessen Sie nicht, dass echtes Geld wirklich echtes Geld ist, und wie es sich von der Einstellung bei einem Demokonto unterscheidet. Ein Expert Advisor kann einen großen Teil der Emotionen beim Trading beseitigen. aber er kann Ihre möglichen Fehler nicht vollständig beseitigen. Trading auf einem Demokonto, strikt nach einer Strategie, ändert Ihre Pläne nicht und trifft keine emotionalen Entscheidungen. Ihr zukünftiger EA ist nur ein Programm und wird strkt nach Regeln arbeiten. Wenn Sie wissen möchten welche Ergebnisse Ihr EA erreichen kann, muss Ihr Tradingstil der gleiche wie der des EA sein - präzise und diszipliniert.

Wenn Ihre Strategie nach diesen Test noch einen recht guten Profit zeigt, genug um alle Überraschungen beim echten Trading abzudecken, können Sie zur nächsten Stufe gehen - Formulierung eines Algorithmus.


Algorithmus Formulierung

Wenn Sie lange genug mit Ihrer Strategie gehandelt haben, wird es für Sie einfach sein einen Algorithmus zu formulieren. Alles was Sie tun müssen ist Regeln aufzulisten, nach denen Ihr EA traden soll.

Beachten Sie, dass das Programm von einer Person geschrieben wird, die keinerlei Ahnung von Ihrer Strategie hat. Sie sollten die kleinsten Details festlegen: Parameter von Indikatoren, Abstand zu Stop-Ordern, maximale Anzahl geöffneter Positionen, Trailing Stop Algorithmus, usw. Ihr Anforderungsprofil muss die Beschreibung der Reaktion auf jedes wichtige Ereignis enthalten: Aktivierung einer Stop-Order, Auftreten eines wiederholten Signals wenn die Position bereits existiert, Start eines EA nach einer Verbindungstrennung, usw.

Sie müssen verstehen, dass Ihr PC nicht raten, abschätzen oder unabhängige Entscheidungen treffen kann, er handelt einfach nach unseren Regeln. Wenn eine Situation auftritt, für die keine Reaktion in dem Algorithmus beschrieben ist, wird Ihr EA nichts machen.

Betrachten wir ein Beispiel was passieren kann, wenn ein Anforderungsprofil nicht sehr präzise und detailliert ist. Der folgende Dialog zeigt den Vorgang einer EA-Entwicklung durch einen Programmierer, nach dem Algorithmus eines Traders. Ich stelle absichtlich absurd dumme Charaktere dar. Dies wird die Aufmerksamkeit auf Fehler betonen. Zum besseren Verständnis können Sie Beispiele von allen EAs herunterladen und sie zusammen mit dem Trader testen.

Trader:
Hallo! Ich möchte einen Expert Advisor bestellen. Er soll Positionen öffnen, wenn MA(99 und MA(18) sich kreuzen. Wenn der schnelle den langsamen aufwärts kreuzt, soll eine Buy-Position eröffnet werden. Wenn umgekehrt - soll eine Sell-Position eröffnet werden. Wie viel kostet das?

Programmierer:
Um die Kosten zu definieren benötige ich ein detailliertes Anforderungsprofil. Ungefähr - $25.

Trader:
Ich habe alles in dem vorherigen Schreiben aufgeschrieben! Es sind zwei Moving Averages, wenn der schnelle (mit der Periode 9) den langsamen (mit der Periode 18) aufwärts kreuzt, wird eine Buy-Position eröffnet. Wenn andersrum, wird eine Sell-Position eröffnet.

Programmierer:
Ok, ist klar. Hier ist Ihr Expert Advisor - Sample_1.mq4.

Trader:
Was haben Sie geschrieben? Das ist kein EA! Warum sind da so viele offene Positionen? Warum werden sie nicht geschlossen? Sind Sie wirklich ein Programmierer, oder was?

Programmierer:
Die Anzahl der Positionen ist gleich der Anzahl der Überkreuzungen. Testen Sie Ihren EA im Visuellen -Modus, da werden Sie alles sehen - eine Position wird bei jedem Überkreuzen eröffnet. Wenn es aufwärts kreuzt wird eine Buy-Position eröffnet. Wenn es abwärts ist, wird eine Sell-Position eröffnet. Ihre Spezifikation hat nicht ein Wort über das Schließen von Positionen enthalten.

Trader:
Ich vergaß es Ihnen zu sagen: Wenn eine Position offen ist, soll sie bei gegenteiliger Überkreuzung geschlossen werden - nur eine Position am Markt kann offen sein. Und für jede offene Position soll ein Stop Loss mit einem Abstand von 50 Punkten platziert werden.

Programmierer:
Sehen Sie sich die zweite Version an - Sample_2.mq4.

Trader:
Warum ist hier eine offene Buy-Position? Hier hat nichts gekreuzt!

Programmierer:
Dort war eine Überkreuzung, aber sie ist verschwunden. Das Chart zeigt die Indikatorwerte auf bereits gebildeten Balken und Sie können Änderungen im Entwicklungsprozess der Balken nur mit der Verwendung des visuellen Test-Modus oder im realen Betrieb sehen. Glauben Sie mir, es gab einen Schnittpunkt im Moment des Öffnens der Position.Wenn Sie möchten, können wir den EA so machen, das die Position anhand von fertig gebildeten Balken geöffnet werden. In diesem Fall werden alle Signale im Chart sichtbar sein. Viele Trader machen das gleiche.

Trader:
Lassen Sie es uns versuchen. Und kann ich die Parameter der Moving Averages optimieren und der der Stop Loss und Take Profit Ebenen?

Programmierer:
Hier ist die dritte Version - Sample_3.mq4: suche nach gebildeten Balken ist gemacht (1. and 2.); Parameter der Moving Averages und die Werte von Stop Loss und Take Profit sind in externen Variablen festgelegt.Prüfen Sie es.

Trader:
Jetzt ähnelt es dem, was ich wirklich wollte. Aber wenn ich mehrere EAs starte, handelt nur einer von ihnen. Und manchmal schließen sie alle anderen Positionen!

Programmierer:
In der vierten Version (Sample_4.mq4) habe ich eine Unterteilung von Ordern anhand der Magic Number hinzugefügt. Wenn Sie mehrere EAs auf dem Chart von einem Symbol starten, setzen Sie unterschiedliche Wert für die Variable MagicNumber für jeden von ihnen ein.

Trader:
Jetzt ist es wirklich ok!

Also, wie muss das Anforderungsprofil aussehen, nach dem ein Programmierer die vierte Version des EA bereits im ersten Versuch erstellen kann? Lassen Sie uns versuchen die Anforderungen an einen EA zu formulieren:

Dies ist die einfachste Aufgabe. Solche einfachen Systeme sind im echten Leben sehr selten, also achten Sie auf alle Details, wenn Sie die Liste der Anforderungen erstellen.

Zweifellos sind solche dummen Trader und Programmierer sehr selten. Aber, glauben Sie mir, es gibt sie. Es ist besser auch scheinbar offensichtliche Einzelheiten anzugeben, als später mit dem Programmierer zu streiten. Die letzte Sache, die vor der Suche nach einem Programmierer gemacht werden kann, ist Trading nach einer "Liste von Regeln" - wenn Sie traden, machen Sie nur was in der Liste steht.

Schließlich können Sie nach Ihrem "Regelwerk" handeln, bevor Sie anfangen, nach einem Programmierer zu suchen. Halten Sie es sich vor Augen und gehen Sie nur so vor, wie es im Regelwerk steht. So sehen Sie alle Einzelheiten, die Ihnen bei der Formulierung des Algorithmus entfallen sein könnten. Auf diese Weise können Sie mögliche Kosten für die Verbesserung des EA vermeiden.


Einen Programmierer wählen

Für mehrere Jahre der Existenz der Programmiersprache MQL4 tauchten ziemlich viele Expert-Entwickler auf. Viele von ihnen sind ständige Besucher der Webseite mql4.comCodeBase, schreiben Artikel und kommunizieren im Forum, helfen Neulingen und verbessern deren Fähigkeiten.

Viele von ihnen haben Live-Konten und traden mit Expert Advisors und manuell.Es gibt keine Datenbanken (zumindest habe Ich keine gesehen) mit EA-Entwicklern, wo man alle benötigten Informationen über einen MQL4-Programmierer erhalten könnte. Und man kann eine solche Datenbank auch nur schwer erstellen, weil viele EA-Entwickler bleiben nicht so lange in diesem Geschäft.

Dieser Artikel soll Ihnen helfen einen Programmierer zu finden. In Anhang 1, Kontaktinformationen von EA-Entwicklern von mql4.com, können Sie alle verfügbaren Informationen finden.

Wenn Sie einen Programmierer für die Umsetzung Ihres Expert Advisor auswählen:

Preise und Arbeitsbedingungen können voneinander abweichen. Einige von ihnen auf einer Vorkasse-Basis und senden den Quellcode nicht, bis sie die vollständige Zahlung erhalten haben, andere schicken möglicherweise den Code als "Geschenk" und vertrauen auf Ihre Ehrlichkeit. Es gibt EA-Programmierer, die Ihnen den Quellcode nicht übergeben und den EA nur auf einem Konto laufen lassen. Also, klären Sie alle Einzelheiten, bevor Sie Ihre Entscheidung treffen.

Kommunizieren, verhandeln. Es gibt eine Vielzahl an Varianten, wählen Sie die richtige.


Testen eines Expert Advisor

Nachdem Sie die Arbeitsbedingungen erörtert haben und den Algorithmus genehmigt, wird ein Programmierer einen EA schreiben und Ihnen zum Testen schicken. Ihre Aufgabe ist es sicherzustellen, dass der EA den festgelegten Anforderungen entspricht.

Zuerst testen Sie in einem Strategietester unter Verwendung verschiedener Parameter - es ist die schnellste Art den Algorithmus zu prüfen. Sie können ein Chart öffnen, in dem der EA getestet wird, und die Ergebnisse visuell prüfen.

Sollte Ihr EA nicht nur im Moment einer Balkenöffnung, sondern auch während seiner Bildung agieren, versuchen Sie das Testen im Visuellen-Modus auszuführen - Sie werden die Aktionen des EA bei jedem Tick sehen. Sie sehen die Werte von Indikatoren auf dem Null (aktuellen) Balken, Verschiebung und Auslösen des StopLoss bei starken Kursbewegungen, usw.

Wenn das Testen in dem Strategietester keine Fehler anzeigt, testen Sie Ihren EA in einem Demokonto.

Versuchen Sie mehrere EAs mit unterschiedlichen oder gleichen Parametern zu starten, und traden Sie gleichzeitig mit ihnen. Der EA sollte weiter nach dem Algorithmus arbeiten, unabhängig von dem was passiert. Wenn dort keine Fehler auftreten, können Sie dem Programmierer sagen, dass alles ok ist, und den Handel zum Abschluss bringen.

Aber sehr oft enthält die erste Version eines EA Unstimmigkeiten mit dem Algorithmus, die aus eine Ungenauigkeit bei der Beschreibung oder einem Fehler des Programmierers entstehen - dies ist eine häufige Situation. Kontaktieren Sie einfach den Programmierer, und wenn es wirklich seine Schuld ist, wird er alles in Ordnung bringen. In Ihrer Email geben Sie das Folgende an:

Wenn Sie alle notwendigen Informationen einfügen, wird der Programmierer den Fehler schnell finden und beheben.

Die übliche Zusammenarbeir impliziert Technische Unterstützung, auch wenn der EA fertig und bezahlt ist. Das bedeutet, wenn ein Fehler auftritt nach einem Monat Betrieb, wird ein Programmierer ihn kostenlos beheben. Es hängt davon ab, was Sie vereinbaren.


Fazit

Das automatisierte Trading wird immer beliebter. Viele Trader vertrauen die Verwaltung ihrer Konten Expert Advisors an oder vollautomatischen Handelsrobotern. Um ein solches Programm zuschreiben, benötigt man besondere Kenntnisse und Erfahrung. Leider haben nicht alle Trader die Zeit und Lust die spezielle Programmiersprache für die Umsetzung ihrer Ideen zu lernen. Dieser Artikel ist ein Versuch die Verbindung zwischen Trader und Trading-Programmierern zu festigen und zu stärken. Ich hoffe, dieser Artikel wird zum Erscheinen guter und zuverlässiger Expert Advisors führen.


Anhang 1. Kontaktinformationen von EA-Programmierern von mql4.com

Dieser Abschnitt enthält Kontaktinformationen von EA-Programmierern, die Mitglieder der mql4.com Community sind. Die Liste wird ständig aktualisiert, und wenn Sie jetzt keinen Helfer finden können, prüfen Sie die Liste späten - wahrscheinlich werden Sie einen finden. Bitte beachten Sie, dass jeder hier Kontaktinformationen hinterlassen kann, auch Betrüger. Es ist nahezu unmöglich die Arbeitsqualität und Ehrlichkeit aller Programmierer zu prüfen. Wenn Sie also mit ihnen gearbeitet haben (erfolgreich oder nicht). hinterlassen Sie bitte Ihren Kommentar zu diesem Artikel, der Ihre Meinung über die Person enthält,, mit der Sie zusammengearbeitet haben - dies wird anderen Tradern helfen die richtige Entscheidung zu treffen.

Wenn Sie ein EA-Programmierer sind und in die Liste der Kontaktinformationen aufgenommen werden möchten, schicken Sie mir diese bitte zu und Sie werden hinzugefügt. Es ist kostenlos und erfordert nur die Erfüllung Ihrer Pflichten, die bei der Bestellung eines EA besprochen wurden. Wenn Beschwerden über Ihre Arbeit in den Kommentaren zu diesem Artikel auftauchen und Sie können die Frage nicht innerhalb einer Woche abklären, werden Sie von der Liste gelöscht. Ich hoffe dies wird selten vorkommen.

Nickname Name e-mail Zusätzliche Informationen
komposter Andrey Khatimlianskii mql@komposter.me
komposterius
211-605-801
Mike Michael Bernardovich mikemb [@] ittportal [.] net
315-165-028
Tel.: +79015453588
michal Michal Rutka mqlservice.com [@] gmail [.] com
michal_rut
Tel.: +31614511749

Jan Klimo jan.klimo [@] gmail [.] com Tel.: +420777288782
fuzzbomb Andrew Young advisor [@] easyexpertforex [.] com www.easyexpertforex.com
giaras Giampiero Raschetti giampiero.raschetti [@] gmail [.] com giaras
5leepless Damian Burrowes sleepless.damian [@] gmail [.] com
Vitovd Witold Wozniak contact [@] mqlsoft [.] com www.mqlsoft.com
vasya_vasya Vasiliy Orlov pr0baproba [@] mail [.] ru 555-485-590
linx Lin Xie linx_mt [@] hotmail [.] com linx_mt

MetaQuotes Software Corp. ist nicht verantwortlich für die Verletzung von Vereinbarungen zwischen einem Trader und einem Programmierer.