Einen Artikel zum Thema "Wie schreibe ich einen TOR für einen Handelsroboter" schreiben - Seite 7

 
Andrey F. Zelinsky:

Die Erstellung von Flussdiagrammen ist der nutzloseste, zeitaufwändigste und praktisch nicht realisierbare Teil der ToR.

Um dies zu verstehen, können Sie ein kleines und sehr einfaches Experiment durchführen: Freiberufliche Dienstleistungsentwickler sollten eine Aufgabe erhalten: "Erstellen Sie ein Flussdiagramm für die Erstellung eines MA-Indikators" - und dann anhand von zwei Kriterien bewerten: 1) Korrektheit und 2) Verständlichkeit.

Einmal hat es mir sehr geholfen - als ich es im Kopf nicht mehr geschafft habe...

 
Artyom Trishkin:

Das hat mir einmal wirklich geholfen - als ich es nicht mehr verstand...

Sie sagten gerade etwas in dieser Art: "Mein Flussdiagramm hat mir als Entwickler sehr geholfen". Beachten Sie, dass für Ihr Flussdiagramm eine dritte Person, die Ihr Flussdiagramm liest und damit arbeitet, ursprünglich nicht vorgesehen war.

In diesem Thread geht es um die Frage, wie man einen TOR für einen Handelsroboter erstellt.

Es ist mir nicht klar, für wen und mit welchen Zielen dieser Artikel geschrieben wurde.

Da es verschiedene Detaillierungsgrade gibt und sich aus diesem Detail ableiten lassen: Ziele/Zwecke/Ergebnis -- d.h. um über TOR zu sprechen -- müssen Sie zunächst verstehen, a) was der Kunde vom Entwickler erwartet und verlangt und b) was vom Kunden erwartet und verlangt wird.

Wenn wir von einem Flussdiagramm sprechen, bedeutet dies, dass der Kunde das Ereignismodell klar versteht und in der Lage ist, nicht nur die erforderliche Organisation des Programms darzustellen, sondern auch zu überprüfen, ob alles so implementiert ist, wie es in Bezug auf den Code sein sollte. In diesem Fall braucht der Kunde eher einen Programmierer. Und in diesem Fall ist der Kunde für alles verantwortlich, auch für die Korrektheit seiner Struktur.

Dies ist ein Schema. Wie viel Prozent der Aufträge entfallen auf dieses Szenario?

Lesen Sie das Layout des Artikels:

Rashid Umarov:

Eine schlecht formulierte TOR oder ihr tatsächliches Fehlen deutet in den meisten Fällen darauf hin, dass die Regeln des Handelssystems nicht formuliert sind, sondern einfach nicht existieren. Was der Kunde als Handelssystem bezeichnet, ist in Wirklichkeit nur eine Idee. Unter solchen Bedingungen kann man nicht mit der Arbeit beginnen, denn sehr bald werden bei der Programmierung des Algorithmus einige nicht erfasste Nuancen auftauchen oder einfach das Fehlen eines Algorithmus für bestimmte Situationen auf dem Markt. In diesem Fall beginnt der Programmierer tatsächlich, die Optionen anstelle des Kunden zu durchdenken.

Richtig geschrieben, bis auf eine Sache - die überwiegende Mehrheit der Aufgaben wird begonnen, ausgeführt und abgeschlossen - in einer unscharfen Problemstellung. Die Misserfolgsquote aufgrund unscharfer TORs - leicht zu überprüfen mit Schiedsvereinbarungen. Ich denke, es sind nicht mehr als 5-10 %.

Und wenn wir über die Empfehlungen für die TOR für die große Mehrheit der Kunden sprechen - in einer solchen TOR - ist die Empfehlung, ein Flussdiagramm zu erstellen, sinnvoll?

 

Aktuelle Version des Artikels

Was Sie brauchen, um einen Handelsroboter zu bestellen

Handelsroboter sind Programme, die die darin eingebetteten Algorithmen ausführen. Algorithmen sind eine Reihe von Aktionen, die beim Eintreten eines Ereignisses ausgeführt werden müssen. Die häufigste Aufgabe beim algorithmischen Handel ist beispielsweise die Definition des Ereignisses „Neuer Balken“ , bei dessen Auftreten der Roboter das Auftreten von Handelssignalen prüft und die erforderlichen Aktionen an ihnen ausführt.

Bevor Sie jedoch einen Handelsroboter schreiben oder bestellen, müssen Sie über ein Handelssystem mit klaren Regeln verfügen, um günstige Zeitpunkte für die Durchführung von Transaktionen zu bestimmen. Die Entwicklung jedes noch so komplexen Handelssystems beginnt immer mit grundlegenden Dingen, nämlich mit der Entwicklung von Handelssignalen für den Kauf und Verkauf. Als nächstes können Sie verschiedene Folge- und Abschlussoptionen hinzufügen.

Sie müssen nicht Jahre hinter dem Monitor des Handelsterminals verbringen, um Ihre Handelsstrategie zu entwickeln. Mittlerweile gibt es im Internet und in Büchern Hunderte von bewährten Ideen, die Sie ausprobieren können. Und selbst wenn Sie sich in Ihren Programmierkenntnissen nicht ganz sicher sind, stellt dies kein Hindernis dar. Der Freelance -Service hilft Ihnen dabei, den richtigen Entwickler zu finden und die geleistete Arbeit sicher zu bezahlen.

Aber bevor Sie sich mit dem faszinierenden Element des algorithmischen Handels befassen, empfehlen wir Ihnen, nützliche Artikel zum Thema zu lesen:

Warum ist es wichtig, eine gute Geschäftsordnung zu haben?

Bei der Bestellung oder Entwicklung eines Expert Advisors ist es notwendig, technische Anforderungen an ihn zu formulieren – welche Aufgaben er lösen soll, unter welchen Bedingungen er betrieben wird, was in Notsituationen passiert, welche Art von Kontrolle er benötigt. Handelsroboter sind Programme und müssen klar nach der zugrunde liegenden Logik arbeiten. Aber bevor der notwendige Aktionsalgorithmus programmiert wird, muss dieser auch klar beschrieben werden.

Die Beschreibung der Handelsstrategie muss in Form einer Leistungsbeschreibung erfolgen. Und je besser und klarer es wird, desto weniger Missverständnisse gibt es zwischen Ihnen als Kunde und dem Programmierer als Ausführenden Ihres Auftrages.

Das Wichtigste in den Nutzungsbedingungen ist das Vorhandensein formeller, eindeutiger Handelsregeln. Auch wenn Sie keinen Experten nebenher bestellen, sondern selbst schreiben möchten, entwickeln Sie diese Regeln zunächst für sich. Erstellen Sie eine Aufgabenstellung und stellen Sie sicher, dass Sie Punkte zum Testen/Optimieren des Expert Advisors enthalten. Fügen Sie auch Hypothesen hinzu, um die Qualität Ihrer Handelsstrategie zu testen – welche Kriterien werden Sie verwenden, um die optimalen Parameter auszuwählen, warum halten Sie diese Kriterien für wichtig?

Nehmen Sie alle Schritte zum Erstellen eines Handelsroboters in die Leistungsbeschreibung auf - dies hilft, die Essenz des Algorithmus nicht nur für den Ausführenden, sondern auch für Sie nach Wochen, Monaten oder Jahren zu verstehen. Denken Sie daran, dass der algorithmische Handel kein Hobby ist, sondern derselbe eintönige Forschungspfad, bei dem es notwendig ist, die durchlaufenen Phasen zu dokumentieren. Für mich selbst, mehr als für einen Programmierer, der einen Roboter für Sie schreibt.

Entwickeln Sie die Fähigkeiten eines Bürokraten, der gerne Dinge regelt. Das wirst du auf jeden Fall brauchen. Ja, und Programmierer lieben klare Befehle.

Was sollte in der Leistungsbeschreibung stehen

Handelsidee

