SkdonSeriesMulti
- Experten
-
Igor Bulyshev
Умный, красивый, в меру упитанный и талантливый трейдер-программист в полном расцвете сил!!)) - Version: 6.85
Expert Advisor für den langfristigen (lebenslangen) Multiwährungshandel mit 28 Währungspaaren (die Liste der Paare ist im Code festgelegt) im Zeitrahmen M30.
Liste der Währungspaare:
EURUSD, GBPUSD, AUDUSD, USDCAD, USDJPY, USDCHF, GBPJPY, EURJPY, AUDCAD, AUDJPY, CHFJPY, EURCHF, EURGBP, NZDJPY, NZDUSD, CADJPY, AUDCHF, AUDNZD, CADCHF, EURAUD, EURCAD, EURNZD, GBPAUD, GBPCHF, GBPCAD, GBPNZD, NZDCAD, NZDCHF.
Ziel des EAs:
Trendbewegungen erfassen und Risiken mit speziellen Mechanismen zur Mittelung, absichernden Orders und einem Notfallschutz verwalten.
Hauptstrategie:
Trendfolge unter Verwendung meines Indikators Skdon2, der an jedem abgeschlossenen Balken ein BUY- oder SELL-Signal ausgibt. Bei einem Signalwechsel schließt der EA alte Positionen nach einer bestimmten Regel und platziert eine Serie von 4 (die Anzahl ist einstellbar) ausstehenden Orders (BUYSTOP oder SELLSTOP) in Richtung des neuen Signals.
1. Was der EA im Allgemeinen tut
Er analysiert jedes Währungspaar im 30-Minuten-Zeitrahmen mit einem in den Code integrierten Indikator. Wenn der Indikator ein Kauf- oder Verkaufssignal gibt, eröffnet der EA eine Orderserie: eine Marktorder (sofort zum aktuellen Preis) und mehrere ausstehende Orders (oberhalb des Marktes für Käufe, unterhalb für Verkäufe) mit einem einstellbaren Abstand. Die Anzahl der ausstehenden Orders wird durch den Parameter InpPendingCount festgelegt (standardmäßig 4, wird aber im Tester zwangsweise auf 2 reduziert, um Limitfehler zu vermeiden). Wenn sich das Signal umkehrt, schließt der EA die alte Serie (vollständig oder teilweise) und eröffnet eine neue Serie in der neuen Richtung. Auf diese Weise folgt er dem Trend und dreht bei jedem Signalwechsel um.
2. Betriebsmodi
Der EA verfügt über drei Hauptmodi:
-
Modus 0 – Normal (Normalbetrieb): Der EA arbeitet mit voller Leistung: Er öffnet neue Serien, verwaltet sie und nutzt Kompensation und Trailing. Dies ist der Hauptmodus für den täglichen Handel.
-
Modus 1 – Exit Market (Ausstieg): Es werden keine neuen Serien eröffnet. Bestehende Serien werden weiterhin verwaltet (Trailing, Mittelung, Locks), aber sobald sie geschlossen sind, gibt es keine neuen. Dieser Modus wird verwendet, wenn Sie schrittweise aus dem Markt aussteigen möchten, ohne alles sofort zu schließen.
-
Liquidationsmodus (automatisch): Wird automatisch aktiviert, wenn der Verlust bei einem Paar einen bestimmten Prozentsatz des Kontostands überschreitet (standardmäßig 5 %). Bei Aktivierung:
-
Die Eröffnung neuer Serien wird unterbunden.
-
Es werden nur noch profitable Serien geschlossen, um Gewinne zu realisieren und den Gesamtverlust zu reduzieren.
-
Der Modus wird deaktiviert, wenn der Gesamtverlust unter den eingestellten Prozentsatz (standardmäßig 4 %) fällt oder keine Marktorder mehr vorhanden ist. Danach wird der normale Betrieb wieder aufgenommen.
-
3. Wie Serien eröffnet und geschlossen werden
Das Signal des Indikators Skdon2 wird an jedem neuen M30-Balken berechnet. Wenn sich das Signal ändert (z. B. von „Kaufen“ auf „Verkaufen“), geht der EA von einer Trendumkehr aus.
-
Wenn noch keine Serie existiert, wird bei einem Signal eröffnet:
-
eine Marktorder (Kauf oder Verkauf) – sofort,
-
mehrere ausstehende Orders (Kauf-Stop oder Verkauf-Stop) im Abstand StepDistance voneinander. Deren Anzahl wird durch den Parameter PendingCount festgelegt.
-
-
Wenn bereits eine Serie existiert und das Signal wechselt, geschieht Folgendes:
-
Zuerst werden alle ausstehenden Orders gelöscht.
-
Dann werden die Marktorders nach folgenden Regeln geschlossen:
-
Ist der Gesamtgewinn der Serie positiv, werden alle Marktorders der Serie geschlossen.
-
Ist der Gesamtgewinn negativ, werden nur die Orders im Plus geschlossen, während die Verlustorders offen bleiben (um Verluste nicht zu realisieren).
-
-
Anschließend wird eine neue Serie in der neuen Richtung eröffnet.
-
4. Kompensationsmodus (Mittelung und Locks)
Wenn bei einem Paar ein Verlust von mehr als 2,5 % des Kontostands anfällt, schaltet der EA für dieses Paar in den Kompensationsmodus. In diesem Modus kommen zum Einsatz:
-
Mittelung (Averaging): Die verlustreichste Order des Paares wird ermittelt. Wenn sich der Preis vom letzten Mittelungs-Order um die Distanz AveragingStepPoints entfernt, wird eine neue Order in derselben Richtung wie die Verlustorder eröffnet. Dadurch wird der durchschnittliche Einstiegspreis gesenkt. Das Lot jeder weiteren Mittelung wird mit dem Multiplikator AveragingMultiplier erhöht, jedoch gebrochen (das Startlot wird als Startlot / FractionSize verwendet). Dies ergibt ein sanftes Wachstum der Lots und keine sprunghafte Erhöhung. Sobald der Gesamtgewinn dieser Kompensationsserie (Zielorder + alle Mittelungen) den Zielwert (Startlot * 250) erreicht, wird die gesamte Serie mit Gewinn geschlossen.
-
Lock-Orders (Absicherungsorders): Sie werden eröffnet, wenn der Verlust 3 % übersteigt und ein Ungleichgewicht zwischen den gesamten Kauf- und Verkaufsvolumina besteht (Differenz größer als 0,01 Lot). Die Lock-Order wird gegen die vorherrschende Richtung eröffnet (bei mehr Käufen wird ein Verkauf eröffnet und umgekehrt). Dies sichert die Position teilweise ab. Das Lot des Locks = Ungleichgewicht * LockLotPercent / 100. Nach Eröffnung des Locks verringert sich das Ungleichgewicht, sodass der nächste Lock ein geringeres Volumen hat. Neue Locks werden nur in Richtung einer Verbesserung des vorherigen Locks eröffnet:
-
Für Verkaufs-Locks, wenn der Preis fällt (verbessert die Verkaufsposition).
-
Für Kauf-Locks, wenn der Preis steigt.
-
Der Abstand zwischen den Locks beträgt LockStepPoints . Dies verhindert häufige Lock-Eröffnungen auf demselben Niveau. Die Locks werden ebenfalls mit einem Trailing-Stop verwaltet (Trailing-Stop ist bei allen Orders des Paares im Kompensationsmodus aktiv, mit Ausnahme der Mittelungs-Orders).
-
Trailing-Stop: Wirkt nur auf Paaren im Kompensationsmodus. Für jede Order (außer Mittelungs-Orders) wird der Trailing aktiviert, sobald der Preis sich um mindestens TrailingActivation Punkte vom Eröffnungskurs entfernt hat. Danach wird der Stop-Loss auf den Abstand TrailingStopDist vom aktuellen Preis gesetzt, jedoch nicht häufiger als im Schritt TrailingStep . Dies ermöglicht es, Gewinne bei weiterer Preisbewegung zu sichern.
5. Zusätzliche Schutzmechanismen
-
Gap-Schutz (Gap Protection): Bei Eröffnung eines neuen M30-Balkens wird geprüft, ob es einen Kursprung (Gap) zwischen dem Schluss des vorherigen und der Eröffnung des aktuellen Balkens gab. Überschreitet die Gap-Größe den Schwellenwert GapThreshold , löscht der EA alle ausstehenden Orders für dieses Paar und schließt die Marktorders (bei positivem Gesamtgewinn alle, bei negativem nur die profitablen). Nach einer „Abkühlphase“ von 40 Sekunden wird das Signal neu berechnet und bei einem Wechsel eine neue Serie eröffnet.
-
Schließen alter Verlust-Orders: Alle 8 Minuten werden Marktorders überprüft, die länger als 35 Stunden offen sind und sich im Verlust befinden. Für diese „schlechteste“ Verlustorder sucht der EA nach profitablen Serien auf anderen Paaren und schließt sie, bis genügend Gewinn angesammelt ist, um den Verlust zuzüglich einer kleinen Reserve zu decken. Anschließend wird auch die alte Verlustorder geschlossen.
-
Schließen gegensätzlicher Orders: Wenn es auf einem Paar profitable Käufe und verlustbringende Verkäufe gibt (oder umgekehrt) und der Gewinn der einen Seite den Verlust der schlechtesten Order der Serie mit Reserve deckt, werden die profitablen Orders zusammen mit der schlechtesten Verlustorder geschlossen, um das Gesamtrisiko zu reduzieren.
6. Informationspanel
Auf dem Chart wird ein Panel mit zwei Blöcken angezeigt:
-
Linkes Panel: aktueller Modus, Liquidationsstatus, Zielgewinn, Liste der Währungspaare im Kompensationsmodus.
-
Rechtes Panel: Gewinn der letzten Tage, Anzahl der Orders, Volumina, alte Verluste, letzte Aktionen des Handelsroboters.
7. Beschreibung aller Einstellungen (Eingabeparameter)
Gruppe 1: Grundeinstellungen
-
Base magic number = 100 – Identifikationsnummer aller EA-Orders. Bei mehreren Kopien auf verschiedenen Konten ändern Sie diese Nummer, um Überschneidungen zu vermeiden.
-
Work mode = 0 – 0 = Normalbetrieb; 1 = Ausstiegsmodus (keine neuen Serien). Dient zum manuellen Beenden.
-
Risk percent = 30 – Beeinflusst die Losgröße. Je höher der Wert, desto größer das Lot. Z. B. Basis-Lot = Kontostand * 0,003 / 10000 (empirische Formel). Anpassen an Ihr Risiko empfohlen.
-
Minimum gap = 35 – Minimale Gap-Größe in Standardpunkten, bei der der Schutz auslöst. Für JPY-Paare: Punkt = 0,01, für andere: 0,0001.
-
Pending orders count = 4 – Anzahl der ausstehenden Orders, die zu jeder Marktorder bei Serieneröffnung hinzugefügt werden. Mehr = tiefere Grid.
-
Distance between pendings = 15 – Abstand zwischen ausstehenden Orders in Punkten. Beeinflusst die Grid-Dichte.
-
Show info panel = true – Informationspanel auf dem Chart anzeigen. Kann zur Ressourcenschonung und beim Testen deaktiviert werden.
Gruppe 2: Liquidationsmodus
-
Loss % to activate = 5.0 – Überschreitet der Verlust bei einem Paar diesen Prozentsatz des Kontostands, wird der Liquidationsmodus aktiviert.
-
Loss % to exit = 4.0 – Wenn der Gesamtverlust über alle Paare unter diesen Prozentsatz fällt, wird der Liquidationsmodus deaktiviert.
Gruppe 3: Kompensation und Trailing
-
Lock lot percent = 15.0 – Prozentsatz des Volumenungleichgewichts, der zur Berechnung des Lock-Lots verwendet wird.
-
Lock step points = 5 – Abstand zwischen Lock-Orders in Punkten. Ein neuer Lock wird nur eröffnet, wenn der Preis um diese Distanz in Verbesserungsrichtung abgewichen ist.
-
Averaging step points = 20 – Abstand zwischen Mittelungs-Orders. Eine neue Mittelung wird eröffnet, wenn der Preis diese Distanz vom vorherigen Mittelungs-Order entfernt ist.
-
Averaging multiplier = 1.7 – Faktor, um den das Lot jeder weiteren Mittelung erhöht wird. Werte > 1 ergeben steigende Lots.
-
Trailing activation = 18 – Wie viele Punkte der Preis vom Eröffnungskurs abweichen muss, damit der Trailing aktiviert wird.
-
Trailing stop distance = 15 – Abstand vom aktuellen Preis, auf den der Stop-Loss beim Trailing gesetzt wird. Sollte kleiner als die Aktivierung sein, damit der Stop im Gewinn liegt.
-
Trailing step = 2 – Minimale Änderung des Stop-Loss bei Aktualisierung. Schützt vor häufigen Modifikationen.
Gruppe 4: Bruchstückhaftes Schließen
-
Profit factor = 250.0 – Wird im Hilfsmechanismus zum Schließen gegensätzlicher Orders verwendet.
-
Fraction size = 5.0 – Größe des Bruchteils für Mittelungen. Das erste Mittelungs-Lot = Startlot / FractionSize. Kleinere Zahl = größeres erstes Mittelungs-Lot.
8. Wichtige praktische Hinweise
-
Beginnen Sie mit einem Demokonto, um das Verhalten des EAs mit Ihren Einstellungen zu verstehen.
-
Stellen Sie sicher, dass TrailingStopDist stets kleiner als TrailingActivation ist, da sonst der Trailing den Stop-Loss in den Verlust setzt.
-
Bei hoher Volatilität erhöhen Sie den GapThreshold sowie die Schritte (StepDistance, LockStepPoints, AveragingStepPoints), um häufige Auslösungen zu vermeiden.
-
Für aggressiven Handel erhöhen Sie LockLotPercent und AveragingMultiplier und verringern Sie die Schritte.
-
Der Liquidationsmodus ist der äußerste Schutz. Wenn er häufig auslöst, ist das Risiko zu hoch – reduzieren Sie RiskPercent oder erhöhen Sie die Aktivierungsschwellen.
-
Der EA ist vollautomatisch, benötigt jedoch eine stabile Internetverbindung und die Verfügbarkeit aller 28 Paare in der Symbolliste.
Vorteile des EAs
-
Multiwährung – 28 Währungspaare. Hohe Diversifikation reduziert die Abhängigkeit von einer einzelnen Währung.
-
Automatische Portfoliobereinigung – der Roboter liquidiert selbstständig alte Verluste und gegenläufige Positionen, ohne manuelle Kontrolle.
-
Globales Gewinnziel – regelmäßige Realisierung des Gesamtergebnisses, wodurch die Kapitalkurve geglättet wird.
-
Hohe Ausfallsicherheit – es sind Wiederholungsversuche bei Fehlern vorgesehen, Schutz vor unzureichender Balkenanzahl und Überprüfung der Handelsberechtigungen.
Risiken und deren Minimierung
-
Marktrisiko (plötzlicher Trendwechsel, große Verluste): Teilweiser Positionsschluss bei Signalwechsel + globales Ziel + Bereinigung alter Verlustorders. Verlustorders werden nicht wochen- oder monatelang gehalten.
-
Gaps (Wochenenden, wichtige Nachrichten): Spezieller Schutzalgorithmus: Bei Gap ≥ 35 Punkten (Schwellwert einstellbar) werden die ausstehenden Orders des Paares geschlossen, nach 40 Sekunden Abkühlphase erfolgt eine Neuanalyse des Indikators und Weiterarbeit.
-
Technischer Ausfall (Stromausfall, Neustart): Alle Zustände werden beim Neustart des Handelssystems wiederhergestellt: Die Richtung der Serien wird aus den vorhandenen Orders gelesen, der Indikatorstatus für jedes Währungspaar wird dauerhaft gespeichert und mit dem Status nach dem Systemneustart abgeglichen.
-
Drawdown nach Verlustserien: Dank des Algorithmus zur Erreichung des globalen Ziels und des Mechanismus zur Platzierung gegenläufiger Orders werden Verluste durch Gewinne der dominierenden Seiten kompensiert.
-
Betriebszeitraum: rund um die Uhr von Montag bis Freitag.
-
Der EA ist vollautomatisch und erfordert keinen manuellen Eingriff.
Viel Erfolg beim Handel!
Hinweis zu den Screenshots:
Auf den Screenshots werden Testergebnisse des EAs für verschiedene Währungspaare über 3 Jahre gezeigt. Bei den Tests wurden die Standardeinstellungen verwendet. Bitte beachten Sie, dass es sich um einen Multiwährungs-Handelsroboter handelt; beim Testen im Strategietester für ein einzelnes Währungspaar funktioniert der Algorithmus zum Schließen alter Verlustorders durch Gewinne von Orderserien auf anderen Paaren nicht.
Besonderheiten beim Testen
Für einen erfolgreichen Testlauf begrenzt der EA automatisch die Anzahl ausstehender Orders auf 2 und die Gesamtzahl offener Orders auf 30. Dies dient der Vermeidung von Fehler 148 (Überschreitung des Orderlimits).
