Automatisierung und Screening in der technischen Analyse – Werkzeuge, Arbeitsablauf und Fallstricke
Ein Screener sollte dieselbe Regel auf die gesamte dokumentierte Instrumentenliste anwenden. Die entscheidende Frage nach einem Scan lautet deshalb: Bedeutet ein leeres Ergebnis, dass es kein Setup oder keine Daten gibt? Dieses Kapitel führt von der Definition eines Setups zu vollständigem Pseudocode, einem Alarmregister und einem Test außerhalb der zur Parameterauswahl verwendeten Stichprobe. Wir trennen die Erkennung eines Kandidaten von der Übermittlung einer Order. Automatisierung kann Arbeit sparen, aber auch einen Fehler schnell und konsequent wiederholen.

- Ein Screener wählt Kandidaten aus. Sein Nutzen kann in einer kürzeren Durchsicht bei weiterhin vollständiger Abdeckung der Liste liegen. Um seine Auswirkungen auf finanzielle Ergebnisse zu beurteilen, benötigt man zusätzlich eine festgeschriebene Regel für Einstieg, Ausstieg und Kosten.
- Ein Alarm hat einen definierten Geltungsbereich. Er ersetzt nicht die Prüfung von Bedingungen außerhalb dieses Bereichs. Weniger Bildschirmzeit ist messbar; wir unterstellen nicht, dass sich Disziplin oder Ergebnisse automatisch verbessern.
- Ein Backtest ist ein Modell. Ein Tester kann historische Spreads, Provisionen und angenommene Slippage berücksichtigen. Er kann nicht jeden verfügbaren Preis oder die künftige Reaktion des Brokers nachbilden, einschließlich einer Requote. Die Anpassung eines Modells an die Vergangenheit beweist keinen künftigen Handelsvorteil.
- Automatisierungsstufen sind eine beschreibende Konvention. Ein Alarm, ein Filter und ein System zur Orderausführung haben unterschiedliche Aufgaben. Die vollständige Ausführung erfordert außerdem die Behandlung von Fehlern, Duplikaten und Kontozuständen; ein Signal allein reicht nicht aus.
1. Warum automatisieren – und was genau wird automatisiert?
Die acht Währungen USD, EUR, GBP, JPY, CHF, AUD, NZD und CAD bilden 8 × 7 / 2 = 28 ungeordnete Paare. Das ist ein ausgewähltes Universum, nicht der gesamte Forex-Markt oder eine Messung der „am meisten beobachteten“ Instrumente. Ein Broker kann eine andere Liste anbieten. Dokumentieren Sie vor dem Scan die Symbole, die Notierungsrichtung und die Listenversion. Wir prüfen Filter auf Basis von gleitenden Durchschnitten, Oszillatoren und Unterstützungs-/Widerstandszonen unter demselben Datenvertrag.
Ein Screener wendet eine dokumentierte Bedingung auf eine Liste an. Das Ergebnis besteht aus Kandidaten und einem Bericht über die Abdeckung. Eine spätere manuelle oder automatische Entscheidung kann einen Kandidaten ablehnen; bewahren Sie dieses Ergebnis gesondert auf.
Ein Screener führt eine wiederholbare Durchsicht durch, ohne Lieblingscharts auszuwählen, allerdings nur innerhalb seiner Konfiguration. Eine Liste von 28 Paaren in den Einstellungen beweist nicht, dass alle aktuelle Daten erhalten haben. Der Bericht muss auch einen Eintrag für ein Paar ohne Signal und für ein nicht bewertbares Paar enthalten.
Ein RSI unter 30 ist das Ergebnis einer Bedingung, keine Kaufanweisung. Wenn zusätzliche Price-Action-Analyse oder eine Kontextanalyse den Einstieg bestimmt, dokumentieren Sie auch Ablehnungen. Andernfalls erfasst der Screener-Test nur passend ausgewählte Trades.
2. Das Automatisierungsspektrum: vom Alarm zum Algorithmus
Die folgenden fünf Stufen ordnen den Funktionsumfang. Sie sind eine Konvention dieses Kurses, keine Rangliste des optimalen Weges für die meisten Trader. Eine höhere Stufe erfordert zusätzliche Kontrollen, ist für eine bestimmte Aufgabe aber nicht unbedingt besser.
| Stufe | Aufgabe der Maschine | Aufgabe des Traders | Beispiele |
|---|---|---|---|
| 1. Preisalarm | Meldet das Erreichen eines Preisniveaus | Analysiert, entscheidet, führt aus | Alarm bei EUR/USD = 1,0700 |
| 2. Indikatoralarm | Meldet die Erfüllung einer Indikatorbedingung | Analysiert den Kontext, entscheidet | RSI(14) < 30 auf D1 |
| 3. Screener | Filtert die Instrumentenliste nach Kriterien | Prüft die Ergebnisse, analysiert, entscheidet | TradingView Screener |
| 4. Halbautomatisches System | Erzeugt ein Signal und vorgeschlagene Parameter | Bestätigt oder verwirft, verwaltet die Position | Benutzerdefinierter Indikator und Pine-Script-Alarm |
| 5. Vollautomatisierung | Analysiert, eröffnet, verwaltet, schließt | Überwacht, greift in Notfällen ein | Expert Advisor (EA) in MT4/MT5 |
Ein fertiger Filter oder Alarm erfordert nicht immer Programmierung. Er benötigt dennoch eine Konfiguration, eine Datenquelle und einen Funktionstest. Halbautomatische und automatische Ausführung bringen ein gesondertes Problem mit sich: Eine korrekt erkannte Bedingung kann anders als erwartet oder gar nicht ausgeführt werden.
Dieser Artikel konzentriert sich auf die Stufen 1 bis 4. Vollautomatisierung (EAs) erscheint hier vor allem im Zusammenhang mit Fallstricken – denn dort landen viele, wenn sie zu früh zu einem Roboter greifen.
3. Screening-Kriterien in der Praxis
Beginnen Sie mit der Beobachtung, die Sie finden möchten, und übersetzen Sie sie dann in Bedingungen. Ein selektiver Filter ist nur nützlich, wenn er die beabsichtigten Fälle findet und meldet, was er nicht beurteilen konnte. Die Anzahl der Ergebnisse allein sagt nichts über seine Güte aus.
Checkliste zur Objektivierung einer Regel
Bevor eine Bedingung in den Scanner gelangt, muss sie von der Sprache der Intuition in die Sprache einer Maschine übersetzt werden. Jeden der folgenden Punkte, den Sie nicht ausdrücklich festlegen, legt der Scanner für Sie fest – meist anders, als Sie annehmen:
| Element | Kontrollfrage |
|---|---|
| Universum | Welche Instrumente werden gescannt – eine abgeschlossene Liste statt „alles“? |
| Datenquelle | Wessen Feed und welche Preise (Bid, Ask, Mid)? Dieselben, auf denen ich handle? |
| Zeiteinheit und Bewertungszeitpunkt | Welche Kerzen – nur abgeschlossene? Wann genau wird die Bedingung berechnet? |
| Indikator einschließlich Implementierung | Welche Parameter und wessen Implementierung (Wilders RSI ≠ RSI auf Basis eines SMA)? |
| Operator und Schwellenwert | Ein Kreuzen des Schwellenwerts oder ein Zustand darunter/darüber? Mit welcher Toleranz? |
| Scan-Häufigkeit | Einmal je abgeschlossener Kerze, einmal täglich zu einer festen Uhrzeit oder fortlaufend? |
| Fehlende Daten | Wie behandelt die Regel eine fehlende Kerze, eine Lücke oder einen Symbolwechsel? |
| Deduplizierung | Wie viele Alarme entstehen, wenn die Bedingung sechs Kerzen hintereinander erfüllt bleibt – sechs oder einer? |
| Rücksetzbedingung | Was macht das Signal ungültig und erlaubt ein erneutes Auslösen der Regel? |
Drei getrennte Messgrößen. Scan-Dauer und Datenabdeckung messen Komfort und Zuverlässigkeit. Die Übereinstimmung mit einem unabhängig markierten Referenzmuster misst die Erkennung der Bedingung. Finanzielle Ergebnisse erfordern die gesamte Strategie einschließlich verworfener Kandidaten, Reaktionspreise und Kosten. Das Erreichen des TP allein definiert kein „korrektes“ Screener-Ergebnis, und eine unveränderte Trefferquote widerlegt keine Zeitersparnis. Vergleichen Sie mit der ungefilterten Variante auf derselben vorab zurückgelegten Stichprobe.
Trendfilter
- Preis relativ zu EMA/SMA. Ein Preis oberhalb eines steigenden 200er-EMA auf D1 kann einen Richtungsfilter definieren. Dieser verwirft Kandidaten, die diese Bedingung nicht erfüllen, und nicht unter jeder Marktdefinition sämtliche „Gegentrend“-Trades. Ein Preis genau auf dem Durchschnitt oder eine flache Steigung erfordert eine ausdrückliche Festlegung.
- Kreuzung gleitender Durchschnitte. Die Bedingung EMA 50 zuvor ≤ EMA 200 und jetzt > EMA 200 erkennt einen Übergang. Sie ist weder ein Kreuzkurs noch ein Beleg für eine Änderung der künftigen Preisrichtung. Beide Werte müssen aus vollständigen Kerzen derselben Reihe stammen.
- ADX oberhalb eines Schwellenwerts. Beispielschwellen aus etablierter Konvention: ADX(14) > 25 gilt als Trendmarkt, < 20 als Konsolidierung – wobei ADX die Stärke einer Bewegung misst, nicht ihre Richtung. Er eignet sich vor allem als Negativfilter: Unterhalb der Schwelle verwirft eine Trendregel das Instrument entsprechend dem gewählten Parameter.
Momentum- und Oszillatorfilter
- RSI in Extremzonen. Beispielschwellen für den RSI(14) sind 30 und 70. Ihre Häufigkeit hängt vom Instrument, der Zeiteinheit, der Periode und der Initialisierungsmethode ab. Überverkauft ist kein eigenständiges Kaufsignal, überkauft kein Verkaufssignal. Ohne Untersuchung schreiben wir D1-Extremen keinen höheren Informationswert als H1-Extremen zu.
- Divergenz. Swing-Punkte, die Zuordnung der Preis- und Oszillatorextreme sowie der Bestätigungszeitpunkt müssen definiert werden. Mit diesen Definitionen lässt sich auch ein komplexes Muster berechnen. Eine manuelle Beurteilung „mehrwelliger“ Divergenzen ohne Regeln lässt einen Ermessensspielraum bei der Auswahl, der sich in einem Test kaum fair reproduzieren lässt.
- MACD-Histogramm – Vorzeichenwechsel. Das Histogramm kreuzt die Nulllinie von unten – in dieser Implementierung bedeutet das eine Änderung des Verhältnisses zwischen MACD-Linie und Signallinie, keinen Beleg für eine Änderung der Preisrichtung. Leicht zu programmieren und häufig als Vorfilter für weitere Analysen verwendet.
Preis- und Strukturfilter
- Nähe zu Unterstützung/Widerstand. Definieren Sie Zone und Toleranz in derselben Einheit wie den Preis. Ein Alarm an einer manuell markierten Zone kann die Durchsicht erleichtern, doch seine Wirksamkeit muss getestet werden; sie ergibt sich nicht aus der einfachen Konfiguration.
- Ausbruch aus einer Spanne von N Kerzen. Beispielsweise: Schlusskurs einer abgeschlossenen Kerze > höchstes Hoch der vorherigen 20 vollständigen Kerzen. Die geprüfte Kerze gehört nicht zum Maximumfenster; Gleichheit ist in der strikten Variante kein Ausbruch. Das ist eine Donchian-Konvention, kein automatisches Gewinnversprechen.
- Fibonacci. Definieren Sie bestätigte Swing-Endpunkte und die Toleranz um ein Retracement. Die verzögerte Bestätigung wird in Artikel 5.11 beschrieben. Die Berechnung eines Niveaus beweist nicht, dass der Preis darauf reagieren wird.
Bearbeiten Sie eine Kerze, bevor Sie den vollständigen Vertrag lesen
Verwenden Sie Unterstützung S=1.1000 und den eingefrorenen ATR A=0.0040. Die Zone ist [1.0992;1.1008]; eine Invalidierung erfordert C < 1.0980; die erneute Aktivierung erfordert C ≥ 1.1040 und L > 1.1008. Nehmen Sie an, dass die angegebenen EMA-Bedingungen bei jeder Signalprüfung erfüllt sind.
- Fehlende oder ungültige Daten: diesen Zustand erfassen und neue Alarme aussetzen.
- Ein Schlusskurs unter der Invalidierungsgrenze beendet diesen Kontext.
- Bei deaktiviertem Zustand die erneute Aktivierung für die nächste Kerze prüfen. Für diese Kerze keinen Alarm ausgeben.
- Bei aktiviertem Zustand kann eine Überschneidung der Kerzenspanne mit der Zone bei C > S einen Kandidaten erzeugen, wenn der EMA-Filter erfüllt ist.
Die folgende Ablaufspur liefert die Zahlen. Es handelt sich um Modelleingaben, nicht um rekonstruierte Markthistorie. Der spätere Vertrag ergänzt Kontrollen, die diese Bedeutung bei wiederholten Daten oder Anfragen bewahren.
Spielen Sie den Alarmzustand nach, ohne die nächste Kerze zu sehen
Behalten Sie S, den eingefrorenen A, die Zweigreihenfolge und den Kontext bei. Die ersten sechs Entscheidungen verwenden die veröffentlichte Ablaufspur einschließlich ihres Wiederholungsversuchs. Die abschließende Lücke ist ein eigener Fall. Entscheiden Sie, bevor Sie die Prüfung aufdecken; Antworten sind auch ohne Notizen zugänglich.
Schritt 1. Aktiviert. L=1.1007,H=1.1015,C=1.1010.
Die Notiz ist optional. Bewahren Sie eine Kopie auf, falls der Browserspeicher nicht verfügbar ist.
Diesen Schritt prüfen und den nächsten aufdecken
SIGNAL. Die Spanne überschneidet die Zone, C > S und der vorausgesetzte EMA-Filter ist erfüllt. Diesen Kontext deaktivieren.
Schritt 1 — Wiederholungsversuch. Derselbe Schlüssel und Eingabe-Hash treffen erneut ein.
Die Notiz ist optional. Bewahren Sie eine Kopie auf, falls der Browserspeicher nicht verfügbar ist.
Diesen Schritt prüfen und den nächsten aufdecken
Das vorhandene SIGNAL zurückgeben. Nicht anhand des inzwischen deaktivierten Zustands neu beurteilen und keine weitere Benachrichtigung senden.
Schritt 2. Deaktiviert. L=1.1010,H=1.1042,C=1.1040.
Die Notiz ist optional. Bewahren Sie eine Kopie auf, falls der Browserspeicher nicht verfügbar ist.
Diesen Schritt prüfen und den nächsten aufdecken
REARM für die nächste Kerze. C entspricht der zulässigen Schwelle und L liegt über 1.1008. Jetzt kein Alarm.
Schritt 3. Aktiviert. L=1.1007,H=1.1025,C=1.1010; der EMA-Filter ist erfüllt.
Die Notiz ist optional. Bewahren Sie eine Kopie auf, falls der Browserspeicher nicht verfügbar ist.
Diesen Schritt prüfen und den nächsten aufdecken
SIGNAL für diesen neuen Kerzenschlüssel, danach deaktivieren.
Schritt 4. Deaktiviert. L=1.0975,H=1.1014,C=1.0980.
Die Notiz ist optional. Bewahren Sie eine Kopie auf, falls der Browserspeicher nicht verfügbar ist.
Diesen Schritt prüfen und den nächsten aufdecken
DISARMED. Gleichheit erfüllt C < 1.0980 nicht. Auch die erneute Aktivierung scheitert.
Schritt 5. Deaktiviert. L=1.0974,H=1.0982,C=1.0979.
Die Notiz ist optional. Bewahren Sie eine Kopie auf, falls der Browserspeicher nicht verfügbar ist.
Diesen Schritt prüfen und den nächsten aufdecken
INVALIDATED. Das alte Zentrum verwerfen; ein neues bestätigtes Fraktal ist erforderlich.
Schritt: separate Lücke. Anstelle eines vollständigen Datensatzes verhindert ein Datenfehler die Beurteilung.
Die Notiz ist optional. Bewahren Sie eine Kopie auf, falls der Browserspeicher nicht verfügbar ist.
Diesen Schritt prüfen und den nächsten aufdecken
NO_DATA. Kein NO_SIGNAL erfinden und innerhalb der Lücke weder erneute Aktivierung noch Invalidierung ableiten. Alarme aussetzen, bis der Kontext wiederhergestellt ist.
Die vollständige Ablaufspur lesen
Dasselbe Niveau, aufeinanderfolgende Alarmzustände
Gehen wir die Regel durch, ohne Schwellen nach Kenntnis des Ergebnisses zu ändern. Die Unterstützung S = 1,1000 stammt aus einem vor dem ersten geprüften Tag bestätigten Fraktal. Der damals festgeschriebene ATR A = 0,0040 beziehungsweise 40 Pips definiert die Zone [1,0992; 1,1008], die Ungültigkeit bei C < 1,0980 und die Reaktivierung bei C ≥ 1,1040 und L > 1,1008. Dies sind Modellparameter, keine empfohlenen EUR/USD-Werte. Fraktalzentrum und A bleiben im gesamten Beispiel unverändert.
| Schritt | L / H / C | Zustand zuvor | Ergebnis |
|---|---|---|---|
| 1 | 1,1007 / 1,1015 / 1,1010 | Aktiviert | Spanne schneidet die Zone, C > S: Alarm und Deaktivierung |
| 1 – Wiederholungsversuch | Derselbe Schlüssel und Eingabe-Hash wie in 1 | Bestehender SIGNAL-Datensatz | Früheres Ergebnis zurückgeben; keine neue Bewertung, Zustandsänderung oder Benachrichtigung |
| 2 | 1,1010 / 1,1042 / 1,1040 | Deaktiviert | C entspricht der Reaktivierungsschwelle, L liegt über der Zone: für den nächsten Schritt aktivieren, kein Alarm |
| 3 | 1,1007 / 1,1025 / 1,1010 | Aktiviert | Neuer Test: zweiter Alarm, anderes Kerzenende und anderer Schlüssel |
| 4 | 1,0975 / 1,1014 / 1,0980 | Deaktiviert | Gleichheit macht die strikte Regel nicht ungültig; keine Reaktivierung und kein Alarm |
| 5 | 1,0974 / 1,0982 / 1,0979 | Deaktiviert | C < 1,0980: Kontext ungültig |
In den Schritten 1 und 3 ist der deklarierte EMA-Filter erfüllt: Der Schlusskurs liegt über dem EMA, und der aktuelle EMA liegt über seinem Wert 20 Kerzen zuvor. Die Tabelle rekonstruiert keine 500 Kerzen für die Warmlaufphase; diese zwei Bedingungen sind Eingaben eines logischen Modells, keine dokumentierten Marktwerte. Die Wiederholung von Schritt 1 muss dasselbe SIGNAL zurückgeben; es darf nicht mit dem inzwischen deaktivierten Zustand neu berechnet und als DISARMED überschrieben werden. Bei einer Revision rekonstruieren wir den Zustand vor dieser Kerze und die nachfolgenden abhängigen Zustände getrennt und erhalten den ursprünglichen Lauf. Schritt 2 kann nicht gleichzeitig aktivieren und einen Alarm ausgeben, weil der Zustand zu Beginn der Bewertung deaktiviert war. Die Reihenfolge der Zweige gehört zur Definition und ist kein technisches Detail.
Nach Schritt 5 bleibt das alte Fraktal als ungültig archiviert. Der Scan des nächsten Tages darf es nicht in „neueste Unterstützung“ umbenennen und aus demselben Zentrum einen neuen Alarm erzeugen. Dafür wird ein neues bestätigtes Fraktal benötigt. Der Ablauf nach 60 Kerzen ist ein gesonderter Zustand: Er tritt auch ohne Überschreiten des Ungültigkeitsniveaus ein. Fehlen zwischen Schritten Daten, wissen wir nicht, ob in der Lücke eine Reaktivierung oder eine Ungültigkeit eingetreten ist; melden Sie die Unterbrechung und setzen Sie neue Alarme bis zur Rekonstruktion des Kontexts aus.
Eine Revision von Hoch/Tief kann die Fraktalqualifikation ändern. Bewahren Sie den ursprünglichen Snapshot, das damals verfügbare Ergebnis und die damit verknüpfte spätere Korrektur auf. „Wie funktionierte die Regel mit endgültigen Daten?“ und „Was hätte sie damals tatsächlich senden können?“ sind zwei verschiedene Experimente. Beide sind zulässig, ihre Datensätze dürfen aber nicht vermischt werden. Die beigefügte Zustands-CSV liefert Material zur Überprüfung einer Implementierung, ohne Orders aufzugeben.
Von der Intuition zur Bedingung – die vollständige Regel und was bei der Übersetzung verloren geht
Intuition: „Rückpraller an einer Unterstützung in einem Aufwärtstrend auf D1 kaufen.“ Derselbe Gedanke so formuliert, dass ihn ein Scanner ausführen kann:
Die vollständige Version hat vier Aufgaben: einen versionierten Datenstand abrufen; Kontext einfrieren; die Kerze aus ihrem ursprünglichen Zustand beurteilen; das Ergebnis speichern und eine deduplizierte Benachrichtigung zustellen. Lesen Sie die Zweige der Reihe nach. Ein Wiederholungsversuch ist keine neue Kerze, eine Korrektur kein ursprünglicher Alarm.
Den vollständigen Daten-, Zustands- und Zustellungsvertrag lesen
PSEUDOCODE: KANDIDAT FÜR EINEN „UNTERSTÜTZUNGSTEST“, KEINE ORDER
Festgeschriebene Konfiguration: Version, 28 Paare, BID-Feed, D1, Kalender,
EMA: α=2/201, initialisiert mit dem SMA der ersten 200 C; Wilder-ATR(14):
Startwert = Mittelwert der ersten 14 TR mit vorherigem C, danach α=1/14;
mindestens 500 vollständige Kerzen zum Warmlaufen sind eine Modellentscheidung, keine Konvergenzgarantie.
Symbolzustand: Niveau S, ATR A, Identifikationsintervall, aktiviert/deaktiviert.
Zu Beginn von t einen unveränderlichen Kontext-Snapshot aus vor start_t bekannten Daten speichern:
Er dokumentiert Eingaben für t, ohne den laufenden Aktivierungszustand zu ändern; ein Wiederholungsversuch nutzt diesen Snapshot.
Der Zustand vor t und das Zentrenarchiv stammen von der zuletzt zuvor verarbeiteten Kerze.
Das letzte strikte untere Fraktal mit 2 Kerzen auf jeder Seite auswählen,
das vor start_t bestätigt und empfangen wurde und höchstens 60 Kerzen alt ist;
gleiche Tiefs bilden kein striktes Fraktal; keines vorhanden = NO_LEVEL.
Neuen Kontext durch Feed und Fraktalzentrum identifizieren. Ungültig gewordene Zentren
im Register behalten; aus demselben Zentrum keinen Kontext erneut erzeugen.
Für neuen Kontext A := vor start_t bekannter ATR; unverändert beibehalten
bis zum Ablauf, zur Ungültigkeit oder zu einem neuen bestätigten Zentrum.
Nach 60 Kerzen ab dem Zentrum EXPIRED speichern; keinen Alarm ausgeben.
Wenn A ≤ 0 oder der Wert fehlt: NO_VALUE, ohne Signal.
Zone [S − 0.2A; S + 0.2A] und Ungültigkeitsbedingung C < S − 0.5A speichern.
Ein neues bestätigtes Fraktal erzeugt neuen Kontext, vor dem Test aktiviert.
Nach Ende von t für JEDES Symbol im vollständigen Universum:
Key := (version, feed, symbol, D1, end_UTC).
Vollständige OHLC von t und known_at sowie den gespeicherten Kontext-Snapshot vor start_t abrufen.
Der Eingabe-Hash umfasst OHLC, Indikatorhistorie, Kontext, Konfiguration und Datenversionen.
Existieren dieser Schlüssel und Hash: früheres Ergebnis ohne Bewertung oder Zustandsänderung zurückgeben.
Existiert der Schlüssel mit anderem Hash: Revision anhängen und einen getrennten Replay
vom eingefrorenen Zustand vor t ausführen; t nicht mit dem bereits durch t veränderten Zustand bewerten.
Korrekturen der Historie vor t erfordern einen Replay ab der ersten geänderten Eingabe.
Ursprüngliches Ergebnis/known_at erhalten; Replay-Ergebnis als spätere Korrektur kennzeichnen.
Korrektur nicht als neuen ursprünglichen Alarm senden; Bearbeitung des Symbols beenden.
Bei der ersten Bewertung eine Kopie des Zustands vor t und den Kontext-Snapshot verwenden;
L ≤ min(O,C) ≤ max(O,C) ≤ H prüfen.
Sitzungskontinuität, Feed, Preiskomponente, Preisschritte und Warmlaufphase prüfen.
Datenfehler: NO_DATA speichern; Zustand erhalten; keinen Alarm ausgeben.
Wenn C_t < S − 0.5A: INVALIDATED speichern, Kontext entfernen; Symbol abschließen.
War der Zustand deaktiviert:
wenn C_t ≥ S + A AND L_t > S + 0.2A: für die NÄCHSTE Kerze aktivieren;
REARM oder DISARMED speichern; auf derselben Kerze keinen Alarm ausgeben.
War der Zustand aktiviert:
trend := C_t > EMA200_t AND EMA200_t > EMA200_(t−20).
test := H_t ≥ S − 0.2A AND L_t ≤ S + 0.2A AND C_t > S.
signal := trend AND test.
SIGNAL oder NO_SIGNAL mit sämtlichen Operanden speichern.
Bei einem Signal den Kontext deaktivieren; ein neuer Alarm erst nach einem künftigen REARM.
Jeder abschließende Zweig speichert Ergebnis, Eingaben sowie Zustand vor und nach t.
Datensatz und Zustand einmalig in einer Transaktion mit eindeutigem Schlüssel festschreiben;
bei einem Konflikt durch Wiederholung den bestehenden Datensatz ohne zweite Änderung zurückgeben.
Die Benachrichtigung anhand dieses Schlüssels identifizieren, auch beim Fortsetzen der Zustellung.
Kerzenenden chronologisch verarbeiten; eine Datenlücke blockiert weitere Alarme,
bis der Kontext wiederhergestellt ist; sie darf nicht in NO_SIGNAL umgedeutet werden.
Nach dem Scan expected/evaluated/missing/candidates melden, auch wenn candidates = 0.
Der Alarm enthält end_t, known_at, version, S, A und Bedingungen; keine Ausführungsfunktion.
Die Übersetzung legt Entscheidungen offen. Unterstützung bedeutet ein bestätigtes Fraktal, die Zone beträgt ±0.2 × eingefrorener ATR, und eine Prüfung verlangt die dokumentierte Spannenüberschneidung und den Schlusskurs. W1-Kontext und diskretionäre Kerzenqualität gehören nicht zu dieser Regel. Die erneute Aktivierung eines Alarms und die Invalidierung der Unterstützung bleiben getrennte Ereignisse. Eine andere Definition braucht eine andere Version.
Makrokontext und Kostenfilter – was kein Screener allein zeigt
Ein Kalender-, Spread- oder Rollover-Filter ist eine eigenständige Regel. Eine optimale Dauer von 30 oder 60 Minuten wird hier nicht festgestellt. Dokumentieren Sie, welche Ereignisse er erfasst, woher deren Termine stammen und ob er neue Kandidaten, neue Orders oder auch die Behandlung bestehender Positionen verändert.
- Kalenderfilter. Ein beispielhaftes Verfahren kann neue Kandidaten zwei Stunden vor einem ausgewählten Ereignis verwerfen. Das ist ein zu testender Parameter, keine allgemeingültige Anforderung. Prüfen Sie den Termin beim Herausgeber und unterscheiden Sie geplanten Zeitpunkt und tatsächliche Veröffentlichung; „Hohe Bedeutung“ ist die Einstufung des Kalenderanbieters.
- Spread-Filter. Der Schwellenwert wird mit Einheit und Vergleichsbasis ausdrücklich angegeben. Das Doppelte eines zuvor für das Paar und die Tageszeit gemessenen Niveaus kann eine neue Anweisung blockieren. Es erklärt nicht die Spread-Ausweitung und schützt keine bestehende Position.
- ATR-Filter. ATR > 1,2 × Mittelwert der vorherigen N Werte beschreibt die Überschreitung einer ausgewählten Schwelle. Ein Wert darunter bedeutet nicht automatisch einen „dünnen Markt“. Änderungen an SL, TP und Volumen erfordern eine dokumentierte Regel; sie ergeben sich nicht zwangsläufig allein aus dem ATR.
Behalten Sie die spätere Beurteilung von Mustern, Kontext und Risiko als getrennte Regeln bei. Ändert eine davon, ob gehandelt wird, bewahren Sie ihre Eingaben und den Ablehnungsgrund auf.
Filter können in verschiedenen Regimen unterschiedlich viele Ergebnisse liefern. Wenn Sie zwischen Trend- und Seitwärtsfiltersätzen wechseln, muss die Umschaltregel vor dem Test dokumentiert sein und damals verfügbare Daten verwenden. Für jeden historischen Abschnitt rückblickend den besten Filter auszuwählen, ist eine weitere Optimierung. Eine leere Woche mit vollständigen Daten ist ein gültiges Ergebnis und kein Grund, die Schwellen spontan zu lockern.
node reproduce-real-examples.cjs in diesem Ordner aus. Die Anleitung lesen oder die erwarteten Werte prüfen. Das Prüfskript prüft 50 Prüfbedingungen und schreibt die Ergebnisse in ./reproduced. Alle benötigten Quelldateien sind enthalten; die zugehörigen H1/H4- und Dreisymbolbeispiele nutzen dasselbe Prüfskript.Realer H1-Scan: abgelehnter Docht und neuer Kandidat
Ein separates, einfacheres Experiment untersucht EURUSD, GBPUSD und USDJPY aus demselben ICMarketsSC-Demo-Export. Jede vollständige H1-Kerze wird nach ihrem Ende anhand des Bid beurteilt. Die Stunden bleiben in ursprünglicher MT5-Zeit ohne verifizierten Offset. Schwelle R ist das Hoch des jüngsten strikten Pivots mit je zwei niedrigeren Hochs links und rechts; Gleichheit erzeugt keinen Pivot. Zentrum i wird erst nach dem Schluss von i+2 bekannt und erst ab der nächsten Kerze verwendet. Die Toleranz ist null.
Ein Kandidat erfordert beide Bedingungen: Ct > R und Ct−1 ≤ R. Jeder Pivot erzeugt höchstens einen Kandidaten. Der Schlüssel enthält Regelversion, Feed, Symbol, H1 und den Beginn der beurteilten Kerze. Ein Wiederholungsversuch gibt das gespeicherte Ergebnis zurück. Nach 24 auf das Zentrum folgenden Kerzen verfällt das Niveau; jede Unterbrechung des Stundenrasters setzt den Kontext zurück und verlangt einen neuen zusammenhängenden Pivot. Die Ursache der Unterbrechung wird nicht abgeleitet. Dies ist ein Kandidatenfilter, keine Ein- und Ausstiegsstrategie.
EUR/USD: Der Pivot um 21:00 am 13. Oktober hat Hoch = 1,12037. Seine beiden rechten H1-Kerzen enden um 00:00 am 14. Oktober; R kann daher nicht früher bekannt sein. H1 [03:00, 04:00) hat H = 1.12044, aber C = 1,12034: Der reine Dochtdurchbruch wird abgelehnt, ohne eine „Fallen“-Geschichte zu erfinden. Erst H1 [04:00, 05:00) schließt bei 1,12064, während das vorherige C weiterhin ≤ R ist. Ein Kandidat entsteht nach Empfang dieses Schlusskurses, frühestens um 05:00.
| Symbol | R | C | Scan-Ergebnis |
|---|---|---|---|
| EURUSD | 1,12037 | 1,12064 | Neuer Kandidat |
| GBPUSD | 1,32593 | 1,32669 | Dieser Pivot wurde bereits gemeldet — keine Wiederholung |
| USDJPY | 158,466 | 158,392 | Abgelehnt: C ≤ R |
Alle 3 von 3 Symbolen wurden beurteilt; ein neuer Kandidat bedeutet keinen Trade. Auch Ablehnungen und sämtliche früheren Ergebnisse seit dem 1. Oktober sind erfasst. Ausgewählt wurde der erste EURUSD-Kandidat nach diesem Datum, bei dem innerhalb der vorherigen 12 H1-Kerzen ein früherer Durchbruch desselben R abgelehnt worden war, nicht anhand eines späteren Gewinns. Der Export enthält keine Live-Empfangszeiten, Ask-Kurse, Ausführungen oder vollständige Revisionshistorie. Wir zeigen kausale Reihenfolge auf eingefrorenen Daten, nicht die damals tatsächlich versandten Benachrichtigungen.
Zur Prüfung: H1-Quelldaten des Charts, aufeinanderfolgende Beispielzustände, das vollständige Dreisymbolregister, Metadaten und SHA-256 und das Reproduktionsskript. Präfixprüfungen vergleichen ein ausschließlich aus der bis dahin verfügbaren Historie berechnetes Ergebnis mit demselben Abschnitt des vollständigen Replays. Das Anhängen künftiger Kerzen darf ein früheres Ergebnis nicht ändern.
4. TradingView – Screener, Alarme, Pine Script
Integrierter Screener
TradingView bietet Währungsfilter und Alarme, deren genauer Umfang aber vom aktuellen Werkzeug und Tarif abhängt. Prüfen Sie Spalten, Zeiteinheit und Quelle. „Volumen“ im Spot-FX-Handel ist kein zentrales Transaktionsregister: Es kann die Anzahl der Aktualisierungen eines bestimmten Feeds bedeuten. Zwei Quellen können unterschiedliche Ergebnisse liefern; ein Vergleich bleibt möglich, erfordert aber identifizierte Daten und eine Methode.
Verwenden Sie für eine erste Umsetzung ein einziges Ziel: überverkaufte Kandidaten innerhalb dieses D1-Abwärtstrendfilters finden. Beurteilen Sie vollständige, verfügbare Kerzen aus dem dokumentierten Universum und Feed. Die Regel lautet C < EMA(200) AND RSI(14) < 35 AND ADX(14) > 20. Gleichheit erfüllt keinen der strikten Vergleiche. Indikatorberechnung und Initialisierung folgen dem festgelegten Datenvertrag. Das Ergebnis sind Kandidaten zur Prüfung; es schreibt weder einen Short noch einen Long vor.
| Modellzeile | Schlusskurs / EMA200 | RSI14 / ADX14 | Ergebnis |
|---|---|---|---|
| A | 1,0900 / 1,1000 | 32 / 24 | Kandidat: alle drei Vergleiche erfüllt |
| B | 1,1100 / 1,1000 | 32 / 24 | Abgelehnt: Schlusskurs liegt nicht unter EMA |
| C | 1,0900 / 1,1000 | 68 / 24 | Abgelehnt: RSI liegt nicht unter 35 |
Diese Eingaben prüfen die Logik, ohne die Indikatorhistorie zu rekonstruieren. Eine Rendite über fünf Sitzungen wäre eine gesonderte Bedingung: 100 × (C_t / C_(t−5) − 1) ist vorzeichenbehaftet; sein Absolutbetrag nicht. Legen Sie Vorzeichen, Schwelle und Datenreihe fest, bevor Sie die Bedingung ergänzen. Melden Sie erwartete, beurteilte, fehlende Fälle und Kandidaten, statt eine typische tägliche Anzahl zu versprechen.
Alarme in TradingView
Ein Alarm meldet eine Bedingung: Diese kann einen Schlusskurs oder eine Reaktion innerhalb der Kerze erfordern. Dokumentieren Sie in beiden Fällen Datenzeit, Erkennungszeit und Empfangszeit der Nachricht. Wir unterstellen weder, dass jeder andere Algorithmus bereits gehandelt hat, noch, dass jede Benachrichtigung dieselbe Verzögerung aufweist.
Alarmlimits hängen vom aktuellen TradingView-Tarif, vom Alarmtyp und von der Laufzeit ab. Prüfen Sie dies vor der Wahl eines Universums. Die Anzahl aktiver Alarme und die Anzahl beurteilter Symbole sind getrennte Beschränkungen.
Pine Script – eigene Indikatoren und Strategien
Pine Script unterstützt Indikatoren, Alarme und simulierte Strategien. Beginnen Sie mit einer kleinen Bedingung, die Sie von Hand prüfen können, und kontrollieren Sie dann ihr Verhalten bei vollständigen und noch entstehenden Kerzen. Die offizielle Dokumentation definiert das Ausführungsmodell.
- Ein eigener Indikator kann RSI, eine bestätigte Fibonacci-Zone und eine EMA-Beziehung verbinden. Jede Eingabe braucht Berechnung, Quelle und Verfügbarkeitszeit; ein eingezeichneter Pfeil liefert diese Definitionen nicht.
- Ein Alarm auf Basis eines eigenen Indikators – das Skript erzeugt automatisch einen Alarm, wenn die Bedingungen zusammentreffen. Sie erhalten eine Nachricht auf dem Telefon und öffnen einen zur Analyse vorbereiteten Chart.
- Ein Strategie-Backtest – Pine Script besitzt ein integriertes
strategy()-Modul zum Testen von Logik anhand historischer Daten. Die Ergebnisse erscheinen im Reiter „Strategy Tester“: Eigenkapitalkurve, Drawdown, Trefferquote und Profit Factor.
Pine Script berechnet Indikatoren, Alarme und simulierte Orders im TradingView-Emulator. Eine native Broker-Anbindung zur Orderverwaltung bedeutet nicht, dass ein Strategieskript eigene Trades an einen Broker sendet. Automatische Ausführung nach einem Webhook erfordert eine gesonderte, korrekt konfigurierte Schicht. Diese muss Duplikate, Bestätigungen und Fehler erkennen. Die Umgebung hängt von Daten und Anforderungen ab; ohne Messung erklären wir keine Plattform zur Garantie geringerer Slippage.
Ein RSI-Ereignis in Pseudocode. Dies beschreibt Logik, keinen direkt einsetzbaren Code oder ein System zur Orderübermittlung. Die Implementierung muss den Vertrag über Vollständigkeit und Zeit sowie die Initialisierungsregel einhalten; diese sind festgelegt in Artikel 5.8.
PSEUDOCODE – NUR ALARM, KEINE ORDERS
Konfiguration: Regelversion, Universum, BID-Feed, Zeiteinheit D1,
Tagesgrenzen, Implementierungen von RSI(14) und EMA(200), mindestens 500 historische Kerzen.
Nach jedem erwarteten D1-Ende für JEDES Symbol:
Vollständigkeit, OHLC, Kalenderkontinuität und Verfügbarkeitszeit prüfen.
Fehlen Daten: NO_DATA speichern; Schwellenzustand erhalten; Symbol abschließen.
RSI und EMA mit derselben deklarierten Methode für zwei aufeinanderfolgende vollständige D1-Kerzen berechnen.
Ist das Ergebnis undefiniert: NO_VALUE speichern; Symbol abschließen.
Event := vorheriger RSI ≥ 30 AND neuer RSI < 30 AND neues C < neuer EMA.
Key := (version, feed, symbol, D1, end_UTC).
Ergebnis auch bei event = FALSE mit Datenzeit und Hash speichern.
Wenn event und key noch nicht gesendet: Alarm speichern, Benachrichtigung senden.
Ein erneuter Lauf mit demselben Schlüssel sendet keinen neuen Alarm.
Historienkorrektur: Korrekturversion anhängen; ursprüngliche Entscheidung nicht ersetzen.
Bei einer Datenlücke zwischen Kerzen keinen kontinuierlichen Übergang vortäuschen.
Das nächste Ereignis erfordert ein neues Paar aufeinanderfolgender vollständiger Kerzen.
RSI = 30 auf der vorherigen Kerze erlaubt den Übergang; Gleichheit auf der aktuellen Kerze erfüllt ihn dagegen nicht. Das ist eine ausdrückliche Wahl der Operatoren. Eine weitere Kerze unter 30 ist kein neuer Übergang. Davon getrennt deduplizieren wir ein identisches Ergebnis bei erneutem Scan. Eine Datenlücke erlaubt weder einen erfundenen fehlenden RSI noch die Annahme einer nicht beobachteten Kreuzung.
Erkennung und Reaktion. Der Schlusskurs ist nach Abschluss und Empfang der Kerze verfügbar. Danach folgen Alarm, Entscheidung und gegebenenfalls ein Ausführungsversuch. Der Standardemulator von TradingView führt eine neue Order frühestens zum nächsten Tick aus; er bietet auch Optionen zur Modellierung einer Ausführung zum Schlusskurs. Eine solche Option beweist nicht, dass dieser Preis nach Empfang des Alarms erreichbar war. Einen künftigen HTF-Schlusskurs vor Ende seines Intervalls zu verwenden, ist Look-ahead – unabhängig vom Namen der Einstellung. Die Zeitachse zeigt Artikel 5.11.
5. MT4/MT5 – Scanner, Indikatoren, EAs
MetaTrader unterstützt lokale Indikatoren und Expert Advisors in MQL4/MQL5. Ein EA kann Orders senden und verwalten, wenn Plattform, Konto und Anbieter dies erlauben. Ein Scanner, der lediglich Bedingungen meldet, hat einen engeren Aufgabenbereich.
Eigene Indikatoren und Scanner
Ein Dashboard kann Trendzustand, RSI und Abstand zu einem gleitenden Durchschnitt für Symbole aus Market Watch anzeigen. Prüfen Sie Regel, Version, Abdeckung und Datenbehandlung des Werkzeugs. Produktname oder Bewertung beantworten diese Fragen nicht.
Ein lokaler MT4/MT5-Scanner benötigt einen laufenden Plattformprozess auf einem Rechner oder VPS. TradingView-Alarme nutzen dessen Serverinfrastruktur. Prüfen Sie in beiden Umgebungen Datenaktualität, Dienstfehler und Nachrichtenempfang; Benachrichtigung und Erkennung sind getrennte Vorgänge.
Expert Advisors – Vollautomatisierung
EAs sind Programme, die eigenständig handeln können. Die Möglichkeiten reichen von „kaufen, wenn der 50er-EMA den 200er-EMA von unten kreuzt“ bis zu komplexen Systemen mit dynamischer Positionsverwaltung, Trailing-Stopps und einer Analyse über mehrere Zeiteinheiten.
Die Bewertung eines fertigen EA erfordert dokumentierte Regeln, einen Änderungsverlauf, Daten, Kosten und Ergebnisse einschließlich schwacher Phasen. Eine glatte Kurve allein beweist weder Betrug noch Anpassung, kann beides ohne diese Angaben aber auch nicht ausschließen. Der restliche Artikel zeigt, was zu prüfen ist.
MT5 im Vergleich zu MT4
MT5 besitzt einen Mehrsymbol-Tester, während der Standardtester von MT4 mit einem ausgewählten Symbol arbeitet. Das ist für Portfoliostrategien relevant, bestimmt aber nicht die Qualität von Daten oder Ausführungsmodell. Prüfen Sie unterstützte Instrumente, Testmodi und die Bedingungen des jeweiligen Brokers; allein der Plattformname ist keine Ausführungsbewertung.
6. Arbeitsablauf: vom Scan zur Beobachtungsliste
Der folgende Prozess trennt Scan, Überprüfung und Reaktion. Er ist ein organisatorisches Beispiel für Swing-Trading, kein Ergebnis einer Wirksamkeitsstudie. Jede Stufe hinterlässt einen Datensatz, auch eine Ablehnung.
- W1 nach Abschluss der Woche. Prüfen Sie den Kontext und zuvor bestätigte Unterstützungs-/Widerstandszonen. Bei formaler Definition kann die Bewertung manuell oder automatisiert erfolgen. Dokumentieren Sie Identifikationszeitpunkt und Zonengrenzen; verschieben Sie diese später nicht passend zum Ergebnis.
- D1-Scan nach dem festgelegten Schluss. Beurteilen Sie jedes Symbol nach der eingefrorenen Regel. Prüfen Sie Kandidaten anhand des dokumentierten Wochenkontexts; bewahren Sie manuelle Ablehnungen und Zustände fehlender Daten auf.
- Beobachtungsliste und Exposure. Die Anzahl der Paare hängt von der Durchsichtskapazität ab, nicht von einem „idealen“ Bereich von 2–5. Long EUR/USD, Long GBP/USD und Short USD/CHF haben eine gemeinsame Short-USD-Seite und unterschiedliche weitere Währungen; sie sind keine identische Position. Messen Sie Korrelation anhand zeitlich abgestimmter Renditen mit angegebenem Zeitraum und Fenster. DXY bildet diese Kurse teilweise erneut ab. COT besitzt getrennte Positions- und Veröffentlichungsdaten. Die Positionsgrößenbestimmung gehört erst in den Handelsplan.
- Alarme und Abwarten. Für Paare auf der Beobachtungsliste setzen Sie Alarme: preisbasiert beim Erreichen einer Zone, indikatorbasiert beim Eintritt des RSI in eine Extremzone oder auf gezeichnete Objekte, etwa die Berührung einer Trendlinie. Sie starren nicht auf den Chart, sondern warten auf die Nachricht.
- Alarm → Prüfung → Entscheidung. Prüfen Sie den gespeicherten Kandidaten sowie die gesonderten Aktivierungs-, Risiko- und Ausführungsbedingungen. Eine Benachrichtigung allein autorisiert keine Order. Halten Sie fest, warum keine Aktion erfolgt.
Dokumentieren Sie tatsächliche Durchsichtsdauer und Abdeckung. Ein Alarm garantiert weder eine richtige Kontextbewertung noch eine vollständige Liste. Eine Datenänderung nach einem Eingriff oder einer Ankündigung kann das Regelergebnis verändern; die Prüfung dieser Änderung braucht einen neuen Datensatz statt eines Ersatzes des früheren Werts.
Die Kandidatenzahl sollte zu Ihrer Durchsichtskapazität passen. Ein leeres Ergebnis dürfen Sie erst nach Prüfung der Universumsabdeckung und Datenaktualität als fehlende Setups werten. Ausfall, unvollständige Kerze und unzureichende Historie haben getrennte Zustände. „Heute nicht“ ist eine Interpretation, keine Diagnosemeldung.
7. Montagmorgen – wie das Screening von 28 Paaren aussieht
Beispielhafte Montagsdurchsicht: Die Quelle verwendet Tage mit Ende um 17:00 America/New_York und fünf vollständige D1-Kerzen in einer normalen Woche. Bewertet wird die zuletzt empfangene vollständige D1-Kerze. Bei UTC kann bis Montag bereits eine kurze Sonntagskerze vorliegen; wir unterstellen deshalb nicht allgemein, dass am Wochenende keine neue D1-Kerze entsteht.
8:15. Im TradingView-Screener D1-Filter auf Basis des Sitzungsschlusses vom Freitag: RSI(14) < 35, Preis unter dem 200er-EMA, ADX(14) > 20. Ziel: überverkaufte Paare innerhalb eines Abwärtstrends.
Der Modellfilter liefert vier Paare bei vollständigen Daten für alle 28. Die Durchsicht verwendet dieselbe Quelle, D1-Endzeit und Indikatorinitialisierung:
- AUD/USD. Ein hypothetischer RSI von 28 und ein Preis unter dem 200er-EMA erfüllen den Filter. Mit einer zuvor dokumentierten W1-Zone geht der Kandidat in die weitere Analyse; Nähe zur Unterstützung allein ist keine Kaufanweisung.
- NZD/USD. Der Filter ist erfüllt, doch eine zusätzliche Regel verlangt die hier fehlende Nähe zu einer W1-Zone. Eintrag: bei der Validierung verworfen, kein erst nach einem Verlust als solches etikettiertes „Fehlsignal“.
- EUR/GBP. Im Modell meldet der Scanner ADX 21 und ein zweiter Feed 18 bei einer Schwelle > 20. Das ist keine einheitliche Messung. Dokumentieren Sie Quellen und setzen Sie den Vergleich aus, bis OHLC, Tagesgrenzen und Initialisierung geprüft sind. Schreiben Sie die gesamte Differenz von drei ADX-Punkten nicht ohne Neuberechnung allein dem Feed zu.
- GBP/CHF. Hypothetische Werte RSI 31 und ADX 27 erfüllen den Filter. Nähe zu einem Retracement von 61,8% erfordert einen zuvor bekannten Swing und eine bestimmte Toleranz; Preisalarm und RSI bleiben getrennte Bedingungen.
Modell: 4/28 = 14,2857% der Instrumente passieren den Filter; 2/28 = 7,1429% bleiben auf der Beobachtungsliste. Die Arbeitszeit wurde nicht gemessen. Bei zwei fehlenden Datensätzen müsste der Bericht „4 Kandidaten von 26 bewerteten Instrumenten, Abdeckung 26/28 = 92,8571%“ statt „4 von 28“ lauten; die Ergebnisse der fehlenden zwei sind unbekannt.
8. Alarme – nichts verpassen, ohne ständig zuzusehen
Ein Alarm trennt das Warten auf eine Bedingung von der Chartdurchsicht. Seine Wirkung auf die Arbeitszeit lässt sich berechnen. Daraus folgt keine Garantie für weniger impulsive Trades; auch nach einer Nachricht muss der Plan eingehalten werden.
Market- und Limit-Order – eine kurze Regel
Eine Market-Order garantiert weder einen Preis noch eine Ausführung unter allen Bedingungen. Ein Limit begrenzt den Preis gemäß den Produktregeln, kann aber unausgeführt bleiben. Ohne Daten unterstellen wir nicht, dass ein Limit auf D1 „gewöhnlich gewinnt“. Die Wahl der Orderart und die Aktivierung über Bid/Ask behandelt Artikel 2.7.
Alarmarten
- Preis. „Benachrichtigen, wenn EUR/USD 1,0700 erreicht.“ Solche Alarme setzen Sie an Unterstützungs-/Widerstandsniveaus, Fibonacci-Retracements und interessanten Zonen. Keine Programmierung.
- Indikator. „RSI(14) < 30 auf D1“ oder „Das MACD-Histogramm hat das Vorzeichen gewechselt“. In TradingView: Indikator anklicken → Alarm erstellen. In MT4/MT5: über einen eigenen Indikator mit Alarmfunktion. Beachten Sie: Ein MT4-Alarm benötigt eine geöffnete Plattform oder einen VPS, da er lokal läuft.
- Auf einem Zeichenobjekt. TradingView erlaubt Alarme auf gezeichneten Trendlinien und Zonen: Berührt der Preis Ihre Wochenlinie, erhalten Sie eine Push-Nachricht auf dem Telefon. Das verbindet manuell eingezeichnete Analyse mit einer automatischen Benachrichtigung.
- Zusammengesetzte Bedingung. Ein Alarm mit mehreren Bedingungen: „Preis unter dem 200er-EMA UND RSI < 35 UND ADX > 25“. Das erfordert Pine Script oder MQL, wird aber nur einmal eingerichtet.
Alarme praktisch kombinieren
Zonenbasiert und indikatorbasiert. Am Wochenende zeichnen Sie Zonen auf W1/D1 und setzen Preisalarme darauf. Parallel richten Sie Indikatoralarme (RSI < 30) für die Paare der Beobachtungsliste ein. Lösen beide ungefähr gleichzeitig aus, ist die Bedingung selektiver, aber nicht unbedingt unabhängig bestätigt: Beide Kriterien werden aus demselben Preis berechnet. Der zonenbasierte Ansatz passt zur Unterstützungs- und Widerstandsanalyse, der indikatorbasierte zu oszillatorgestützten Strategien.
Reduzieren Sie unnötige Wiederholungen und abgelaufene Bedingungen. Die Anzahl aktiver Alarme hängt vom Durchsichtsprozess ab: Sie können das gesamte Universum scannen und nur deduplizierte neue Ereignisse senden. Um Nachrichten zu reduzieren, müssen keine Instrumente ausgelassen werden.
Ein Zustand wie RSI < 30 kann über mehrere Kerzen wahr bleiben. Vorheriger RSI ≥ 30 und aktueller RSI < 30 ist ein Übergangsereignis. Beurteilen Sie die gewählte Bedingung einmal je festgelegter vollständiger Kerze und deduplizieren Sie anschließend die wiederholte Verarbeitung dieser Kerze. Das sind getrennte Kontrollen.
Gleichen Sie Quelle, Kursseite, Tagesgrenzen und Indikatorinitialisierung ab, bevor Sie Scanner vergleichen. Unterschiedliche OHLC können Schwellenprüfungen ändern. Serverzonenbezeichnungen allein bestimmen weder Größe noch Richtung eines Unterschieds. Lektion 5.11 erläutert die zeitliche Zuordnung.
Im hypothetischen Modell wurde die W1-Zone [1,0680; 1,0720] vor dem Test definiert. Unabhängig davon wurde eine RSI(14)-Kreuzung unter 30 auf einer vollständigen D1-Kerze festgelegt. Ihre gemeinsame Bedingung braucht ein bestimmtes Zeitfenster, etwa beide Ereignisse am selben Tag, statt einer nachträglich beliebig gewählten „ähnlichen Zeit“. Nach Erfüllung wird eine vollständige H4-Kerze nach der Regel für die Formation geprüft. Das ist ein selektiverer Filter, doch beide Signale stammen vom Preis und sind nicht automatisch unabhängig.
9. Backtesting – was testen und wie Ergebnisse interpretieren?
Ein Backtest wendet ein Modell auf historische Eingaben an. Er kann widersprüchliche Regeln aufdecken und Ergebnisse unter angegebenen Annahmen schätzen. Er kann weder die exakten nach einer Live-Entscheidung verfügbaren Kurse feststellen noch Ergebnisse bei neuen Beobachtungen garantieren.
Was sich zu testen lohnt
Ein historischer Test erfordert reproduzierbare Regeln und zu jedem Zeitpunkt verfügbare Daten. Selbst eine einfache Ungleichung ist ohne Quelle, Zeiteinheit, Initialisierung und Reaktionspreis unvollständig.
- Indikatorbedingungen. RSI(14) < 30 wird erst reproduzierbar, wenn Quelle, Grenzen, Berechnung und Beurteilungszeit feststehen.
- Ausstiegsregeln und SL/TP. Ein fester SL von 50 Pips und ein TP von 100 Pips. Oder ein Trailing-Stopp von 2× ATR. Messbar und vergleichbar.
- Varianten vergleichen. Messen Sie dasselbe Verfahren mit einer anderen Schwelle oder Stoppregel. Dokumentieren Sie alle untersuchten Varianten und bewahren Sie Daten auf, die nicht zu deren Auswahl dienten.
Schlecht für Backtests eignet sich alles, was menschliches Urteil verlangt:
- Price Action. Kerzen lassen sich hinsichtlich ihrer Geometrie ebenso wie Zonen und Bestätigungszeiten numerisch definieren. Ein subjektives „sieht überzeugend aus“ erfordert ein separates dokumentiertes Bewertungsprotokoll; wir unterstellen nicht, dass das Auge einen belegten Vorteil gegenüber der Regel liefert.
- Struktureller Kontext. Die manuelle Kennzeichnung von Welle 2 benötigt Regeln, eine Kennzeichnungsversion und deren Erstellungszeit. Eine spätere Umkennzeichnung darf ein früheres Testergebnis nicht verbessern.
- Ermessensentscheidungen. Ablehnungen von Kandidaten lassen sich vorausschauend dokumentieren. Ohne diese Aufzeichnung wissen wir nicht, ob das Ermessen das Ergebnis verbessert hat oder nur erfolgreiche Fälle ausgewählt wurden. Es gibt keine Grundlage für die Behauptung, allein ein dem Algorithmus unsichtbarer Kontext erkläre Profitabilität.
Datenqualität – ein selten besprochenes Thema
Ein Backtest ist nur so verlässlich wie die verwendeten Daten. Auf Forex ist das ein ernstes Problem. Der Markt ist dezentral; Daten Ihres Brokers können von denen eines anderen abweichen, etwa durch andere Spreads oder kleine OHLC-Unterschiede. OHLC-Daten verlieren die Information über den Preisverlauf innerhalb einer Kerze: Bei engem SL und TP lässt sich nicht erkennen, was zuerst berührt wurde – SL oder TP.
Der MT5-Modus „Every tick based on real ticks“ verwendet verfügbare Ticks, garantiert aber nicht deren lückenlose Existenz. MetaQuotes beschreibt die Tick-Erzeugung bei Datenlücken und die Zurückweisung von Ticks, die nicht zu Minutendaten passen. Prüfen Sie den Datenbericht. Historischer Spread ist von Ausführungsverzögerung zu trennen. Ein in einem anderen Modus festgeschriebener „aktueller“ Spread ist ein Szenario und nicht immer eine niedrigere Schätzung: Er kann im Vergleich zur getesteten Historie hoch oder niedrig sein.
Bid/Ask, Mid und Anbieterpreise. Schließen Sie nicht aus einer kostenlosen API auf den Preistyp. Metadaten müssen Bid, Ask, Mid, einen Transaktionspreis oder eine andere Reihe angeben. Bei einem Long-Modell gegen Mid betragen die Spread-Kosten in Pips (Einstiegsspread + Ausstiegsspread)/2. Bei jeweils 1 Pip Spread und 200 vollständigen Handelszyklen beträgt der Unterschied 200 Pips vor weiteren Kosten. Bei tatsächlichem Einstieg zum Ask und Ausstieg zum Bid steckt dieser Unterschied bereits in den Preisen. Dukascopy und TrueFX sind beispielhafte zu prüfende Quellen; der Anbietername ersetzt nicht die Kontrolle von Spalten, Abdeckung und Lücken.
Kerzenschluss und Intrabar sind unterschiedliche Regeln. Eine Berührung kann vor Kerzenende auftreten und wieder verschwinden. Ein schlusskursbasiertes Ereignis wartet auf Abschluss und Empfang. OHLC kann die gesamte Bewegungsreihenfolge im Intervall nicht rekonstruieren und damit keinen behaupteten prozentualen Vorteil einer der Regeln belegen.
Finanzierung hat ein Vorzeichen und eine Einheit. Swap kann je nach Produkt und Positionsseite negativ oder positiv sein; wir leiten sein Vorzeichen für Short USD/MXN oder Long USD/TRY nicht allein aus den Währungsnamen ab. Der Test braucht historische Spezifikationen und Tagesmultiplikatoren, nicht nur die aktuelle Tabelle. Beispielsweise ergeben ein Preisergebnis von +80 USD, Provisionen von −7 USD und Finanzierung von −18 USD insgesamt +55 USD; mit einer Finanzierung von +18 USD ergibt sich +91 USD. Ein in tatsächlichen Preisen enthaltener Spread wird nicht erneut berechnet. Einheiten und Umrechnungen beschreibt Artikel 2.8.
Eine Kerze, zwei mögliche Ergebnisse
Das Long-Modell ist bereits zu einem Ausführungspreis von 1,1000 eröffnet. Die nächste Kerze hat folgende Bid -OHLC: O = 1,1000, H = 1,1030, L = 1,0980, C = 1,1010. TP = 1,1020, gewöhnlicher SL = 1,0990; angenommen wird lückenlose Ausführung genau am Niveau ohne Zusatzkosten. Der Pfad O→H→L→C erreicht zuerst TP: +20 Pips. O→L→H→C erreicht zuerst SL: −10 Pips. Beide haben identische OHLC.
Bei einem Nominalwert von 10.000 EUR ergeben sich +20 oder −10 USD. Das sind nicht zwei mögliche Ergebnisse desselben tatsächlichen Trades, sondern zwei mit unvollständigen Daten vereinbare Pfade. Einstiegs- und Ausstiegsausführung enthalten bereits die Marktseite; wir addieren den Spread deshalb nicht erneut. Ein Tester, der eine Reihenfolge aus OHLC annimmt, wählt eine Konvention, die im Bericht offengelegt werden muss. Kleinere Zeiteinheiten oder Ticks klären mehr Fälle, fehlende Daten bleiben aber fehlend.
Mid und Ausführung – zwei Rechnungen für denselben Handelszyklus
EUR/USD-Modell: Einstiegs-Mid 1,1000, Einstiegsspread 2 Pips, somit Ask 1,1001; Long-Ausführung 1,1002. Ausstiegs-Mid 1,1020, Ausstiegsspread 4 Pips, somit Bid 1,1018; Verkaufsausführung 1,1017. Nominalwert 10.000 EUR. Der Mid-Gewinn beträgt 20 USD. Spread-Hälften kosten 1 + 2 = 3 USD; Slippage gegenüber Ask/Bid beträgt 1 + 1 = 2 USD. Das Ausführungspreisergebnis ist (1,1017 − 1,1002) × 10.000 = 15 USD – passend zu 20 − 3 − 2.
Provision von 2 USD für den vollständigen Zyklus und vorzeichenbehaftete Finanzierung von −1 USD ergeben 12 USD netto. Bei einer angenommenen einheitlichen Umrechnung von 4,00 PLN/USD sind das 48 PLN; ein tatsächliches Register sollte Wechselkurse und Buchungszeiten der Einzelbeträge verwenden. Wir berechnen nicht erneut 15 − 3 − 2. Die CSV trennt den Bezugspunkt von tatsächlichen Preisen.
Ergebnisse interpretieren
Die wichtigsten Backtest-Kennzahlen:
| Kennzahl | Aussage | Worauf zu achten ist |
|---|---|---|
| Profit Factor (PF) | Summe positiver NETTO-Ergebnisse / Betrag der Summe negativer Ergebnisse | Null gehört zu keiner der Summen. Ohne Verluste ist der Quotient undefiniert und kein Beweis für einen unendlichen Vorteil. PF 1,5 ist keine allgemeingültige Schwelle. |
| Maximaler Drawdown | Größter Rückgang des Kontoeigenkapitals von einem vorherigen Höchststand | In Währung oder als Prozentsatz des Höchststands; abhängig von der Abtastfrequenz. Ergebnisse nur geschlossener Trades können Risiken offener Positionen übersehen. |
| Trefferquote | Anteil positiver Ergebnisse in einer definierten Stichprobe | 30% der Ergebnisse bei +3R und 70% bei −1R ergeben brutto +0,2R je Trade. Kosten von 0,25R je vollständigem Handelszyklus ändern den Erwartungswert auf −0,05R. Chance-Risiko-Verhältnis und Trefferquote allein beweisen keine künftige Profitabilität. |
| Anzahl der Trades | Stichprobenumfang und effektive Vielfalt | 100 Trades in derselben USD-Bewegung ≠ 100 unabhängige Beobachtungen. Prüfen Sie Häufungen, Regime und Unsicherheit; es gibt keine magische Mindestzahl. |
| Sharpe Ratio | Mittlere Überrendite gegenüber einer Benchmark / Standardabweichung der Renditen | Frequenz, Benchmark, Annualisierung und zeitliche Abhängigkeit sind wichtig. > 1 oder > 2 ist weder ein Qualitätstest noch ein Beleg für Überanpassung. |
Beispiel: ein fehlerhafter Backtest und seine Korrektur
Optimierungsmodell: RSI-Schwelle von 10 bis 30 in Schritten von 1, SL von 30 bis 80 Pips in Schritten von 1 und TP von 80 bis 200 Pips in Schritten von 1. Das Raster enthält 21 × 51 × 121 = 129.591 Kombinationen, nicht einige Dutzend. Zählen Sie auch abgebrochene Versuche und manuelle Regeländerungen. Ein beispielhafter bester PF von 2,8 auf Daten von 2020–2025 ist ein Auswahlergebnis auf diesem Datensatz, kein Beweis für einen Vorteil der Kombination RSI 22 / SL 43 / TP 167.
Ein scharfer Leistungsgipfel um eine einzelne Kombination ist ein Anlass zur Sensitivitätsprüfung. Er beweist allein keine Überanpassung: Kosten, kleine Stichprobe und Regimewechsel können eine Rolle spielen. Berichten Sie das ganze Raster und die Auswahlregel, nicht nur den besten Punkt.
Nach Parameterauswahl auf dem gesamten Zeitraum 2020–2025 dürfen Sie 2024–2025 nicht nachträglich zum Holdout erklären. Sie benötigen neue künftige Beobachtungen oder einen anderen vorab festgelegten Plan. Training, Validierung und Test haben getrennte Funktionen; nach Nutzung des Tests wird darauf nicht erneut optimiert.
Unterschiede zwischen Test und Betrieb können aus Kostenmodell, Daten, Ausführung oder veränderten Bedingungen entstehen. Nicht jeder schwächere Live-Versuch beweist Überanpassung, und nicht jeder Backtest ist definitionsgemäß optimistisch. Der Vergleich erfordert dieselben Regeln und ein Journal von Signalen, Orders und tatsächlichen Ausführungen.
Ein Forward-Test prüft den Betrieb anhand neuer Beobachtungen. Dauer allein begründet keine Repräsentativität: Einige Monate können nur wenige Ereignisse und ein einziges Regime erfassen. Auf Demo lassen sich Logik und Verfügbarkeit prüfen, doch die Ausführung muss nicht der eines Echtgeldkontos entsprechen. Zerlegen Sie ein schlechteres Ergebnis in Unterschiede bei Daten, Ausführung, Kosten und der Ereignisverteilung selbst.
Das Neuordnen geschlossener Ergebnisse, etwa 1.000 Permutationen von 150 Trades, zeigt bedingte Eigenkapitalpfade für dieselbe Stichprobe und feste Positionsgrößenregeln. Es erzeugt weder neue Schocks noch eine Verteilungsänderung und kann zeitliche Abhängigkeiten entfernen. Bei prozentualem Risiko oder gleichzeitigen Positionen muss deren Struktur erhalten bleiben. Das 95. Perzentil einer solchen Simulation ist keine garantierte Grenze des künftigen Drawdowns. Ein Werkzeug für diese Übung ist der Monte-Carlo-Simulator.
10. Python für Screening und Backtesting
Python kann ein eigenes Datenregister und Tests unterstützen. Kosten und Schwierigkeit hängen von Quellenqualität, Umfang und Wartung ab. Ein eigener Scanner erfordert Fehlerbehandlung, Abhängigkeitsversionen und Überwachung; dieser Artikel beschreibt einen logischen Vertrag, keinen Produktionscode und kein Versprechen eines billigen einsatzfertigen Systems.
Eine eigene Umgebung bietet Kontrolle über mehrere Prozessschritte:
- Quellenintegration. Broker-APIs und Datenbibliotheken bieten unterschiedliche Instrumente und Metadaten an. Prüfen Sie Zugriff, Abdeckung und Revisionen, bevor Sie ihre Datenreihen verbinden.
- Statistische Analyse. Bibliotheken berechnen Tests und Verteilungen. Fragestellung, Referenzverteilung, Abhängigkeitsannahmen und die Familie der untersuchten Varianten müssen weiterhin korrekt gewählt werden.
- Flexibles Backtesting. Die Bibliotheken backtrader und vectorbt ermöglichen Tests von Portfoliostrategien mit vielen Paaren gleichzeitig, dynamischer Kapitalallokation und Korrelationen zwischen Instrumenten. Pine Script und MQL stoßen hier an Grenzen.
- Ein verbundener Arbeitsablauf. Abruf, Screening und Benachrichtigungen können ein Register teilen. Die Ausführung benötigt eine eigene Ebene für Anweisungen und Bestätigungen mit eigener Behandlung von Wiederholungsversuchen.
- Sentimentanalyse. Manche Trader experimentieren mit automatischer Sentimentanalyse von Nachrichten und Wirtschaftsberichten und speisen dieses Signal in die Screening-Kette ein. Werkzeuge dafür existieren, von einfachen Skripten bis zu Sprachmodell-APIs; in der Retail-Praxis ist das aber eher ein Experiment als eine fertige Lösung.
Eine Verarbeitungskette in Pseudocode – Daten, Scan und Archiv. Sie enthält keine API-Tokens oder Orderausführungsfunktionen. Dieselbe Logik lässt sich in jeder Umgebung implementieren.
PSEUDOCODE DER VERARBEITUNGSKETTE – KEINE ORDERÜBERMITTLUNGSFUNKTION
Festgeschriebene Konfiguration und vollständige versionierte Symbolliste laden.
Erwartete Kerzenenden aus dem Quellenkalender bestimmen, nicht aus der Computeruhr.
Für jedes Symbol Daten mit component, start, end, complete,
received_at, revision und Quellenkennung abrufen.
Unveränderlichen Daten-Snapshot und Prüfsumme erhalten.
OHLC, Preiseinheit, Sitzungskontinuität und Warmlaufphase der Indikatoren validieren.
Bei Fehler NO_DATA mit Ursache speichern; kein NO_SIGNAL erzeugen.
Bei gültigem Snapshot die vollständige Kriterienregel berechnen.
Für jedes Symbol ein Ergebnis speichern, auch bei nicht erfüllter Bedingung.
Alarme anhand von version, feed, symbol, timeframe und end_UTC deduplizieren.
Bei einer Korrektur einen mit dem vorherigen Snapshot verknüpften Datensatz anhängen.
Zusammenfassen: expected, evaluated, missing, candidates und Scan-Dauer.
Manuelle Entscheidung und ihre Zeit separat archivieren, ohne das Filterergebnis zu überschreiben.
Prozessfehler und fehlende Symbole melden, auch bei null Kandidaten.
Prüfen Sie vor der Quellenwahl Lizenz, Instrumentenabdeckung, Preisseite, Zeitstempel, Vollständigkeit, Revisionen und verfügbare Bid-/Ask-Daten. Wir versehen nicht alle Yahoo-Daten oder kostenlosen APIs mit einem pauschalen Etikett. Eine Bibliothek zum Datenlesen verbessert die Datenqualität nicht automatisch und liefert keine Ausführungspreise.
Die Wiederholung einer Datenanfrage ist etwas anderes als die Wiederholung einer Orderübermittlung. Ein Scan kann gefahrlos denselben Schlüssel erzeugen und das frühere Ergebnis zurückgeben. Die Ausführungsschicht benötigt vor einer Wiederholung eine separate Anweisungskennung und eine Statusprüfung; sie gehört nicht zum hier gezeigten Screener.
11. Fallstricke der Automatisierung
Automatisierung wiederholt einen festgelegten Prozess. Messen Sie, ob sie Prüfzeit spart, Abdeckung erhält oder operative Fehler verändert. Sie kann auch einen Fehler konsequent wiederholen; die folgenden Prüfungen erleichtern das Erkennen von Fehlern.
| Fallstrick | Mechanismus | Begrenzungsmöglichkeit |
|---|---|---|
| Mid-Modell | Bei zwei Ausführungen beträgt der Unterschied den halben Einstiegsspread plus den halben Ausstiegsspread | Preistyp prüfen; zu tatsächlichen Ask-/Bid-Ausführungen den Spread nicht erneut addieren |
| Fester Spread | Angenommenes Szenario, das zu niedrig oder zu hoch liegen kann | Bid-/Ask-Historie und Fehlstellenbericht; der Modus mit echten Ticks allein garantiert keine Vollständigkeit |
| Ausgelassene Slippage und Provision | Nettoergebnis niedriger als Brutto, besonders auf kleinen Zeiteinheiten | Slippage vorsichtig modellieren; Provision in R berücksichtigen |
| Look-ahead | Das Signal nutzt zum Entscheidungszeitpunkt nicht verfügbare Daten: Schluss einer laufenden Kerze oder Swing aus der Zukunft | Bei der Entscheidung verfügbare Eingaben einschließlich Bestätigungs- und Zustellungsverzögerungen; Reaktion zu einem später verfügbaren Kurs |
| Überanpassung | Parameter an das Rauschen einer bestimmten Historie angepasst | Wenige Parameter; Out-of-sample; Walk-forward |
| Mehrere Versuche | Auswahl der besten Variante erhöht das Risiko einer falschen Entdeckung | Alle Versuche registrieren, passende Korrektur und zuvor ungenutzten Test verwenden |
| Survivorship Bias | Nur die überlebenden Systeme sind sichtbar | Prozess bewerten, nicht vorausgewählte Ergebnisse |
| Repainting | Der Indikator zeichnet abgeschlossene Historie neu | Indikator im Forward-Test prüfen; ZigZag-artige Werkzeuge in Regeln vermeiden |
| Ausgelassener Swap | Haltekosten mindern Swing-Ergebnisse | Swap-Punkte berücksichtigen; mit kostenhaltigen Daten testen |
Overfitting – Überanpassung an die Vergangenheit
Überanpassung bedeutet, Entscheidungen auf Eigenschaften einer bestimmten Stichprobe auszurichten, die außerhalb dieser Stichprobe nicht fortbestehen. Sie ist kein Synonym für jeden Verlust am ersten Tag. Parametersensitivität, Anzahl der Versuche und neue Beobachtungen helfen bei der Beurteilung.
Warnzeichen einer Überanpassung:[5]
- Die Strategie hat viele freie Parameter im Verhältnis zur Anzahl der Trades und zur verfügbaren Historie.
- Eine kleine Parameteränderung (RSI 14 → RSI 15) verändert die Ergebnisse drastisch – sogenannte Fragilität.
- Ein Backtest liefert in einem Zeitraum hervorragende Ergebnisse, in einem anderen einen Verlust.
- Ein hoher PF oder Sharpe-Wert erfordert eine Bewertung der Unsicherheit, der Zahl geprüfter Varianten und der Abhängigkeit zwischen Ergebnissen. Weder eine Stichprobe unter 100 noch über 500 Trades bestimmt allein, ob ein Vorteil besteht. Prüfen Sie außerdem Beobachtungsdauer, seltene große Verluste und Leistung auf Daten, die nicht zur Regelwahl verwendet wurden.
Ein Out-of-sample-Test ist nur sinnvoll, wenn die Stichprobe nicht an der Regelauswahl beteiligt war. Beim Walk-forward folgt auf die Anpassung in einem früheren Fenster die Bewertung in einem späteren; sämtliche Schwellen, Aktualisierungen und die Ergebnisaggregation werden vorab dokumentiert. Ein positives Ergebnis in jedem Fenster zu verlangen, ist keine allgemeingültige statistische Regel.
Data Snooping
Bei 50 unabhängigen Tests wahrer Nullhypothesen zum Niveau 5% beträgt die Wahrscheinlichkeit mindestens einer falschen Ablehnung 1 − 0,95^50 = 92,3055%; die erwartete Anzahl ist 2,5. Das ist ein hohes Risiko, keine Gewissheit. Varianten auf denselben Daten sind gewöhnlich abhängig; die Unabhängigkeitsrechnung darf deshalb nicht als ihre gemessene Wahrscheinlichkeit behandelt werden.
Dokumentieren Sie die Versuchsfamilie vor der Auswahl des Gewinners. Bei 50 Tests und einem Familienniveau von 5% ergibt Bonferroni für jeden gültigen p-Wert eine Schwelle von 0,05/50 = 0,001. Das kontrolliert das Risiko mindestens einer falschen Ablehnung, ohne unabhängige Tests vorauszusetzen. FDR beantwortet eine andere Frage; das folgende Beispiel zeigt den Unterschied. Keine p-Wert-Korrektur begründet die Profitabilität einer Strategie.
Bonferroni, FDR und die Grenze der Aussage
Modell von fünf gültigen Tests in einer vorab definierten Familie: geordnete p-Werte 0,0004; 0,008; 0,019; 0,021; 0,070. Bonferroni bei α = 0,05 ergibt 0,01 und verwirft die ersten zwei. Das Benjamini-Hochberg-Verfahren bei q = 0,05 vergleicht mit i × q / 5: 0,01; 0,02; 0,03; 0,04; 0,05. Der größte erfüllende Index ist 4, also werden die ersten vier verworfen.
FWER kontrolliert die Wahrscheinlichkeit mindestens einer falschen Ablehnung; FDR den erwarteten Anteil falscher Ablehnungen unter allen Ablehnungen, wobei dieser Anteil ohne Ablehnungen null ist. Das klassische BH-Verfahren erfordert geeignete Abhängigkeitsannahmen, etwa Unabhängigkeit oder eine bestimmte positive Abhängigkeit. Wir wenden es nicht ungeprüft auf beliebig korrelierte FX-Varianten an. q = 5% bedeutet nicht, dass jede gewählte Strategie mit 95% Wahrscheinlichkeit funktioniert. Die Originalarbeit der Autoren (1995) und die Methodendokumentation beschreiben den Geltungsbereich der Verfahren. Ein gültiger Test braucht eine vorab festgelegte Frage, Daten, Referenzverteilung und Statistik; die p-Werte hier sind hypothetische Eingaben.
Die Stichprobentrennung berücksichtigt den Label-Zeitpunkt
In einem hypothetischen, vor der Analyse festgeschriebenen Plan umfasst das Training 2018–2022, die Validierung 2023 und der unberührte Test 2024–2025. Hat ein Label einen Horizont von bis zu fünf Sitzungen, gehört eine Trainingsbeobachtung von Ende Dezember 2022, deren Ergebnis im Januar 2023 feststeht, nicht zu einem am 31. Dezember endenden Training. Entfernen Sie grenzüberschreitende Labels oder verschieben Sie den Schnitt gemäß ihren tatsächlichen Endzeiten. Nur Einstiegsdaten zu trennen reicht nicht.
Vor der Grenze liegende historische Preise dürfen einen Indikator zum Testbeginn warmlaufen lassen, sofern sie damals bekannt waren. Skalierung, Schwellen oder Instrumentenauswahl dürfen nicht am zukünftigen Datensegment angepasst werden. Validierung dient der Auswahl, der Test der einmaligen Bewertung; sobald Sie eine Regel anhand des Tests ändern, ist er verbraucht. Walk-forward braucht dieselben Grundsätze in jedem Fenster und eine vorab dokumentierte Aktualisierungsmethode. Auch Wahrscheinlichkeitskalibrierung benötigt ein separates Segment: Acht Ereignisse bei zehn Prognosen von 0,8 in einer kleinen Gruppe beweisen weder allgemeine Kalibrierung noch Profitabilität.
Präzision, Sensitivität und die Kosten übersehener Fälle
Ein Modell mit 100 unabhängig gelabelten Fällen: Das Referenzmuster ist in 20 positiv und in 80 negativ. Der Screener erzeugt 15 Alarme: 12 stimmen mit der Referenz überein, 3 sind falsch; 8 positive Fälle werden übersehen. Präzision = 12/15 = 80%, Sensitivität = 12/20 = 60%, Spezifität = 77/80 = 96,25%. Finanzielle Leistung folgt aus diesen drei Kennzahlen nicht. Referenzlabels müssen vom Filter unabhängig sein; nicht jeder manuell ausgewählte spätere Gewinn wird als positiv gelabelt.
Verwendet die Referenz ein künftiges Ergebnis, ist ihr Label erst am Ende des Horizonts verfügbar. Es darf kein früheres Signal beeinflussen oder vorzeitig ins Training eingehen. Laden Sie die nachgerechneten Modelle herunter; alle Zahlen in diesem Block sind hypothetisch.
Survivorship Bias bei fertigen EAs
Nur noch verkaufte und veröffentlichte Systeme zu betrachten lässt zurückgezogene Versuche aus. Ein Vergleich braucht eine bekannte Grundgesamtheit und auch ein Register erfolgloser Versionen. Wir kennen weder die Zahl angeblicher „Tausender“ zurückgezogener EAs noch beispielhafte Influencer-Ergebnisse und verwenden solche Zahlen nicht als Belege.
Die Kontrollillusion
Automatisierung erfordert die Überwachung von Prozesszustand, Datenaktualität und unbehandelten Fehlern. Nachtbetrieb allein bestimmt weder Slippage noch Verlustanzahl. Alarme sollten neben erfüllten Setups auch fehlende Daten und angehaltene Scans melden.
Die Blackbox
Fehlende Dokumentation erschwert die Feststellung, ob veränderte Ergebnisse aus Daten, Regel oder Ausführung stammen. Ein System kann hinter den Erwartungen zurückbleiben; Sie brauchen eine Abbruchbedingung und ein Bewertungsverfahren. „Bisher hat es funktioniert“ genügt nicht.
Repainting-Indikatoren
Unterscheiden Sie einen wechselnden Wert auf einer offenen Kerze, eine verspätete Swing-Bestätigung, eine Datenkorrektur und das Umschreiben eines früheren Signals. Bewahren Sie einen Werte-Snapshot mit Bewertungszeit auf und vergleichen Sie ihn mit der späteren Historie. Der Name ZigZag legt nicht jede Verwendung fest; problematisch sind ein Punkt vor seiner Bestätigung oder verborgene Änderungen.
Prop-Firmen und Automatisierung
Prop-Firmen-Regeln sind vertraglich und unterscheiden sich zwischen Programmen und Stufen. Wir behaupten nicht, viele Firmen verböten jede Automatisierung. Beispielsweise beschreibt FTMO die Erlaubnis von Algorithmen und EAs unter Programmauflagen. Prüfen Sie aktuelle Regeln, Kontonatur einschließlich simulierter Konten, Limits und verbotene Praktiken; die Zulassung eines Screeners bedeutet nicht automatisch die Zulassung jeder Ausführungsmethode.
12. Was anfangs nicht automatisiert werden sollte
Vor der Automatisierung der Ausführung müssen auch Tätigkeiten jenseits des Signals beschrieben werden. Die folgende Liste zeigt Aufgaben, die eine separate Regel und einen Test benötigen; wir unterstellen keine grundsätzliche Überlegenheit manueller Ausführung.
- Positionsverwaltung. Definieren Sie Positionsgröße, Stoppänderungen und Teilschließungen vor ihrer Automatisierung. Die Praxis kann unklare Entscheidungen aufdecken, aber manuelle Ausführung belegt keine Überlegenheit einer Regel.
- Makrokalender. Ein Screener kann NFP berücksichtigen, wenn er einen korrekten Zeitplan und eine Sperrregel erhalten hat. Er kann weder Spread noch Inhalt einer unveröffentlichten Mitteilung vorhersagen. Ein fehlender Kalender ist eine ausdrückliche Einschränkung, keine Eigenschaft jedes automatischen Systems.
- Auswahl des Universums. Definieren und versionieren Sie die Liste vor dem Test. Schlecht gelaufene Paare nach Ergebnisprüfung auszuschließen ist ein weiterer Auswahlversuch. Messen Sie Paareigenschaften auf festgelegten Daten, statt ihnen konstante Eigenschaften zuzuschreiben.
- Wochenenden und Unterbrechungen. Ein Spread-Filter kann neue Orders aussetzen, begrenzt aber nicht den Lückenverlust einer bestehenden Position. Weniger Nominalexposure verringert die Preissensitivität; ein gewöhnlicher Stopp garantiert keinen Preis. Eine Optionsabsicherung erfordert eine gesonderte Vereinbarung und ein Konto, nicht bloß das Etikett „Hedge“. Unterbrechungsrisiko behandelt Artikel 4.4.
- Kontozustand. Prüfen Sie Produkt, Hedging-/Netting-Modus, Margin für eine neue Anweisung und Regeln zur Positionsschließung bei unzureichenden Sicherheiten. Die Liquidationsreihenfolge hängt vom Anbieter ab; die Schließung des größten Verlusts ist keine unterstellte allgemeine Regel. Margin und Kundenschutz behandelt gesondert Artikel 2.6. Die Annahmefähigkeit für eine Order zu einem Zeitpunkt garantiert nicht den späteren Erhalt der Position.
Automatisieren Sie klar definierte, wiederholbare Tätigkeiten und bewahren Sie ihre Spuren auf. Scan, Alarme, Entscheidungen und Ausführung sind aufeinanderfolgende Stufen mit eigenen Fehlern und Grenzen. Eine Regel schneller zu wiederholen verbessert ihre Qualität nicht, sondern ermöglicht ihre konsequente Umsetzung und Prüfung.
13. Werkzeuge im Vergleich
| Werkzeug | Skriptsprache | Screening | Alarme | Backtesting | Automatische Ausführung | Kosten – Richtwert |
|---|---|---|---|---|---|---|
| TradingView – Basistarif | Pine Script | Plattformfilter | Gemäß aktuellem Tarif | Strategieemulator | Das Strategieskript selbst sendet keine nativen Broker-Orders | Tarif und Daten prüfen |
| TradingView – kostenpflichtige Tarife | Pine Script | Umfang abhängig vom Werkzeug | Gemäß aktuellem Tarif | Strategieemulator | Ein Webhook braucht eine gesonderte Ausführungsschicht; Broker-Anbindung macht ein Skript nicht automatisch zum EA | Aktuelle Preise |
| MT4 | MQL4 | Eigene Indikatoren | Ja: Popup, Push, E-Mail | Strategy Tester (1 Symbol) | Expert Advisors | 0 USD – vom Broker |
| MT5 | MQL5 | Eigene Indikatoren | Ja: Popup, Push, E-Mail | Strategy Tester – mehrere Währungen | Expert Advisors | 0 USD – vom Broker |
| cTrader | C# / Plattformwerkzeuge | Gemäß Konfiguration | Gemäß Konfiguration | cBot-Tests | cBot – separate Ausführungslogik | Plattform- und Anbieterbedingungen |
| Eigene Umgebung | Beispielsweise Python | Vom Autor definierte Regel | Eigene Infrastruktur | Autorenmodell / Bibliotheken | Separate API-Schicht | Daten, Wartung und Infrastruktur |
Die Tabelle beschreibt Funktionsumfänge, keine Qualitätsrangliste. Werkzeuglizenzen, Datenzugang, VPS und Transaktionskosten sind separate Posten. Prüfen Sie Tarifgrenzen und Preise in der aktuellen Dokumentation.
- Primäre Zeiteinheit: D1 – dort finden Screening und Analyse statt. Den Kontext liefert W1.
- Beobachtungsliste: wählen Sie ein versioniertes Universum, das Sie prüfen und überwachen können. Die Anzahl auf der aktiven Liste ist ein Ergebnis der Regel, kein zu erzwingendes Ziel.
- Zwei Filter. Beispielsweise EMA 200 und RSI 14 als ausdrücklich definierte Preistransformationen. Ihre Schwellen sind zu prüfende Konventionen, keine belegte Beseitigung des größten Teils des Rauschens.
- 1 Alarmart für den Anfang: Preisalarme auf Unterstützungs-/Widerstandszonen aus dem Wochenchart. Indikatoralarme kommen später hinzu.
- Beginnen Sie mit einem prüfbaren Prozess. Ein Scanner und eine Alarmregel können eine überschaubare erste Übung sein. Ergänzen Sie Ausführung, nachdem ihre Regeln für Kontozustand und Fehlerbehandlung festgelegt sind.
- Prozessübung und Forward-Test. Zwei oder drei Monate auf Demo können als angenommene Übungsdauer für Betrieb, Aufzeichnung und Regeleinhaltung dienen; sie sind kein ausreichendes Mindestmaß zur Validierung. Zahl und Zeitraum der Beobachtungen hängen von Ereignishäufigkeit, Ergebnisabhängigkeit und Variabilität ab. Demo reproduziert Ausführungsbedingungen eines Echtgeldkontos nicht automatisch. Der Ablauf eines gewählten Zeitraums garantiert weder Repräsentativität noch Profitabilität.
Positionsgröße – außerhalb des Umfangs dieses Artikels
Ein Setup ohne passende Positionsgröße auszuwählen ist erst die halbe Arbeit. Formeln, die Behandlung von Kosten im Risikobudget und durchgerechnete Zahlenbeispiele gehören jedoch in Abschnitt 9. Der interaktive Positionsgrößenrechner und der Monte-Carlo-Simulator befinden sich im Bereich Werkzeuge.
Eine feste Regel an realen Daten: Schlusskurs außerhalb der Spanne oder nur Docht?
Eine Kerze kann ein früheres Hoch überschreiten und darüber schließen oder in die Spanne zurückkehren. Beschreibt dieser Unterschied in diesen Datensätzen verschiedene spätere Kursänderungen? Wir legten einen Vergleich fest, bevor wir seine Zusammenfassung berechneten. Dies ist eine rückblickende Beschreibung der Historie eines einzigen Anbieters. Einige Zeiträume waren bereits in unseren Lehrbeispielen enthalten; weder der Zeitstempel des Plans noch die Datumsteilung erzeugt einen zuvor ungesehenen Testdatensatz.
Die Eingabe besteht aus jeweils 6000 unveränderten Bid-H1-Datensätzen für EUR/USD, GBP/USD und USD/JPY aus ICMarketsSC-Demo / MT5. Innerhalb der Kandidatendaten enthält das Register 17995 Datensätze und 3140 einseitige Kandidaten. Die Sperrphase wählt 1086 aus; 1039 haben ein lückenloses Ergebnis über sechs Datensätze, und 47 überqueren eine künftige Zeitstempellücke. Diese 47 bleiben mitgezählt, statt stillschweigend verworfen zu werden.
| Richtung · Kategorie | Verfügbar / ausgewählt | Mittelwert | Median | Anteil > 0 |
|---|---|---|---|---|
| AUFWÄRTS · Schlusskurs | 271 / 280 | -0,0689 | -0,1433 | 0,4613 |
| AUFWÄRTS · Docht | 258 / 273 | 0,2077 | 0,0577 | 0,5078 |
| ABWÄRTS · Schlusskurs | 226 / 236 | 0,0934 | -0,1256 | 0,4823 |
| ABWÄRTS · Docht | 284 / 297 | -0,0152 | -0,2569 | 0,4472 |
Eine positive vorzeichenbehaftete Änderung folgt der Durchbruchsrichtung; eine negative verläuft dagegen. Mittelwert, Median und Anteil über null beantworten unterschiedliche Fragen. Bei ABWÄRTS · Schlusskurs ist der Mittelwert positiv, während der Median negativ ist und weniger als die Hälfte der Beobachtungen positiv sind. Keine dieser Zahlen ist eine Gewinnquote nach Kosten.
Exakte Regel und Grenzen des Vergleichs
Frieren Sie für Kandidat t das höchste Hoch und tiefste Tief der vorherigen 20 abgeschlossenen H1-Datensätze ein. Verlangen Sie ein lückenloses Stundenraster von t−21 bis t; der älteste Datensatz liefert den vorherigen Schlusskurs für True Range. Ein Durchbruch beider Grenzen wird zuerst ausgeschlossen. Andernfalls wird ein Schlusskurs strikt außerhalb als CLOSE klassifiziert oder ein Hoch-/Tiefdurchbruch bei Schlusskurs innerhalb, einschließlich Gleichheit, als WICK. Gleichheit des Extremwerts allein ist kein Durchbruch.
Nehmen Sie den ersten Kandidaten je Symbol und sperren Sie danach die nächsten sechs Indizes unabhängig von der späteren Ergebnisverfügbarkeit. Prüfen Sie erst nach der Auswahl die nächsten sechs Datensätze auf exakte Stundenschritte. Messen Sie Richtung × (C bei t+6 − C bei t), in Pips und geteilt durch das arithmetische Mittel des TR der 20 vorherigen Datensätze. Der Kandidat geht weder in seine Referenzspanne noch in diesen Nenner ein.
Die Abbildung fasst Ereignisse zusammen; Symbole mit mehr verfügbaren Ereignissen haben deshalb mehr Gewicht. Ergebnisfenster überlappen innerhalb eines Symbols nicht, doch 808 benachbarte Ereignispaare teilen frühere Historie, und verfügbare Fenster verschiedener Paare überlappen sich in der Uhrzeit 950-mal. Die Juli-Gruppen verwenden das Kandidatendatum; ein Ergebnis überschreitet diese Grenze. Diese Abhängigkeiten und zeitlich strukturierten Lücken verhindern eine Unabhängigkeits- oder Kausalinterpretation. Hier gibt es keine Ausführungen, Spreadannahmen, Kontorenditen oder Behauptungen eines statistischen Vorteils.
Alle 48 Zusammenfassungszeilen (CSV) · Vollständiges Klassifikationsregister (CSV) · Ausgewählte Ereignisse und fehlende Ergebnisse (CSV) · Methode und Reproduktionsanleitung · Quellen, eingefrorener Plan, Code und Ausgaben (ZIP).
Abschlussaufgabe: Entscheidung und die nächsten sechs Kerzen getrennt halten
Dies ist der erste ausgewählte EUR/USD UP_CLOSE am oder nach dem 1. September 2026 mit verfügbarem Ergebnis: die H1-Kerze mit Beginn am 3. September um 19:00. Frühere UP_CLOSE-Kandidaten am 2. September um 16:00 und am 3. September um 15:00 wurden durch die bestehende Sperrphase abgelehnt. Der Fall wurde nach Chronologie und Verfügbarkeit gewählt, nicht nach Vorzeichen oder Größe seiner späteren Bewegung. Nennen Sie die qualifizierende H1-Kerze P.
Bei der Entscheidung beträgt die Spanne der vorherigen 20 Datensätze 1.15826–1.16302 und ihr mittlerer True Range 9.325 Pips. P schließt bei 1.16368 über dieser eingefrorenen Obergrenze. Die jüngste zulässige H4-Kerze beginnt um 16:00 und endet um 20:00, gleichzeitig mit dem H1-Schluss von P. Sie zeigt dieselbe Bid-Historie in größerem Maßstab, keine unabhängige Bestätigungsstimme. Beide endgültigen Datensätze müssen nach dem Ende ihrer Intervalle noch empfangen werden.
Bevor Sie eine weitere Kerze aufdecken: halten Sie fest, was die Bedingung erfüllt, wann die früheste Beurteilung möglich ist und was unbekannt bleibt. Beenden Sie in dieser Übung die Beobachtung beim ersten nachfolgenden H1-Schlusskurs auf oder unter 1.16302. Halten Sie diese Grenze fest. Dies ist eine analytische Abbruchbedingung; sie legt weder Order noch Stop-Loss-Ausführung oder Positionsgröße fest.
Ansicht 0: bis zur H1-Kerze vom 2026-09-03 um 19:00
P erfüllt UP_CLOSE erst nach Empfang seines endgültigen Datensatzes, frühestens um 20:00. Der weitere Verlauf bleibt verborgen. Die Erfüllung allein liefert weder einen ausführbaren Ask-Kurs noch Kosten.
EUR/USD Bid H1/H4. MT5-Originalzeit; nur diese Vorgeschichte sichtbar. H4-Kontext bleibt fixiert. Datensatz 1 von 6 aufdecken
Ansicht 1: bis zur H1-Kerze vom 2026-09-03 um 20:00
Der aufgedeckte Schlusskurs beträgt 1.16328, über 1.16302. Die Abbruchbedingung ist nicht eingetreten; dies sagt den nächsten Schlusskurs nicht voraus.
EUR/USD Bid H1/H4. MT5-Originalzeit; nur diese Vorgeschichte sichtbar. H4-Kontext bleibt fixiert. Datensatz 2 von 6 aufdecken
Ansicht 2: bis zur H1-Kerze vom 2026-09-03 um 21:00
Der aufgedeckte Schlusskurs beträgt 1.16346, über 1.16302. Die Abbruchbedingung ist nicht eingetreten; dies sagt den nächsten Schlusskurs nicht voraus.
EUR/USD Bid H1/H4. MT5-Originalzeit; nur diese Vorgeschichte sichtbar. H4-Kontext bleibt fixiert. Datensatz 3 von 6 aufdecken
Ansicht 3: bis zur H1-Kerze vom 2026-09-03 um 22:00
Schlusskurs 1.16286 liegt auf oder unter 1.16302. Die Beobachtung endet nach dem Schluss dieser 22:00-Kerze, frühestens um 23:00. Die frühere Klassifizierung UP_CLOSE bleibt korrekt.
EUR/USD Bid H1/H4. MT5-Originalzeit; nur diese Vorgeschichte sichtbar. H4-Kontext bleibt fixiert. Datensatz 4 von 6 aufdecken
Ansicht 4: bis zur H1-Kerze vom 2026-09-03 um 23:00
Der Schlusskurs beträgt nun 1.16257. Die Beobachtung endete bereits bei der 22:00-Kerze; der neue Datensatz ändert nicht, wann diese Bedingung bekannt wurde.
EUR/USD Bid H1/H4. MT5-Originalzeit; nur diese Vorgeschichte sichtbar. H4-Kontext bleibt fixiert. Datensatz 5 von 6 aufdecken
Ansicht 5: bis zur H1-Kerze vom 2026-09-04 um 00:00
Der Schlusskurs beträgt nun 1.16229. Die Beobachtung endete bereits bei der 22:00-Kerze; der neue Datensatz ändert nicht, wann diese Bedingung bekannt wurde.
EUR/USD Bid H1/H4. MT5-Originalzeit; nur diese Vorgeschichte sichtbar. H4-Kontext bleibt fixiert. Datensatz 6 von 6 aufdecken
Ansicht 6: bis zur H1-Kerze vom 2026-09-04 um 01:00
Der sechste Schlusskurs beträgt 1.16232: −13.6 Pips gegenüber P oder −544/373 (etwa −1.4584) Einheiten des vorherigen mittleren TR20. Das ist eine beobachtete Bid-Kursänderung, kein rekonstruierter Handelsverlust.
EUR/USD Bid H1/H4. MT5-Originalzeit; nur diese Vorgeschichte sichtbar. H4-Kontext bleibt fixiert.
Jede Ansicht skaliert anhand ihrer eigenen sichtbaren Kurse; kein künftiger Extremwert bestimmt die anfänglichen Achsen. H4 bleibt auf dem Entscheidungsstand eingefroren. Ursprüngliche MT5-Kerzenbeginnzeiten bleiben erhalten, der Broker-Offset ist nicht verifiziert, und tatsächliche Empfangszeiten wurden nicht gemessen. Zur Modellierung einer ausführbaren Reaktion wäre weiterhin eine spätere Quotierung erforderlich.
Daten und Zeithinweise zur Abschlussaufgabe · Alle 28 H1-Datensätze einschließlich des aufgedeckten Verlaufs (CSV). Das vollständige Register und ZIP oben bewahren Ausschlüsse und Rechenweg auf.
Häufige Fragen – Automatisierung und Screening in der technischen Analyse
Muss ich programmieren können, um Screening zu nutzen?
Nein. Integrierte TradingView-Screener und MT4/MT5-Dashboards folgen dem Prinzip „Filter anklicken, Schwellen einstellen, Liste erhalten“. Pine Script und MQL erweitern die Möglichkeiten um eigene Bedingungen und zusammengesetzte Alarme, grundlegendes Screening erfordert aber keinen eigenen Code.
Lohnt sich der Kauf eines fertigen Expert Advisor (EA)?
Die Bewertung erfordert dokumentierte Regeln, eine vollständige Historie von Versuchen und Änderungen, ein Kostenmodell und neue Beobachtungen. Selbst eine verifizierte Kontohistorie garantiert weder Repräsentativität noch künftige Ergebnisse. Ein attraktiver Backtest oder eine Bewertung allein ersetzt diese Prüfungen nicht.
Wie viele Alarme sollte ich gleichzeitig setzen?
Es gibt keine allgemeingültige Zahl. Dokumentieren Sie Durchsichtskapazität und Bedingungsablauf und reduzieren Sie Wiederholungen durch Deduplizierung. Sie können das gesamte Universum scannen, ohne nach jeder weiteren Kerze im selben Zustand eine Nachricht zu senden.
Wie zuverlässig ist ein Forex-Backtest?
Das hängt von Daten, Regeln und Ausführungsmodell ab. OHLC legt die Reihenfolge von SL/TP innerhalb derselben Kerze nicht fest. Ein Modus mit echten Ticks kann Lücken durch erzeugte Daten füllen. Ein Backtest prognostiziert keine Ergebnisse; ein Forward-Test prüft neue Beobachtungen unter den Grenzen von Stichprobenlänge und Vielfalt.
TradingView oder MT4/MT5 für das Screening?
Vergleichen Sie Quelle und Kerzengrenzen, verfügbare Filter, Alarmbetrieb und Testerumfang. TradingView-Alarme laufen auf dem Server; ein lokaler MT-Indikator benötigt eine laufende Plattform oder einen VPS. Ein TradingView-Strategieskript allein ist kein natives Broker-Handelssystem.
Ist Python für Backtesting besser als Pine Script?
Eine eigene Umgebung gibt Kontrolle über Daten und Modell, überträgt die Verantwortung für deren Richtigkeit aber auf den Autor. Ein Plattformtester besitzt festgelegte Konventionen und Grenzen. Die Wahl beseitigt weder Look-ahead noch Einheitenfehler oder ausgelassene Kosten.
Muss ich den Screener täglich ausführen?
Bewertet die Regel jeden D1-Schluss, sollte der Scan jeden solchen Schluss erfassen. Eine Durchsicht nur montags und donnerstags verpasst neue Bedingungen anderer Tage, sofern sie nicht weiterhin automatisch aufgezeichnet werden. Trennen Sie die Häufigkeit manueller Durchsicht von der Häufigkeit vollständiger Scans.
Quellen
Primärquellen
- Robert Pardo, The Evaluation and Optimization of Trading Strategies, 2. Aufl., Wiley, 2008 – Backtest-Methodik, Walk-forward-Analyse, Erkennen von Überanpassung; ein zentrales Werk zur Validierung automatisierter Strategien.
- Ernest P. Chan, Quantitative Trading: How to Build Your Own Algorithmic Trading Business, 2. Aufl., Wiley, 2021 – praktischer Leitfaden zum Aufbau quantitativer Strategien, vom Screening bis zur algorithmischen Ausführung.
- Perry J. Kaufman, Trading Systems and Methods, 6. Aufl., Wiley, 2020 – enzyklopädischer Überblick über Handelssysteme: Trendfilter, Screening, Tests und Strategieoptimierung.
- Andreas F. Clenow, Following the Trend, Wiley, 2013 – systematischer Trendhandelsansatz: Instrumenten-Screening, Portfolio-Backtests, Positionsverwaltung und praktische Automatisierungsaspekte.
Weiterführende Literatur
- David Aronson, Evidence-Based Technical Analysis, Wiley, 2007 – statistische Validierung technischer Analysemethoden: Data-Mining-Verzerrung, Signifikanztests und Mehrfachvergleichsproblem (Data Snooping); wichtige Lektüre für Strategietester.
- Marcos Lopez de Prado, Advances in Financial Machine Learning, Wiley, 2018 – weiterführende Literatur; ungelesene Kapitel werden nicht als Regelbelege angeführt.
- Alexander Elder, The New Trading for a Living, Wiley, 2014 – weiterführende Literatur; ungelesene Kapitel werden nicht als Regelbelege angeführt.
- Kathy Lien, Day Trading and Swing Trading the Currency Market, 3. Aufl., Wiley, 2016 – weiterführende Literatur; ungelesene Kapitel werden nicht als Regelbelege angeführt.
- Lukas Menkhoff, Mark P. Taylor, „The Obstinate Passion of Foreign Exchange Professionals: Technical Analysis“, Journal of Economic Literature, Bd. 45, Nr. 4, 2007 – Überblick zur Nutzung technischer Analyse im Forex-Handel; Kontext zur Rolle der Automatisierung bei professionellen Devisenhändlern.
- Andrew W. Lo, Adaptive Markets: Financial Evolution at the Speed of Thought, Princeton University Press, 2017 – Hypothese adaptiver Märkte: warum früher funktionierende Strategien ausfallen können; Folgen für Automatisierung und Backtesting.
Institutionelle Quellen und Dokumentation
- Schweizerische Nationalbank (2015), „Schweizerische Nationalbank hebt Mindestkurs auf und senkt Zins auf −0,75%“, Medienmitteilung, 15. Januar 2015.
- FCA (2015), „Informationen für Kunden von Alpari (UK) Limited“ – Eintritt von Alpari (UK) in das Sonderverwaltungsverfahren.
- BIZ-Marktausschuss (2017), „Das Pfund-Flash-Ereignis vom 7. Oktober 2016“, Januar 2017 – Ereignisanalyse: dünne Liquidität, Orders, algorithmische Reaktionen und Plattformabweichungen.
- TradingView, Pine-Script-Dokumentation – offizielle Sprachdokumentation: Skriptverhalten auf laufender und abgeschlossener Kerze (barstate), Alarme, strategy().
- MetaQuotes, MQL5-Referenz – offizielle MQL5-Dokumentation: Indikatoren, Expert Advisors, Strategy Tester.
- ESMA (2018), „ESMA vereinbart Verbot binärer Optionen und Einschränkung von CFDs zum Schutz von Privatanlegern“, 27. März 2018 – Produktinterventionspaket: Hebelgrenzen, Negativsaldoschutz, Risikowarnungen; aufsichtliche Analysen wiesen 74–89% verlustbringende Retail-CFD-Konten aus.