Für eine schnelle Einführung in das Wesen einer Handelsstrategie widmen Sie den ersten Absatz Ihres Technischen Auftrags der darin enthaltenen Idee / Hypothese. Zum Beispiel: "Wenn sich der Preis zweimal dem Widerstandsniveau nähert und jedes Mal zurückrollt, dann durchbricht er es in der Regel beim dritten Mal." Hier können Sie ein Diagramm mit eingezeichneten Widerstands-/Unterstützungslinien, überlagerten Indikatoren und Signaturen anhängen, die die Situation veranschaulichen. Um die Idee zu beschreiben, ist es nicht erforderlich, bestimmte Zahlen oder Berechnungsalgorithmen anzugeben - in diesem Stadium ist es nicht erforderlich, zu erklären, wie wir ermitteln:

  • Widerstandsstufe,
  • Ebenenaufschlüsselung,
  • der Begriff „allgemein“.

Eine kleine Abstraktionsebene in der Anfangsphase ermöglicht es Ihnen, sich auf die Idee selbst zu konzentrieren und nicht auf die technischen Details. Mit dieser Methode können Sie anschließend viele weitere Varianten Ihrer Handelsstrategie generieren - Sie ersetzen einfach einen Strategieblock durch einen anderen, einen Indikator durch einen anderen, fügen Filter hinzu oder ersetzen sie. Gleichzeitig ändert sich die Idee selbst nicht, nur die Namen und Werte der Eingabeparameter Ihres Handelsroboters ändern sich.

Darüber hinaus ist es notwendig, alle Begriffe zu beschreiben, die in der Beschreibung der Idee verwendet werden. Wenn der Trend für die Strategie wichtig ist, geben Sie eine klare Beschreibung, wie er bestimmt wird - auf der Grundlage welchen Indikators, wie die Richtung und Stärke des Trends bestimmt wird. Die numerischen Merkmale dieser Definitionen bilden die Grundlage für die Eingabeparameter des Expert Advisors, die Sie dann im Strategietester optimieren werden. Nennen Sie also den ersten Abschnitt Ihrer Aufgabenstellung – Handelsidee.

Bedingungen

Um die Begriffe zu beschreiben, empfehlen wir die Erstellung eines separaten Abschnitts der Leistungsbeschreibung – Begriffe. Darin wird für jeden Begriff ein separater Absatz geschrieben, die Begriffe selbst sind fett gedruckt , um das Schlüsselkonzept Ihrer Handelsstrategie hervorzuheben. Fügen Sie der Beschreibung des Begriffs gegebenenfalls eine Illustration hinzu, in der Sie das Nötigste zum Verständnis zeigen müssen.

Handelssignale

Als nächstes können Sie den drittwichtigsten Abschnitt – Handelssignale – zusammenstellen, der beschreibt, unter welchen Bedingungen, Marktbedingungen und Indikatorwerten ein Kauf erfolgt. Um jede Bedingung zu beschreiben, die notwendig ist, um ein Kaufsignal zu erzeugen, ist es notwendig, einen numerischen Parameter herauszugreifen, von dem das Aussehen des Signals abhängt. Bei einem gleitenden Durchschnitt wäre dies beispielsweise der Glättungstyp und -zeitraum. Diese wichtigen Parameter werden in die Eingabeparameter des zukünftigen Expert Advisors übernommen. Beschreiben Sie gesondert die Konditionen für den Verkauf, auch wenn sie einfach das Gegenteil der Konditionen für den Kauf sind - manchmal kommen Feinheiten heraus, die der Programmierer anders verstehen kann als Sie. Beispielsweise wird bei einem Kauf die Bedingung „Kennzeichen > 0“ gesetzt – was schreibt man bei einem Verkauf? "Punktzahl<0" oder "Punktzahl<=0"?

Selbst die einfachste Handelsidee beginnt sehr schnell, zusätzliche Bedingungen und Filter zu erwerben, die das Vorhandensein eines Handelssignals bestätigen oder umgekehrt - ein Geschäft verbieten. Daher ist es wichtig, für jede Marktsituation erklärende Screenshots zu machen, die die notwendigen Indikatoren und Setups visuell darstellen. Auf diese Weise können Sie schnell mit der Situation fertig werden, wenn Ihr Berater ein scheinbar offensichtliches Handelssignal verpasst oder plötzlich zur falschen Zeit ein Geschäft abgeschlossen hat.

Screenshots und Flussdiagramme

Im Internet gibt es viele kostenlose und praktische Programme zum Erstellen von Screenshots und Flussdiagrammen. Eine kleine Auswahl an Tipps für die Arbeit damit finden Sie im Artikel So erstellen Sie eine Leistungsbeschreibung bei der Bestellung eines Indikators . Dort finden Sie auch Tipps zur Bestellung eines Indikators, der mit Pfeilen auf dem Chart anzeigt, wann Kauf- und Verkaufssignale erscheinen. Ein solcher Indikator, der getrennt vom Berater arbeitet, erleichtert die Überprüfung und Kontrolle des Betriebs des Handelsroboters sowohl online als auch während des visuellen Tests.

Lebensdauer von Signalen/Aufträgen/Positionen

Der zweite wichtige Teil der Handelsstrategie besteht darin, eine offene Position zu verlassen und ausstehende Aufträge zu löschen. Darüber hinaus können die Handelssignale selbst auch durch die Zeit oder durch das Eintreten einiger Ereignisse gelöscht werden. Es ist auch notwendig, wie bei Handelssignalen klar zu beschreiben, unter welchen Bedingungen der Kauf / Verkauf abgeschlossen wird, die platzierte Order storniert wird, wann das Signal selbst storniert wird.

Pflege offener Positionen und Pending Orders

Wenn Ihre Handelsstrategie das Festlegen von StopLoss- und TakeProfit-Niveaus erfordert, geben Sie bitte einen Berechnungsalgorithmus an. Wenn es notwendig ist, diese Ebenen flexibel hochzuziehen/zu verschieben, müssen auch die Bedingungen für solche Operationen beschrieben werden. SL/TP-Niveaus können sowohl beim Öffnen eines neuen Balkens als auch bei jedem Tick geändert werden. Es ist notwendig, diesen Moment ausdrücklich in den Nutzungsbedingungen anzugeben und den Unterschied in den Modi zum Testen von Handelsstrategien zu verstehen. Wir empfehlen Ihnen, den Artikel Testen von Handelsstrategien an echten Ticks zu lesen.

Wo erhalte ich die Nutzungsbedingungen, wenn Sie sie nicht selbst verfassen können?

Eine schlecht formulierte Leistungsbeschreibung oder ihr tatsächliches Fehlen weist meistens darauf hin, dass die Regeln des Handelssystems nicht formuliert sind, sie existieren einfach nicht. Was der Kunde in diesem Fall als Handelssystem bezeichnet, ist in der Regel nur eine Idee. Es ist unmöglich, unter solchen Bedingungen mit der Arbeit zu beginnen, da bei der Programmierung des Algorithmus sehr bald nicht berücksichtigte Nuancen oder einfach das Fehlen eines Algorithmus in bestimmten Marktsituationen zum Vorschein kommen. In diesem Fall fängt der Programmierer tatsächlich an, Optionen anstelle des Kunden zu entwickeln.

Infolgedessen kann der Auftragnehmer auf eigene Gefahr und Gefahr die Arbeiten abschließen und dem Auftraggeber einen Handelsroboter zur Verfügung stellen. Aber in diesem Fall besteht neben der Zeitverschwendung bei der Diskussion jedes neuen Problems in einer unklaren TOR auch die Möglichkeit, dass die Arbeit in ein Schiedsverfahren gerät. Denn bei der Annahme und Prüfung solcher Arbeiten stellt der Kunde plötzlich fest, dass Transaktionen nicht so ablaufen, wie er es erwartet, aber nicht beschreiben konnte. Und natürlich wird er in diesem Fall dem Auftragnehmer vorwerfen, gegen bestimmte Punkte der Leistungsbeschreibung verstoßen und den Roboter falsch programmiert zu haben. Das Schiedsverfahren versteht in solchen Fällen schnell den Unterschied in der Kompetenz beider Parteien und trifft seine Entscheidung auf der Grundlage der dem Auftrag beigefügten Aufgabenbeschreibung. Gemäß den Freiberuflerregeln wird keine Korrespondenz auf der Seite vor und während der Ausführung des Auftrags nicht berücksichtigt:

