Spécifications
Dies ist der erste Versuch V1.0 den Auftrag eines Expert Advisors so gut wie möglich zu definieren.
Zunächst zu meinem Hintergrund. Ich habe Erfahrungen auf verschiedenen Handelsplattformen mit der Erstellung von Handelssystemen. Diese liessen sich modular erstellen. Z.B. mit dem Ninja Trader Strategy Builder. Diese hatten den Vorteil, dass man diese modular zusammen setzen konnte, und die Bedingungen für Ein- und Ausstiege flexibel definieren konnte. Man kann so Programmierzeit sparen, um die eigentlichen Handelsideen umzusetzen.
Wie Sie wissen, sind die Möglichkeiten funktionierende Handelssysteme mit Standard-Indikatoren umzusetzen sehr begrenzt. Insbesondere weil unbrauchbare Indikatoren verwendet werden, die nur selten zu stabil profitablen Ergebnissen führen und natürlich, weil fundamental marktbeeinflussende Ereignisse in reinen Preisstrategien nicht berücksichtigt werden.
Hier in meiner Definition werde ich dennoch versuchen mich auf Tools zu beschränken, die überwiegend mit einer Preismechanik funktionieren. Dabei sind klassische Oszillatoren oder Trendindikatoren für mich jedoch nicht brauchbar. Ich habe hunderte von Handelssystemen mit klassischen Indikatoren getestet, von denen keine auf akzeptable Weise dauerhaft erfolgreich war. Über ein simples Handelssystem, welches z.B. auf Überverkauft-, Überkauft-Signal reagiert oder auf kreuzende gleitende Durchschnitte beispielsweise brauchen wir uns daher nicht unterhalten. Insbesondere nicht auf eine Art und Weise, wie diese Indikatoren angeblich einzusetzen seien. Ich habe sehr viel Zeit mit klassischen Indikatoren verschwendet. Also widmen wir uns den Werkzeugen, die essentiell und notwendig sind. Jedenfalls meiner Ansicht nach.
Die Herausforderung wird darin bestehen, Bedingungen zu finden unter der diese nützlichen Tools in einem automatisieren Handelssystem einzubringen sind. Ob dies tatsächlich zum Erfolg führen wird, soll letztlich nicht das Problem des Programmierers sein.
Wie auch immer, ich denke ein Handelsautomat, der Positionen öffnet und schliesst auf Grund von bestimmten Kriterien unter Berücksichtigung von Risikoparametern, von zum Beispiel maximale Anzahl Positionen, verfügbare Margin, maximaler Geldbetrag, sollte für einen erfahrenen Programmierer kein Problem darstellen.
Viel wichtiger ist, wie wir die Indikatoren oder Tools einbinden können und wie wir es schaffen für den Anwender -also für mich- eine Schnittstelle schaffen. Programmierkenntnisse besitze ich, insofern sollte dies kein allzu grosses Problem sein.
Es soll möglich sein Handelssignale von ein oder mehreren Indikatoren(Tools) in die resultierende Handelsentscheidung einfliessen zu lassen. Dazu sollte man natürlich die signifikanten Daten eines Indikators adressieren und abfragen können.
Doch kümmern wir uns zunächst um die Werkzeuge (indikatoren), die ich für notwendig erachte.
1.) Ein ZigZag-Indikator mit der Möglichkeit die Parameter frei zu wählen.
2.) Ein Fibonacci-Tool, welches die Möglichkeit bietet, eine beliebige Auf- oder Abwärtsdiagonale, einer Zig-Zag-Diagonale zu addressieren und sich der Grad des Retracements, so wie der Grad der Expansion ermitteln lässt, bzw. daraus unter Zuhilfenahme eines wählbaren Faktors als Handels-Limit berechnen lässt.
3.) Einen Volumenindikator, mit dem sich Volumenspitzen herausarbeiten lassen. Z.B. Volumen liegt mit einer Prozentzahl x über dem durchschnittlichen Maximalvolumen. Ein Indikator welcher die Kerzenlänge in Relation zum Volumen bringt, könnte auch zum Vorteil sein. Aber dies erstmal nur am Rande.
4.) Volumen Profil (Volume Profile) in der POC und Low Volume Node angezeigt werden. Bzw Low Volume Area. Wichtig sind jedenfalls die POCs. Das Volume Profile sollte natürlich mit Hilfe von Parametern auf verschiedene Zeitspannen einstellbar sein.
4a) Ich finde es wichtig, dass man bestimmte POCs addressieren kann und die Differenz zu einem Zig-Zag-Low oder -High ermitteln kann. Mit Hilfe dieser Grösse und einem frei wählbarem Faktor soll damit ein Preis-Target festgelegt werden können.
5.) Fraktale. In der Standardversion ist der Fraktal-Indikator etwas dürftig. Die Empfindlichkeit, nach der Fraktale gesetzt werden sollte jedenfalls über Parameter eingestellt werden können. Vielleicht kennt der Programmierer die JForex-Plattform. Dort lässt sich die Empfindlichkeit, die Auslöseschwelle der Fractale einstellen.
6.)In der Spezifikation für die Symbole gibt es Informationen über Swap-Long und Swap-Short. Ich fände die Information nützlich, wann der Broker die Swap-Sätze auf welche Höhe ändert. Da wären also Datensätze notwendig, die nicht über den reinen Datenfeed kommen. Könnte man diese Informationen nicht, wie einen Indikator unter dem Chart mitlaufen lassen? Wie schwer ist so etwas zu realisieren?
7.)Es gibt saisonale und tageszeitabhängige Unterschiede im Forexhandel. Toll fände ich z.B. wenn man die Termine der Zentralbanken im Chart sehen könnte. Und 7b) Man sollte Handelsentscheidungen auch von bestimmten Zeiten abhängig machen können. Z.B Handele nur von 09:00-22:00 Uhr meiner Lokalzeit. Oder handele nicht zwischen 1:00 und 4:00 beispielsweise. Natürlich frei wählbar.
Ein Bild sagt mehr als tausend Worte:
Auf dem Bild sieht man die Informationen, die für mein Handelssystem am Wichtigsten sind.
Mit Hilfe der verwendeten Werkzeuge sollten sich Bedingungen frei definieren lassen. Zum Beispiel:
-Nehme die Distanz vom letzten Zig-Zag-Tief zum darüber liegenden POC, nehme diese mit einem frei definierbaren Faktor mal und berechne daraus mein Profit Target. Setze den Stop Loss absolut oder wahlweise prozentual unter das letzte ZigZag-Tief.
-oder: Nehme die Abwärtsdiagonale -von 183.4 bis -230.4-, setze beim Retracement der Abwärtsdiagonale bei z.B. 23 Prozent ein Sell Limit und setzte das Profit Target bei der Fib-Expansion der Abwärtsbewegung von beispielsweise 130 Prozent.
-oder: Nehme das letzte Zigzag-Tief als vorläufiges absolutes Tief, gehe long durchlaufe 2 Down-Fraktale und verkaufe dann zum nächsthoeheren oder naechsttieferen POC.
... etc.
Ich hoffe, es wird daraus deutlich, welche Intention dahinter steckt.
Die Probleme, die ein MQL5-Programmierer mit der Umsetzung haben kann sind mir nicht hundertprozentig klar. Also sollten wir versuchen zu klären, wo es besondere Probleme geben kann oder manche Teilaufgaben zu aufwändig. Ausserdem machen Sie mir bitte deutlich welche Teilaspekte wir noch näher besprechen müssen. Und wie sie Ihren Arbeitsaufwand in der gebotenen Preisspanne für realisierbar halten. Verbesserungen sollten nachträglich auch noch möglich sein. Natürlich zu einem angemessenen Betrag.
Falls es Ihnen zu aufwändig sein sollte zu dem Preis, teilen Sie mir dies bitte mit.
Also: Auf eine gute Zusammenarbeit.
Bitte erlauben Sie mir jeweils einige Tage Reaktionszeit. Das Projekt ist nicht allzu eilig. Das Ziel wäre mal grob bis Sommer 2022. Wichtiger ist mir, dass es gut und zuverlässig funktioniert.