Bei der Betrachtung des Streitgegenstands im Schiedsverfahren dient nur die Aufgabenbeschreibung als Entscheidungsgrundlage.

Im Leben ist diese Option auch möglich: Sie haben strenge Handelsregeln, aber aus irgendeinem Grund können Sie die Leistungsbeschreibung nicht selbst erstellen. Sie sind sich zum Beispiel nicht sicher, wie sie bestimmte Dinge richtig beschreiben sollen, oder sie brauchen die Hilfe eines Spezialisten für Mathematik, neuronale Netze, maschinelles Lernen, Programmierung und so weiter. In diesem Fall können Sie die Erstellung der Leistungsbeschreibung auch in Freelance beauftragen, hierfür eignen sich die Kategorien „Programmierberatung“ oder „Sonstiges“.

Wählen Sie eine dieser beiden Kategorien aus, nennen Sie sie „Erstellen eines TORs zum Bestellen eines Handelsroboters“ und geben Sie die anfänglichen Kosten der Arbeit an, wie Sie es sich vorstellen. Ein erfahrener Entwickler von Handelssystemen hilft Ihnen dabei, die Regeln Ihrer Strategie richtig zu formulieren, damit sie für andere Programmierer verständlich sind. Gleichzeitig sollten Sie in der Lage sein, mit Charts, Indikatoren und grafischen Objekten zu arbeiten, um die Setups Ihrer Handelssignale anhand von Screenshots zu zeigen.

Der Programmierer wird Ihr Handelssystem verstehen und Ihnen helfen, eine Beschreibung des Handelsalgorithmus zu schreiben, wenn möglich. Wenn Sie einige Begriffe nicht selbst formulieren können (z. B. „Impuls“ oder „Abprall vom Niveau“), kann er Ihnen aufgrund seiner Erfahrung fertige Ideen geben. In der Regel lässt sich jede Marktsituation logisch (und dann programmatisch) mit einem gewissen Interpretationsspielraum beschreiben. Und diese Variation kann immer durch einen bestimmten Parameter ausgedrückt werden, den Sie dann in Ihrem Expert Advisor optimieren.

Ideale Muster gibt es nicht, da sich der Markt einerseits nicht wiederholt und andererseits in der Geschichte immer wieder ähnliche Situationen zu finden sind. Das Ergebnis Ihrer gemeinsamen Arbeit sollte eine fertige Referenz für die Bestellung eines Handelsroboters gemäß Ihrer Strategie sein.

Welche Begriffe verwenden

In der Regel gibt es in einem Handelssystem mehrere grundlegende wichtige Konzepte oder Begriffe, die den Zustand des Marktes oder die Art der Preisbewegung beschreiben. Auch wenn es Ihnen scheint, dass Sie ein allgemein akzeptiertes und einfaches Konzept verwenden, ist es besser, es klar zu beschreiben. Machen Sie für jeden Begriff einen Beschreibungsabschnitt.

Beispielsweise liegt laut Bill Williams ein Aufwärtstrend vor, wenn alle drei Alligator-Linien in dieser Reihenfolge von unten nach oben angeordnet sind: Blau, Rot, Grün.


Eine weitere klassische Definition eines Aufwärtstrends – von Larry Williams – wenn jeder neue Höhepunkt höher als der vorherige ist und jeder neue Tiefpunkt nicht niedriger als der vorherige ist.


In der Beschreibung der Begriffe können Sie Screenshots der Diagramme verwenden, sie stören nicht. Heben Sie in der Aufgabenstellung selbst die fettgedruckten Begriffe hervor - lassen Sie den Darsteller darauf achten und stellen Sie eine Frage, wenn etwas nicht klar ist.

Bei der Verwendung eines bestimmten Begriffs in der Beschreibung einer Strategie ist es nicht möglich, den Auftragnehmer auf andere Quellen (Websites, Bücher, Foren usw.) zu verweisen, indem er argumentiert, dass diese bereits bekannt sind. Alles sollte hier und jetzt beschrieben werden, kein „Ich erkläre es später auf Skype“ ist erlaubt. Sie brauchen nicht länger als eine halbe Stunde, um alle Begriffe in der TOR aufzuschreiben, aber dann sparen Sie Zeit, die Sie für die Korrektur von Fehlern aufgrund von Missverständnissen aufwenden müssen.

Was schreibt man in eine Stellenbeschreibung in Freelance

Beschreiben Sie beim Erstellen eines Jobs in wenigen Absätzen die allgemeine Essenz Ihrer Handelsidee, damit potenzielle Leistungsträger verstehen, was Sie brauchen. Die Stellenbeschreibung muss die Regeln des Handelssystems nicht offenlegen oder Details zu den verwendeten Indikatoren enthalten.

Beschreibung könnte so aussehen:

Schreiben Sie einen Expert Advisor für den Handel mit Trendwenden. Umkehrsignale sind Preisaktionsmuster. Zur Bestimmung des Trends werden die Indikatoren ADX, Alligator und MACD verwendet - die Wahl des Indikators wird durch die Eingabeparameter des Beraters bestimmt.

Allgemeine Vorstellung einer Handelsstrategie

Hier können Sie angeben, mit welchen Instrumenten der Roboter handelt, ob er mit dem Trend handelt, wie er bestimmt wird und in welchem Zeitrahmen. Wenn wir mit dem Trend handeln, wie erfolgt dann der Einstieg – bei einem Rollback, beim Durchbrechen neuer Extreme und so weiter.

Im Großen und Ganzen gibt es an den Finanzmärkten nur zwei Handelsstrategien: in Bewegung bleiben und zum Durchschnitt zurückkehren. Ihre Idee sollte sich auf eine dieser beiden Strategien beziehen und erklären, wie Sie Trades eröffnen – auf dem Markt, nach Bestätigung oder zu einem besseren Preis.

Beschreibung des Setups zum Warten auf ein Signal

... es ist notwendig, eine Wohnung mit anschließendem Ausbruch zu bilden / oder auf das Ende der europäischen Sitzung zu warten und Signale nur in Richtung seiner Bewegung zu empfangen

Signalbeschreibung

... Technische Parameter der Beschreibung - Trend / Pullback / Breakdown - alles ist streng formalisiert

Es ist besser, Kauf- und Verkaufssignale zuerst separat zu debuggen

Es wäre besser, wenn der Berater Labels / Signalobjekte auf der Karte anbringt

Es ist besser, wenn Signalindikatoren separat hergestellt werden

Signallebensdauer

... wie lange das Signal gültig ist - in Balken / Stunden / bis zum Ende der Session / Tag

Aufträge erteilen und Positionen eröffnen

... gibt es irgendwelche Features, z. B. setzen wir SL / TP nicht sofort,

oder wie viele Versuche wir unternehmen, in den Markt einzutreten,

oder Einstellen unterschiedlicher Bestellmagie/Bestellkommentar je nach Zeit/Setup/Muster

etwas anderes

Aufrechterhaltung einer Handelsposition/Order

... gibt es einen Trailing Stop oder nicht

wenn TS einschalten

bewegen wir Pending Orders hinter/gegen den Preis

Verfolgen Sie den aktuellen Gewinn/Verlust einer offenen Position

etwas anderes

Stornierung einer Order und Schließen einer Position

... Orders löschen nach Zeitpunkt/Anzahl Balken/Periodenende/Erscheinen eines gegensätzlichen Signals/Verlust des Setups

... die Position nach Zeitpunkt/Anzahl der Balken/Ende des Zeitraums/kumulierter Gewinn/Erscheinen des entgegengesetzten Signals/Setup schließen

etwas anderes

Loskalkulation für Auftragserteilung

.... aus dem Gleichgewicht

Fest

aus angespartem Gewinn

basierend auf den Ergebnissen der letzten N Trades

vom Risiko (Abstand SL)

etwas anderes

Umgang mit Handelsfehlern und Umgebungszustand

... detaillierte Protokolle beim Senden von Handelsaufträgen

Terminal-/Verbindungs-/Server-Neustartverarbeitung

Feedback über Messenger/E-Mail

Der Unterschied zwischen dem Handel bei der Eröffnung des Balkens und innerhalb des Balkens

... Signale können während der Lebensdauer des Balkens verschwinden und erscheinen

Tick-/Scalping-Strategien

... Sie müssen eine gute Vorstellung davon haben, was es ist, je weniger TakeProfit/StopLoss in Punkten, desto kritischer ist die Strategie für Spreads/Kommissionen/Netzwerkverzögerungen/Qualität der verfügbaren Historie/Geschwindigkeit des Roboters selbst.

Jede Verschlechterung der Bedingungen kann die Strategie zunichte machen

Gitter, Martingale, Mittelwertbildung und die Kehrseite dieser Verbesserungen

... Was sind sie, warum sind sie beliebt und wie sehr können sie dazu beitragen, die Strategie vorübergehend zu erweitern? Das Risiko steigt, obwohl es die Lebensdauer einer schlechten Strategie verlängern kann

Worauf Sie bei der Auswahl eines Auftragnehmers achten sollten

... inhaltliche Fragen

Gibt nicht vor zu beeindrucken

Gibt klare Fristen

Zeigt unklare Stellen im TOR sofort an, und nicht erst nach 2 Monaten Diskussion

Ein guter Programmierer schätzt seine und Ihre Zeit – deshalb liebt er ein gut entwickeltes konsistentes TOR

Was ein Programmierer nicht für Sie tun kann

Verwandeln Sie eine verlustreiche Strategie in einen profitablen Roboter

Optimieren und identifizieren Sie alle Schwachstellen

Schreiben Sie ein Programm ohne Fehler - sie werden immer noch sein. Diese zu finden und verständlich zu beschreiben, ist Ihre Aufgabe.


 

Die aktuelle Version des Artikels, Abschnitt Beschreibung des Setups zum Warten auf ein Signal fortgesetzt und weiter

Was Sie brauchen, um einen Handelsroboter zu bestellen

Handelsroboter sind Programme, die die darin eingebetteten Algorithmen ausführen. Algorithmen sind eine Reihe von Aktionen, die beim Eintreten eines Ereignisses ausgeführt werden müssen. Die häufigste Aufgabe beim algorithmischen Handel ist beispielsweise die Definition des Ereignisses „Neuer Balken“ , bei dessen Auftreten der Roboter das Auftreten von Handelssignalen prüft und die erforderlichen Aktionen an ihnen ausführt.

Bevor Sie jedoch einen Handelsroboter schreiben oder bestellen, müssen Sie über ein Handelssystem mit klaren Regeln verfügen, um günstige Zeitpunkte für die Durchführung von Transaktionen zu bestimmen. Die Entwicklung jedes noch so komplexen Handelssystems beginnt immer mit grundlegenden Dingen, nämlich mit der Entwicklung von Handelssignalen für den Kauf und Verkauf. Als nächstes können Sie verschiedene Folge- und Abschlussoptionen hinzufügen.

Sie müssen nicht Jahre hinter dem Monitor des Handelsterminals verbringen, um Ihre Handelsstrategie zu entwickeln. Mittlerweile gibt es im Internet und in Büchern Hunderte von bewährten Ideen, die Sie ausprobieren können. Und selbst wenn Sie sich in Ihren Programmierkenntnissen nicht ganz sicher sind, stellt dies kein Hindernis dar. Der Freelance -Service hilft Ihnen dabei, den richtigen Entwickler zu finden und die geleistete Arbeit sicher zu bezahlen.

Aber bevor Sie sich mit dem faszinierenden Element des algorithmischen Handels befassen, empfehlen wir Ihnen, nützliche Artikel zum Thema zu lesen:

Warum ist es wichtig, eine gute Geschäftsordnung zu haben?

Bei der Bestellung oder Entwicklung eines Expert Advisors ist es notwendig, technische Anforderungen an ihn zu formulieren – welche Aufgaben er lösen soll, unter welchen Bedingungen er betrieben wird, was in Notsituationen passiert, welche Art von Kontrolle er benötigt. Handelsroboter sind Programme und müssen klar nach der zugrunde liegenden Logik arbeiten. Aber bevor der notwendige Aktionsalgorithmus programmiert wird, muss dieser auch klar beschrieben werden.

Die Beschreibung der Handelsstrategie muss in Form einer Leistungsbeschreibung erfolgen. Und je detaillierter es ist, desto weniger Missverständnisse gibt es zwischen Ihnen als Kunde und dem Programmierer als Ausführenden Ihres Auftrags.

Das Wichtigste in den Nutzungsbedingungen ist das Vorhandensein eindeutiger formaler Handelsregeln. Auch wenn Sie keinen Experten nebenher bestellen, sondern selbst schreiben möchten, entwickeln Sie diese Regeln zunächst für sich. Erstellen Sie eine Aufgabenstellung und stellen Sie sicher, dass Sie Punkte zum Testen/Optimieren des Expert Advisors enthalten. Fügen Sie auch Hypothesen hinzu, auf deren Grundlage Sie die Qualität und Stabilität Ihrer Handelsstrategie überprüfen werden - nach welchen Kriterien wählen Sie die optimalen Parameter aus, warum halten Sie diese Kriterien für wichtig.

Nehmen Sie alle Schritte zum Erstellen eines Handelsroboters in die Leistungsbeschreibung auf - dies hilft, die Essenz des Algorithmus nicht nur für den Ausführenden, sondern auch für Sie nach Wochen, Monaten oder Jahren zu verstehen. Denken Sie daran, dass der algorithmische Handel kein Hobby ist, sondern derselbe eintönige Forschungspfad, bei dem es notwendig ist, die durchlaufenen Phasen zu dokumentieren. Und das brauchen Sie mehr als einen Programmierer, der Ihnen einen Roboter schreibt.

Entwickeln Sie die Fähigkeiten eines Bürokraten, der gerne Dinge regelt. Ein Entwicklungstagebuch für jedes Handelssystem ist sicher praktisch, wenn Sie eine neue Idee testen möchten. Ja, und Programmierer lieben klare Befehle.

Beispiele für Referenzbedingungen

Lassen Sie uns Beispiele dafür geben, wie technische Spezifikationen für Expert Advisors, die in der Lieferung des MetaTrader 5-Terminals enthalten sind, gestaltet werden könnten.


Was sollte in der Leistungsbeschreibung stehen

Handelsidee

Beschreiben Sie im ersten Abschnitt Ihrer Leistungsbeschreibung die allgemeine Idee hinter Ihrer Handelsstrategie. Zum Beispiel: "Wenn sich der Preis zweimal dem Widerstandsniveau nähert und jedes Mal zurückrollt, dann durchbricht er es in der Regel beim dritten Mal." Hier können Sie ein Diagramm mit eingezeichneten Widerstands-/Unterstützungslinien, Indikatoren und erklärenden Bildunterschriften anhängen. Um die Idee zu beschreiben, müssen Sie nicht auf bestimmte Zahlen oder Berechnungsalgorithmen eingehen – in diesem Beispiel müssen Sie nicht gleich erklären, wie wir ermitteln:

  • Widerstandsstufe,
  • Ebenenaufschlüsselung,
  • der Begriff „allgemein“.

Eine kleine Abstraktionsebene in der Anfangsphase ermöglicht es Ihnen, sich auf die Idee selbst zu konzentrieren und nicht auf die technischen Details. Mit dieser Methode können Sie anschließend viele weitere Varianten Ihrer Handelsstrategie generieren - Sie ersetzen einfach einen Strategieblock durch einen anderen, einen Indikator durch einen anderen, fügen Filter hinzu oder ersetzen sie. Gleichzeitig ändert sich die Idee selbst nicht, nur die Namen und Werte der Eingabeparameter Ihres Handelsroboters ändern sich.

Darüber hinaus ist es notwendig, alle Begriffe zu beschreiben, die in der Beschreibung der Idee verwendet werden. Wenn der Trend für die Strategie wichtig ist, geben Sie eine klare Definition an – anhand dessen wird die Richtung und Stärke des Trends bestimmt. Die numerischen Merkmale dieser Definitionen bilden die Grundlage für die Eingabeparameter des Expert Advisors, die Sie dann im Strategietester optimieren werden. Nennen Sie also den ersten Abschnitt Ihrer Aufgabenstellung – Handelsidee.

Bedingungen

Um die Begriffe zu beschreiben, empfehlen wir die Erstellung eines separaten Abschnitts der Leistungsbeschreibung – Begriffe. Darin wird für jeden Begriff ein separater Absatz geschrieben, die Begriffe selbst sind fett gedruckt , um das Schlüsselkonzept Ihrer Handelsstrategie hervorzuheben. Fügen Sie der Beschreibung des Begriffs gegebenenfalls eine Illustration hinzu, in der Sie das Nötigste zum Verständnis zeigen müssen. Die Eingabeparameter des zukünftigen Expert Advisors können kursiv dargestellt werden.

Handelssignale

Der nächste Abschnitt der Leistungsbeschreibung ist der drittwichtigste Abschnitt – Handelssignale – der beschreibt, unter welchen Bedingungen, Marktbedingungen und Indikatorwerten ein Kauf stattfindet. Um jede Bedingung zu beschreiben, die notwendig ist, um ein Kaufsignal zu erzeugen, ist es notwendig, einen numerischen Parameter herauszugreifen, von dem das Aussehen des Signals abhängt. Bei einem gleitenden Durchschnitt wäre dies beispielsweise der Glättungstyp und -zeitraum. Diese wichtigen Parameter werden in die Eingabeparameter des zukünftigen Expert Advisors übernommen. Die Eingabeparameter des zukünftigen Expert Advisors können kursiv dargestellt werden.

Beschreiben Sie gesondert die Konditionen für den Verkauf, auch wenn sie einfach das Gegenteil der Konditionen für den Kauf sind - manchmal kommen Feinheiten heraus, die der Programmierer anders verstehen kann als Sie. Beispielsweise wird bei einem Kauf die Bedingung „Kennzeichen > 0“ gesetzt – was schreibt man bei einem Verkauf? "Punktzahl<0" oder "Punktzahl<=0"?

Selbst die einfachste Handelsidee beginnt sehr schnell, zusätzliche Bedingungen und Filter zu erwerben, die das Handelssignal bestätigen oder im Gegenteil aufheben. Daher ist es wichtig, für jede Marktsituation erklärende Screenshots zu machen, in denen die verwendeten Indikatoren und Setups visuell dargestellt werden. Auf diese Weise können Sie schnell mit der Situation fertig werden, wenn Ihr Berater ein scheinbar offensichtliches Handelssignal verpasst oder plötzlich zur falschen Zeit ein Geschäft abgeschlossen hat.

Screenshots und Flussdiagramme

Im Internet gibt es viele kostenlose und praktische Programme zum Erstellen von Screenshots und Flussdiagrammen. Eine kleine Auswahl an Tipps für die Arbeit damit finden Sie im Artikel So erstellen Sie eine Leistungsbeschreibung bei der Bestellung eines Indikators . Dort finden Sie auch Tipps zur Bestellung eines Indikators, der mit Pfeilen auf dem Chart anzeigt, wann Kauf- und Verkaufssignale erscheinen. Ein solcher Indikator, der getrennt vom Berater arbeitet, erleichtert die Überprüfung und Kontrolle des Betriebs des Handelsroboters sowohl online als auch während des visuellen Tests.

Lebensdauer von Signalen/Aufträgen/Positionen

Der zweite wichtige Teil der Handelsstrategie besteht darin, eine offene Position zu verlassen und ausstehende Aufträge zu löschen. Darüber hinaus können die Handelssignale selbst auch rechtzeitig oder bei bestimmten Ereignissen gelöscht werden. Wie bei Handelssignalen ist es notwendig zu beschreiben, unter welchen Bedingungen der Kauf / Verkauf abgeschlossen wird, die platzierte Order entfernt wird, wann das Signal selbst storniert wird.

Pflege offener Positionen und Pending Orders

Wenn Ihre Handelsstrategie das Schließen durch StopLoss- und TakeProfit-Niveaus verwendet, geben Sie bitte den Berechnungsalgorithmus an. Beschreiben Sie zum flexiblen Ziehen/Verschieben dieser Ebenen die Bedingungen und den Schleppalgorithmus. SL/TP-Niveaus können sowohl beim Öffnen eines neuen Balkens als auch bei jedem Tick geändert werden. Es ist notwendig, diesen Punkt ausdrücklich in den Nutzungsbedingungen anzugeben und den Unterschied zwischen den Arten des Testens von Handelsstrategien zu verstehen. Lesen Sie unbedingt den Artikel Testen von Handelsstrategien an echten Ticks .

Wo erhalte ich die Nutzungsbedingungen, wenn Sie sie nicht selbst verfassen können?

Eine schlecht formulierte Leistungsbeschreibung oder ihr tatsächliches Fehlen weist meistens darauf hin, dass die Regeln des Handelssystems nicht formuliert sind, sie existieren einfach nicht. Was der Kunde in diesem Fall als Handelssystem bezeichnet, ist eigentlich nur eine Idee. Es ist unmöglich, unter solchen Bedingungen mit der Arbeit zu beginnen, da beim Schreiben von Code sehr bald nicht berücksichtigte Nuancen oder das Fehlen eines Algorithmus für unvorhergesehene Situationen auf dem Markt auftreten. In diesem Fall fängt der Programmierer tatsächlich an, Optionen anstelle des Kunden zu entwickeln.

Infolgedessen kann der Auftragnehmer auf eigene Gefahr und Gefahr die Arbeiten abschließen und dem Auftraggeber einen Handelsroboter zur Verfügung stellen. Dies geht jedoch mit einem Zeitverlust für die Erörterung jedes neuen Problems einher, und die Wahrscheinlichkeit, die Arbeit zum Schiedsverfahren zu bringen, steigt. Denn bei der Abnahme und Kontrolle der geleisteten Arbeit stellt der Kunde plötzlich fest, dass die Transaktionen nicht so ablaufen, wie er es erwartet hat, er konnte es nur nicht richtig beschreiben. Und natürlich wird der Auftraggeber in diesem Fall dem Auftragnehmer vorwerfen, gegen bestimmte Punkte der Leistungsbeschreibung verstoßen und den Roboter falsch programmiert zu haben. Das Schiedsverfahren versteht in solchen Fällen schnell den Unterschied in der Kompetenz beider Parteien und trifft seine Entscheidung auf der Grundlage der dem Auftrag beigefügten Aufgabenbeschreibung. Gemäß den Freiberuflerregeln wird keine Korrespondenz auf der Seite bei der Betrachtung strittiger Situationen nicht berücksichtigt:

Bei der Betrachtung des Streitgegenstands im Schiedsverfahren dient nur die Aufgabenbeschreibung als Entscheidungsgrundlage.

Im Leben ist diese Option auch möglich: Sie haben strenge Handelsregeln, aber aus irgendeinem Grund können Sie die Leistungsbeschreibung nicht selbst erstellen. Sie sind sich beispielsweise nicht sicher, wie Sie bestimmte Dinge richtig beschreiben sollen, oder Sie benötigen die Hilfe eines Spezialisten für Mathematik, neuronale Netze, maschinelles Lernen, Programmierung usw. In diesem Fall können Sie auch die Erstellung eines Leistungsverzeichnisses beauftragen, in Freelance gibt es dafür Kategorien wie „Programmierberatung“ und „Sonstiges“.

Wählen Sie eine dieser beiden Kategorien aus, nennen Sie die Arbeit „Erstellen eines TOR zum Bestellen eines Handelsroboters“ und geben Sie die anfänglichen Kosten der Arbeit an, wie Sie sich vorstellen. Ein erfahrener Entwickler von Handelssystemen hilft Ihnen dabei, die Regeln Ihrer Strategie richtig zu formulieren, damit sie für andere Programmierer verständlich sind. Gleichzeitig sollten Sie in der Lage sein, mit Charts, Indikatoren und grafischen Objekten zu arbeiten, um die Setups Ihrer Handelssignale anhand von Screenshots zu zeigen.

Der Programmierer wird Ihr Handelssystem verstehen und Ihnen helfen, eine Beschreibung des Handelsalgorithmus zu schreiben, wenn möglich. Wenn Sie einige Begriffe nicht selbst formulieren können (z. B. „Impuls“ oder „Abprall vom Niveau“), kann er Ihnen aufgrund seiner Erfahrung fertige Ideen geben. In der Regel kann jede Marktsituation logisch (und dann programmatisch) mit einem einfachen Modell mit Variationsparametern beschrieben werden. Und diese Variation kann durch einen bestimmten Parameter ausgedrückt werden, den Sie dann in Ihrem Expert Advisor optimieren.

Ideale Muster gibt es nicht, da sich der Markt einerseits nicht wiederholt und andererseits in der Geschichte immer wieder ähnliche Situationen zu finden sind. Das Ergebnis Ihrer gemeinsamen Arbeit sollte eine fertige Referenz für die Bestellung eines Handelsroboters gemäß Ihrer Strategie sein.

Welche Begriffe verwenden

In der Regel gibt es in einem Handelssystem mehrere grundlegende wichtige Konzepte oder Begriffe, die den Zustand des Marktes oder die Art der Preisbewegung beschreiben. Auch wenn Sie den Eindruck haben, dass Sie in den Leistungsbeschreibungen ein allgemein akzeptiertes und einfaches Konzept verwenden, ist es besser, es klar zu beschreiben. Machen Sie für jeden Begriff einen Beschreibungsabschnitt.

Beispielsweise liegt laut Bill Williams ein Aufwärtstrend vor, wenn alle drei Alligator-Linien in dieser Reihenfolge von unten nach oben angeordnet sind: Blau, Rot, Grün.


Eine weitere klassische Definition eines Aufwärtstrends – von Larry Williams – wenn jeder neue Höhepunkt höher als der vorherige ist und jeder neue Tiefpunkt nicht niedriger als der vorherige ist.


In der Beschreibung der Begriffe können Sie Screenshots der Diagramme verwenden, sie stören nicht. In der Leistungsbeschreibung selbst empfehlen wir, die von Ihnen eingegebenen Begriffe fett hervorzuheben – damit der Auftragnehmer sie später im Zweifelsfall sofort im Text finden kann.

Der Auftragnehmer darf bei der Beschreibung des Begriffs nicht auf andere Quellen (Websites, Bücher, Foren etc.) verweisen, die begründen, dass diese bereits allgemein bekannt sind. Alles sollte hier und jetzt beschrieben werden, keine Krücken in Form von „Ich erkläre es später auf Skype“ sind im TOR nicht erlaubt. Sie brauchen nicht länger als eine halbe Stunde, um alle Begriffe in der Leistungsbeschreibung aufzuschreiben, aber es spart Zeit, die Sie für die Korrektur von Fehlern aufgrund von Missverständnissen aufwenden müssen.

Was schreibt man in eine Stellenbeschreibung in Freelance

Beschreiben Sie beim Erstellen eines Jobs in wenigen Absätzen die allgemeine Essenz Ihrer Handelsidee, damit potenzielle Leistungsträger verstehen, was Sie brauchen. Die Stellenbeschreibung muss die Regeln des Handelssystems nicht offenlegen oder Details zu den verwendeten Indikatoren enthalten.

Beschreibung könnte so aussehen:

Schreiben Sie einen Expert Advisor für den Handel mit Trendwenden. Umkehrsignale sind Preisaktionsmuster. Zur Bestimmung des Trends werden die Indikatoren ADX, Alligator und MACD verwendet - die Wahl des Indikators wird durch die Eingabeparameter des Beraters bestimmt.

Allgemeine Vorstellung einer Handelsstrategie

Hier können Sie angeben, mit welchen Instrumenten der Roboter handelt, ob er mit dem Trend handelt, wie er bestimmt wird und in welchem Zeitrahmen. Wenn wir mit dem Trend traden, erfolgt der Einstieg irgendwie – bei einem Rollback, bei einem Ausbruch über das Niveau und so weiter.

Im Großen und Ganzen gibt es an den Finanzmärkten nur zwei Handelsstrategien: in Bewegung bleiben und zum Durchschnitt zurückkehren. Ihre Handelsidee sollte sich auf eine dieser beiden Strategien beziehen und erklären, wie Trades eröffnet werden - auf dem Markt, nach Bestätigung eines Breaks / Pullbacks oder zu einem besseren Preis.

Beschreibung des Setups zum Warten auf ein Signal

Die Signale selbst können einfach sein und mit Algorithmen leicht beschrieben werden. Beispielsweise sind solche Muster wie "Absorption" und "Stiftleiste" gut bekannt und beliebt. Aber in der Regel ist es unmöglich, allein auf solchen gut formalisierten Zahlen eine profitable Strategie aufzubauen; solche Muster werden verwendet, um eine Trendumkehr zu bestimmen. Dies bedeutet, dass das Setup für das Warten auf das „Bearish Engulfing“-Muster das Vorhandensein eines Aufwärtstrends sein wird.

Daher ist es in den Nutzungsbedingungen notwendig, nicht nur das Handelssignal selbst zu beschreiben, sondern auch die dafür erforderliche Einrichtung zu formalisieren.

Signalbeschreibung

Ein Kauf- oder Verkaufssignal erscheint, wenn eine bestimmte Bedingung erfüllt ist. Ein klassisches Kaufsignal ist beispielsweise, wenn der Kurs den gleitenden Durchschnitt von unten kreuzt. Bei der Beschreibung eines solchen Signals müssen Sie folgende Parameter angeben:

  • Typ des gleitenden Durchschnitts - SMA, EMA, VIDYA und so weiter
  • gleitender Durchschnittszeitraum
  • zusätzliche Parameter für einige Durchschnitte, zum Beispiel - für AMA .

Darüber hinaus muss auch der Begriff „Preis übersteigt den Durchschnitt“ geklärt werden. Das Signal kann sofort im Moment des Überschreitens des Durchschnitts erscheinen, oder es muss noch gewartet werden, bis die Kerze nicht nur das Durchschnittsniveau durchbricht, sondern auch darüber schließt. Davon hängt nicht nur ab, wie der Code geschrieben wird, sondern auch der Tick-Erzeugungsmodus , der beim Testen des Expert Advisors im Strategietester verwendet werden muss.

Daher ist es notwendig, Begriffe wie „Trend“, „Level“, „Breakout“, „Kickback“ und „Intersection“ klar zu beschreiben – sei es das Arbeiten mit Ticks, Bars und Schlusskursen. Alle diese Konzepte müssen eine formale Beschreibung mit numerischen Parametern haben, die Sie dann im Strategietester optimieren. Beispielsweise kann die Stärke eines Trends mit dem ADX -Indikator gemessen werden, während der Ichimoku Kinko Hyo -Indikator dafür nicht geeignet ist.

Je mehr Bedingungen und Filter in einem Handelssystem verwendet werden, desto komplexer wird das Handelsprogramm. Ganz zu schweigen davon, dass solche Strategien sehr viele Eingabeparameter haben, die dann eine Vielzahl von Optimierungsdurchläufen erfordern. Und obwohl der Strategietester in MetaTrader 5 es Ihnen ermöglicht, die Optimierungszeit von Parametern aufgrund des genetischen Algorithmus und des MQL5 Cloud Network um das Zehn- und Tausendfache zu beschleunigen, wächst die Menge der in diesem Fall empfangenen Daten wie eine Lawine.

Daher empfehlen wir, beim Entwickeln und Debuggen eines Handelsroboters einige Regeln zu beachten:

  • Um die Signale zu debuggen und visuell zu überprüfen, muss der Expert Advisor im Moment des Auftretens des Signals Labels/Objekte auf dem Chart platzieren. Dies ermöglicht nicht nur das Debuggen des Verlaufs , sondern auch die visuelle Beobachtung der Signale auf dem Diagramm. Oft wird der Algorithmus so komplex, dass es selbst für den Händler, der die Regeln des Systems formuliert hat, schwierig wird, seine Arbeit zu verstehen. Und mit der visuellen Anzeige von Signalen können Sie sofort die Momente zum Eröffnen von Geschäften auf dem Chart sehen.
  • Es ist möglich, dass eine noch korrektere Lösung darin besteht, zuerst einen Indikator zu erstellen, der Kauf-/Verkaufssignale auf dem Chart mit Pfeilen markiert. Dies vereinfacht das Schreiben eines Expert Advisors, da es einfacher ist, zwei Programme separat zu erstellen und zu debuggen als ein komplexes. Lassen Sie den Roboter nur handeln und den Indikator nur zeichnen. In diesem Fall wird der Beratercode von unnötiger Funktionalität verschont. Darüber hinaus kann es viel mehr Signale geben, als mit ihnen gehandelt wird. Wenn zum Beispiel ein Kaufsignal empfangen wird, wird normalerweise in den Markt eingetreten, und außerdem werden gemäß dem Algorithmus Kaufsignale nicht mehr geprüft. Und wenn es einen separaten Indikator gibt, zeigt er alle Kaufsignale an, da er die Logik hat, ALLE Signale anzuzeigen, unabhängig vom Vorhandensein einer offenen Position.
  • Kauf- und Verkaufssignale sollten nicht nur in den Terms of Reference separat beschrieben werden, sondern auch im Strategietester separat debuggt werden. Oft sind Kauf und Verkauf miteinander verbunden – das heißt, solange eine offene Kaufposition besteht, werden alle Verkaufssignale ignoriert (natürlich, wenn die Long-Position nicht durch ein Verkaufssignal geschlossen wird). Wenn Sie zuerst Kaufsignale und dann Verkaufssignale separat testen, können Sie die Richtigkeit der zugrunde liegenden Logik in ihrer reinsten Form überprüfen.

Sie können die Strategieparameter sogar separat für den Kauf und separat für den Verkauf optimieren, sodass Sie später die Algorithmen zu einem einzigen Handelsroboter kombinieren können. So verbringen Sie weniger Zeit mit der Suche nach optimalen Parametern und machen weniger Fehler. In diesem Fall müssen Sie jedoch für die Erstellung des Indikators / der Indikatoren und der zwischengeschalteten Expert Advisors extra bezahlen. Aber eine gute Trading-Idee lohnt sich. Oder?

Signallebensdauer

In einigen Handelssystemen bedeutet das Erscheinen eines Signals keine sofortige Eröffnung einer Position. In der Regel ist bei solchen Strategien eine Bestätigung/Erlaubnis durch ein zusätzliches Signal erforderlich. Beispielsweise muss nach einem Ausbruch über ein Widerstandsniveau gewartet werden, bis der Preis auf das durchbrochene Niveau zurückkehrt, um unter den besten Bedingungen einzusteigen. In diesem Fall kommt der Zeitfaktor hinzu – wie lange bzw. für wie viele Balken das „Level ist gebrochen und wartet auf Rollback“-Signal gültig ist. Vielleicht ist es sinnvoll, innerhalb von 5 Bars oder bis zum Ende der Handelssitzung auf einen Pullback zu warten, und dann wird das Signal gelöscht.

Durch Hinzufügen des Parameters „Time to Live“ können Sie zusätzliche Filter einführen, die die Qualität von Handelssignalen verbessern können.

Aufträge erteilen und Positionen eröffnen

Beim Schreiben von Funktionen, die für das Senden von Handelsaufträgen verantwortlich sind, ist es sinnvoll, im Voraus über zusätzliche Funktionen nachzudenken. Beispielsweise können Sie verschiedene MagicNumbers und Kommentare in Ihrem Handelsroboter zur weiteren Analyse von Handelsergebnissen und Optimierungsergebnissen angeben. In MagicNumber können Sie die Stunde und den Tag der Eingabe, die Nummer des Handelsmusters und andere wichtige Informationen eingeben, die es Ihnen ermöglichen, zusätzliche Analysen im Zusammenhang mit den in MagicNumber enthaltenen Daten durchzuführen. Somit können Sie mehrere Handelsstrategien im Expert Advisor implementieren und eine Optimierung für alle gleichzeitig durchführen. Um dann eine erfolglose Einstiegszeit oder ein Verlustmuster/Signal auszusortieren. Wenn Sie eine solche Funktionalität in einem Expert Advisor erhalten möchten, müssen Sie den MagicNumber-Berechnungsalgorithmus für jedes Muster/Setup/Signal klar definieren.

Außerdem wird ein Handelsauftrag nicht immer beim ersten Mal erfolgreich ausgeführt. Es ist notwendig, Situationen vorherzusehen, in denen es nicht möglich war, eine Position beim ersten Mal zu eröffnen/zu schließen. Was sollte der Berater in diesem Fall tun – pausieren oder warten, bis ein neuer Tick kommt? Wie viele Versuche sind erlaubt, um eine Handelsoperation abzuschließen? Welche Informationen sollte der EA in diesen Fällen protokollieren? Welches Format soll der Eintrag haben? Ist es notwendig, eine Nachricht über Probleme an einen Händler zu senden und wie man das macht, um keinen DDoS-Angriff zu verursachen?

Um die Handelshistorie im Terminal schnell zu analysieren, verwenden Sie Kommentare, die in Handelsanfragen geschrieben werden können. Aber vergessen Sie nicht, dass der Handelsserver in einigen Fällen seine eigenen Informationen in dieses Feld schreibt. Daher ist es nicht überflüssig, wenn Ihr Roboter sein eigenes tägliches Handelsprotokoll schreibt, das Ihnen hilft, unverständliche Situationen zu klären.

Wenn Ihre Handelsstrategie StopLoss- und TakeProfit-Schutzniveaus verwendet, geben Sie bitte den Algorithmus für ihre Berechnung und das Verfahren zu ihrer Festlegung an. Beispielsweise kann sich herausstellen, dass StopLoss nur gesetzt werden muss, wenn sich der Preis um eine bestimmte Anzahl von Punkten in eine günstige Richtung bewegt. Wenn SL- und TP-Niveaus erst nach einer erfolgreichen Eröffnung einer Position festgelegt werden, geben Sie an, wie die Eröffnung einer Position überprüft wird – sofort nach dem Senden einer Handelsanfrage oder beim nächsten Tick.

Aufrechterhaltung einer Handelsposition/Order

Die klassische Regel lautet „Gewinne fließen lassen und Verluste begrenzen“. Übersetzt in den algorithmischen Handel bedeutet dies „Setzen Sie einen schützenden StopLoss für jede offene Position und begrenzen Sie den potenziellen Gewinn mithilfe von TakeProfit-Aufträgen“.

Die Größe des Stopps kann die Handelsergebnisse erheblich beeinflussen, und Händler versuchen, solche optimalen Abstände für die Platzierung von SL / TP-Aufträgen zu finden, um den Gewinn zu maximieren. Aber eine grobe Aufzählung aller möglichen SL/TP-Größen wird gleich zur Geschichte passen. Versuchen Sie, Distanzberechnungsalgorithmen zu verwenden, die die Marktvolatilität, die Trendrichtung und die Nähe von Unterstützungs-/Widerstandsniveaus berücksichtigen.

Wenn Sie keine Ahnung haben, wie die Größe von SL/TP aussehen sollte, können Sie sich bestehende Handelssysteme ansehen. Viele algorithmische Händler haben ihre eigenen vorgefertigten Bibliotheken, die verwendet werden können, um einen Handelsroboter nach Ihren Vorstellungen zu erstellen.

Überlegen und beschreiben Sie die folgenden Punkte in den Leistungsbeschreibungen:

  • unter Verwendung von StopLoss- und TakeProfit-Levels, dem Algorithmus zur Berechnung der Distanz für sie:
  • ob es notwendig ist, Trailing Stop zu verwenden, wann es eingeschaltet ist, mit welchem Schritt es hochgezogen wird, Schrittberechnungsalgorithmus;
  • Wenn ausstehende Aufträge verwendet werden, um eine Position einzugeben, müssen sie neu geordnet werden und nach welchem Algorithmus;
  • ob es notwendig ist, den variablen Gewinn/Verlust einer offenen Position zu verfolgen, ob es notwendig ist, die Position zu schließen, wenn das angegebene Gewinn-/Verlustniveau erreicht ist;
  • etwas anderes.

Stornierung einer Order und Schließen einer Position

Es ist auch eine andere Art der Verwaltung von Positionen und Aufträgen möglich - nach Zeit und nach dem Erscheinen eines entgegengesetzten Signals. Sie können den Nutzungsbedingungen zusätzliche Lösch- und Schließoptionen hinzufügen:

  • durch einen bestimmten Wert des variablen Gewinns oder Verlusts einer offenen Position;
  • wenn sich der Preis um eine bestimmte Entfernung vom aktuellen Niveau der Eröffnung einer ausstehenden Order bewegt (tatsächlich bedeutet dies, dass der Moment bereits verloren ist);
  • zum angegebenen Zeitpunkt;
  • durch eine bestimmte Anzahl von Balken;
  • am Ende des angegebenen Zeitintervalls;
  • wenn ein Signal der entgegengesetzten Richtung erscheint;
  • wenn ein günstiges Setup/Muster verschwindet.

Loskalkulation für Auftragserteilung

Einige Händler fügen beim Erstellen eines Handelsroboters sofort Funktionen zur Steuerung der Positionsgröße hinzu. Es wird weiterhin nicht empfohlen, Money-Management-Algorithmen in den EA zur Berechnung des Loses in der Anfangsphase aufzunehmen, da zusätzliche Eingabeparameter bei der Optimierung des EA zu einer Anpassung an einen bestimmten Abschnitt der Historie führen können.

Wenn Sie die erste Version des Roboters gemäß Ihrem Handelssystem erstellen, ist es besser, ihn mit einem konstanten Lot zu testen und zu optimieren. Erst nach mehrmonatigen Vorwärtstests zur Historie und im realen Handel, wenn Sie die Stärken und Schwächen Ihres Algorithmus sehen, können wir über Geldmanagement nachdenken.

Hier sind einige Ansätze zur Berechnung der Losgröße beim Eröffnen einer Position:

  • festes Volumen, unabhängig von Gewinn oder Verlust;
  • das Volumen hängt von der Höhe des Guthabens oder Eigenkapitals ab;
  • nach den Ergebnissen der erhaltenen Gewinne/Verluste;
  • basierend auf den Ergebnissen der letzten N Trades (verschiedene Varianten von Martingale und Anti-Martingale);
  • abhängig vom prozentualen Risiko, wenn eine schützende StopLoss-Order ausgelöst wird;
  • weitere Möglichkeiten der risikobasierten Berechnung, zum Beispiel nach der Vince-Methode .

Bevor Sie einem EA eine Losgrößenberechnung hinzufügen, müssen Sie sich in jedem Fall sicher sein, dass Ihr Handelssystem einen Vorteil gegenüber dem zufälligen Handel hat. Sonst täuscht man sich nur eine Zeit lang. Ein verlustreiches System kann nicht nur durch Geldmanagement in ein profitables umgewandelt werden.

Umgang mit Handelsfehlern und Umgebungszustand

Da der Handelsroboter ein autonomes Programm ist, das 24 Stunden am Tag arbeitet, ist es notwendig, Mittel zur Überwachung und Überprüfung seiner Arbeit bereitzustellen. Die „Black Box“ Ihres Expert Advisors ist das „Experts“-Protokoll, in dem alle Meldungen mit der Funktion Print() angezeigt werden. Im Allgemeinen wird empfohlen, das Auftreten von Signalen, Mustern und Setups, den aktuellen Marktpreis und Handelsanfrageparameter darin aufzuzeichnen, bevor Sie eine Order zur Ausführung senden .

Im Falle einer nicht erfolgreichen Ausführung einer Handelsanfrage sollten ihre Ergebnisse protokolliert werden. Die Analyse der Antwortcodes des Handelsservers ermöglicht es Ihnen, die Ursache eines Handelsfehlers zu verstehen und ihn zu korrigieren. Beschreiben Sie in den Nutzungsbedingungen:

  • alle Situationen, in denen Protokolleinträge vorgenommen werden;
  • jeweils zu berücksichtigende Parameter;
  • gewünschtes Aufnahmeformat, z.B. um Zeit, numerische Daten, Trennzeichen usw. anzuzeigen.

Detaillierte Protokolle beim Senden von Handelsaufträgen und der Verarbeitung der Ergebnisse ihrer Ausführung sparen Ihnen Zeit und Geld.

Ein wichtiger Punkt, den Anfänger algorithmischer Händler oft vergessen, ist die Situation, das Terminal neu zu starten, das Internet zu verlieren oder sich mit dem Handelsserver zu verbinden. In solchen Fällen schadet es nicht, über Feedback mit dem Roboter per Instant Messenger oder E-Mail nachzudenken.

Der Unterschied zwischen dem Handel bei der Eröffnung des Balkens und innerhalb des Balkens

... Signale können während der Lebensdauer des Balkens verschwinden und erscheinen

Tick-/Scalping-Strategien

... Sie müssen eine gute Vorstellung davon haben, was es ist, je weniger TakeProfit/StopLoss in Punkten, desto kritischer ist die Strategie für Spreads/Kommissionen/Netzwerkverzögerungen/Qualität der verfügbaren Historie/Geschwindigkeit des Roboters selbst.

Jede Verschlechterung der Bedingungen kann die Strategie zunichte machen

Gitter, Martingale, Mittelwertbildung und die Kehrseite dieser Verbesserungen

... Was sind sie, warum sind sie beliebt und wie sehr können sie dazu beitragen, die Strategie vorübergehend zu erweitern? Das Risiko steigt, obwohl es die Lebensdauer einer schlechten Strategie verlängern kann

Worauf Sie bei der Auswahl eines Auftragnehmers achten sollten

... inhaltliche Fragen

Gibt nicht vor zu beeindrucken

Gibt klare Fristen

Zeigt unklare Stellen im TOR sofort an, und nicht erst nach 2 Monaten Diskussion

Ein guter Programmierer schätzt seine und Ihre Zeit – deshalb liebt er ein gut ausgebautes konsistentes TOR

Was ein Programmierer nicht für Sie tun kann

Verwandeln Sie eine verlustreiche Strategie in einen profitablen Roboter

Optimieren Sie und identifizieren Sie alle Mängel

Schreiben Sie ein Programm ohne Fehler - sie werden immer noch sein. Diese zu finden und verständlich zu beschreiben, ist Ihre Aufgabe.