Der Skill hypothesis-test

Anfänger 6 Min

Der teuerste Fehler beim Testen einer Idee ist, die Regeln an die Vergangenheit anzupassen und einer schönen Zahl zu glauben.

Der Skill führt den Test so durch, wie es ein sorgfältiger Analyst tun würde: Er stimmt die Regeln mit Ihnen ab, rechnet mit Kosten, prüft separat auf Daten, an die die Idee nicht angepasst wurde, und vergleicht mit zufälligen Einstiegen. Alles, was der Agent selbst angenommen hat, kommt in den Bericht.

So installieren Sie ihn

Kopieren Sie den Skill-Text und fügen Sie ihn in den Chat des Agenten ein, mit dieser Zeile darüber:

Speichere das als Skill mit dem Namen "hypothesis-test". Wenn du keine Skills speichern kannst, halte dich bis zum Ende unseres Gesprächs daran.
hypothesis-test.SKILL.mdZum Herunterladen klicken
Skill-Text
---
name: hypothesis-test
description: Testet eine Trading-Idee auf der ATAS-Historie über den ATAS-MCP-Server, mit einem Standardbericht zu Kosten, Stichprobengröße, Out-of-Sample-Prüfung und Vergleich mit zufälligen Einstiegen. Verwenden, wenn der Nutzer einen Backtest möchte, ein Setup, ein Muster oder ein Level testen will oder wissen möchte, wie oft etwas passiert („funktioniert Absorption am POC von gestern“, „teste meine Idee“, „wie oft kehrt der Preis zum POC zurück“). Nicht für heutige Signale, Einstiegspunkte oder das Platzieren von Orders.
compatibility: Erfordert den ATAS-MCP-Server, eine Verbindung zu einer Kryptobörse und die Möglichkeit, Code für Berechnungen auszuführen. AI Connect gibt dem Agenten Marktdaten für Krypto.
metadata:
  version: 0.2
  updated: 2026-11-05
---

# hypothesis-test

Teste eine Trading-Idee auf der in ATAS verfügbaren Historie und berichte, was die Daten stützen. Antworte in der Sprache des Nutzers, knapp. Platziere niemals Orders und bezeichne das Ergebnis nie als Beweis, dass die Strategie Geld verdient.

## Feste Regeln

- Teste nur die Regeln, die der Nutzer bestätigt hat. Füge Filter, Sessions oder Zeitfenster nicht auf eigene Initiative hinzu, entferne oder verschärfe sie nicht. Ignoriere Vorlieben aus früheren Teilen des Gesprächs, sofern der Nutzer sie für diesen Test nicht wiederholt hat.
- Verwende nur ATAS-Daten. Externe Dienste und Dateien nur, wenn der Nutzer in derselben Anfrage darum gebeten hat; nenne dann die Quelle im Bericht.
- Rechne mit Code (deinem Tool zur Codeausführung). Berechne keine Statistiken im Kopf. Wenn du keinen Code ausführen kannst, sag das und beschränke dich darauf, Signale zu zählen.
- Halte jede Änderung und Annahme im Bericht unter „Annahmen und Änderungen“ fest, auch kleine.
- Lies Zahlen aus Tools ab. Schätze sie nie anhand eines Screenshots.

## 1. Regeln festlegen

Fülle die Felder aus der Anfrage aus. Frag einmal nach allem, was fehlt, und biete einen Standardwert an. Beginne erst, wenn der Nutzer bestätigt.

| Feld | Beispiel | Standard, wenn der Nutzer zustimmt |
|---|---|---|
| Instrument und Börse | BTCUSDT, Binance Perpetual Futures | Keiner, der Nutzer muss es angeben |
| Bar-Periode | 5 Minuten | Keiner, der Nutzer muss es angeben |
| Setup | Bullishes Engulfing mit Berührung des POC der vorherigen Session | Keiner, der Nutzer muss es angeben |
| Einstieg | Eröffnung des nächsten Bars | Eröffnung des nächsten Bars |
| Stop | Hinter dem Tief des Musters | Keiner, der Nutzer muss es angeben |
| Ziel | 1R | Keiner, der Nutzer muss es angeben |
| Zeitausstieg | Schließen um 20:00 UTC | Keiner, der Nutzer muss es angeben |
| Tageszeitfilter | Nur die Stunden der US-Session | Keiner |
| Seiten | Long und Short | Wie es sich aus dem Setup ergibt |
| Historie | Letzte 60 Tage | Alles, was der Chart laden kann |
| Kosten | Kommission in % des Handelswerts, Slippage 1 Tick pro Seite | Kommission aus `commissions_list`, Slippage 1 Tick pro Seite |
| Funding | Bei einem Perpetual-Futures-Kontrakt berücksichtigen | Nicht berücksichtigen und das in den Annahmen festhalten |

Wenn sich eine Regel auf zwei Arten lesen lässt, frag nach. „Berührt den POC“ braucht eine Definition in Ticks.

## 2. Daten holen, ohne die Charts des Nutzers anzufassen

1. `workspace_get_overview`, dann `instruments_search` für das Instrument.
2. Öffne einen separaten Chart: `modules_open` mit `placement: "newTab"` und `tabName: "Hypothesis test"`. Ändere weder Periode noch Historientiefe auf den Charts des Nutzers.
3. Setze die Tiefe über `module_update_context` mit `timeFrame: {"minutes": 5, "daysToLoad": N}`. Wenn `loaded` false ist, warte und prüfe erneut. Lange Zeiträume können eine Weile zum Laden brauchen.
4. Lies Bars mit `chart_get_bars`: `format: "table"`, nur die benötigten `fields`, `count` bis 2000. Blättere mit `to` rückwärts. Verwirf den letzten Bar, wenn er sich noch bilden könnte.
5. Session-Levels: Füge dem Testchart den Indikator Volumenprofil & TPO hinzu (englisch Volume Profile & TPO, finde ihn mit `indicators_search`) und lies `indicators_get_values` mit `levels: 0`, bis zu 30 Profile pro Aufruf, geblättert mit `to`. Berechne POC und Value Area nicht aus Bars neu.
6. Footprint-Bedingungen: `chart_get_bars` mit `footprint: true`. `footprintBars` ist auf 100 Bars pro Aufruf begrenzt und zählt vom neuesten zurückgegebenen Bar an. Teste Footprint-Bedingungen deshalb nur auf dem Abschnitt, den du tatsächlich lesen kannst, und sag, wie weit er zurückreicht. Prüfe den Footprint zuerst: Wenn das Volumen pro Level auf den meisten Bars fast gleich ist, ist es gleichmäßig verteilt, und solche Levels und POC dürfen nicht verwendet werden. Sag das und nenne die Tage, an denen die Daten normal sind.
7. Ein Setup, das sich als Skript pro Bar ausdrücken lässt, kann mit `scripts_preview` berechnet werden: Es rechnet über die letzten 20000 Bars und speichert nichts. Dafür sind Script Lab und die Erlaubnis zum Ausführen von Skripten nötig. Wird das abgelehnt, nutze Bars.

Wenn ATAS keine Marktdaten für das Instrument liefert, sag, dass sie über AI Connect für Krypto verfügbar sind, und halte an, bis der Nutzer ein Instrument wählt. Replay-Bars und ATAS Sim sind nicht verfügbar; suche keine Umwege.

Bar-Zeiten sind in UTC. Krypto wird rund um die Uhr gehandelt, daher werden Sessions über Tageszeiten definiert. Nimm den Chart-Offset aus `chartTimeZoneOffset` und berücksichtige Sommerzeitumstellungen, wenn die Session an New York oder London gebunden ist.

Halte vor der Berechnung den ersten und letzten Bar, die Anzahl der Sessions und eventuelle Lücken fest, und ob der angeforderte Zeitraum vollständig geladen wurde. Wenn nicht, nenne dem Nutzer den tatsächlichen Zeitraum.

## 3. Ehrlich rechnen

- **Kein Look-ahead.** Ein Signal existiert erst, nachdem sein Bar geschlossen hat. Ein Level existiert erst, nachdem die Session, die es gebildet hat, geschlossen hat. Einstieg auf dem nächsten Bar oder später.
- **Stop und Ziel im selben Bar:** Werte es als Stop und berichte, wie viele Trades das betraf.
- **Kosten:** Kommission und Slippage bei jedem Trade, beim Einstieg und beim Ausstieg. Berechne eine prozentuale Kommission aus dem Handelswert zum Füllpreis. Berücksichtige Funding nur, wenn der Nutzer darum gebeten hat.
- **Offene Positionen:** jeweils eine Position, sofern der Nutzer nichts anderes gesagt hat. Berichte, wie viele Signale deshalb übersprungen wurden.
- **Kontrakte:** Spot und Perpetual Futures haben keine Rollovers. Wenn das Instrument ein Verfallsdatum hat, vermerke Rollovers innerhalb des Zeitraums.
- **Bars sind keine Ticks.** Ein- und Ausstiege nähern nur an, was eine echte Order bekommen hätte.

## 4. Mit etwas vergleichen

- **Nach Zeit teilen, bevor du dir das Ergebnis ansiehst:** Die ersten 70 % sind In-Sample, die letzten 30 % die Out-of-Sample-Prüfung. Berichte beide Teile. Wenn Out-of-Sample weniger als 30 Trades hat, sag, dass es nichts bestätigen kann.
- **Vergleichsbasis:** dieselben Ausstiege und Kosten bei zufälligen Einstiegen in denselben Sessions, mit genug Wiederholungen für ein stabiles Ergebnis. Zeig das Setup neben dieser Basis, zusammen mit der Streuung der Durchläufe. Liegt das Ergebnis des Setups innerhalb der Streuung, schreib, dass es sich nicht von zufälligen Einstiegen unterscheidet. Nenne es weder besser noch schlechter.
- **Parameteranpassung:** Optimiere nur, wenn darum gebeten wird. Wenn ja, berichte, wie viele Varianten du probiert hast, und teste die gewählte nur ein einziges Mal Out-of-Sample.

## 5. Ein Urteil wählen

Verwende genau eines:

- **Zu wenig Daten:** weniger als 30 Trades insgesamt. Nenne die Anzahl und ziehe keine Schlüsse über das Ergebnis.
- **Kein Vorteil erkennbar:** Nach Kosten ist das Setup nicht besser als die Vergleichsbasis, oder sein Erwartungswert liegt nicht über null.
- **Schwache Bestätigung:** In-Sample besser als die Vergleichsbasis, aber Out-of-Sample weicht es ab, es gibt zu wenige Trades, oder wenige Trades bringen den Großteil des Ergebnisses.
- **Weiter testen lohnt sich:** in beiden Teilen nach Kosten besser als die Vergleichsbasis und nicht von wenigen Trades abhängig.

Schreib niemals „funktioniert“, „profitabel“ oder „bewiesen“. Der stärkste Schluss ist, dass sich weiteres Testen der Idee lohnt.

## 6. Bericht

Verwende dieses Format. Gib Ergebnisse in R und in Prozent des Einstiegspreises an, in Geld nur, wenn die Positionsgröße bekannt ist.

```
Hypothese: <eine Zeile>
Regeln wie getestet: <alle Felder>
Daten: <Instrument, Börse, Zeitraum, erster und letzter Bar, Stunden, Quelle>
Annahmen und Änderungen: <alles, was du selbst entschieden hast, oder "keine">

                   In-Sample   Out-of-Sample   Zufällige Einstiege
Trades
Trefferquote (95-%-Bereich)
Durchschn. Gewinn / Verlust (R)
Erwartungswert nach Kosten (R)
Profit-Faktor
Max. Drawdown (R)
Längste Verlustserie

Kosten pro Trade: <% und R>
Breakeven-Trefferquote für diese Ausstiege: <%>
Stop und Ziel im selben Bar: <Anzahl>
Übersprungene Signale: <Anzahl>
Anteil der 3 besten Trades am Gewinn: <%>
Nach Monaten: <Trades und Erwartungswert>

Urteil: <eines der vier>
Warum: <zwei oder drei Sätze mit Zahlen>
Was dieser Test nicht sagen kann: <seine echten Grenzen>
Nächster Test: <ein konkreter Vorschlag>
```

## 7. Aufräumen

Frag, ob der Testchart behalten werden soll. Wenn nicht, schließe ihn mit `modules_close`. Markiere Beispiel-Trades nur auf Wunsch des Nutzers (`LongPosition` / `ShortPosition`) und nur auf dem Testchart.

Schließe mit einer Zeile: Das ist ein historischer Test; vergangene Ergebnisse garantieren keine zukünftigen Ergebnisse, und die Entscheidung liegt beim Trader.

So starten Sie ihn

Nutze hypothesis-test. BTCUSDT, 5 Minuten, gesamte geladene Historie, nur US-Session, 9:30-16:00 New Yorker Zeit. Ich kaufe, wenn der Bar einen Stack aus drei oder mehr aufeinanderfolgenden Levels mit diagonaler Kauf-Imbalance hat: Das Ask-Volumen auf einem Level ist 3-mal so groß wie das Bid-Volumen auf dem Level darunter. Der Bar muss im oberen Drittel seiner Spanne schließen. Einstieg zur Eröffnung des nächsten Bars, Stop hinter dem Tief des Signalbars, Ziel 1R, Ausstieg um 16:00 New Yorker Zeit. Kommission 0,05 % des Handelswerts pro Seite, Slippage 0,01 % pro Seite.

Der Agent wiederholt die Regeln und fragt nach allem, was sich auf mehr als eine Weise lesen lässt:

Chat mit dem KI-Agenten
Sie

Nutze hypothesis-test. BTCUSDT, 5 Minuten, gesamte geladene Historie, nur US-Session, 9:30-16:00 New Yorker Zeit. Ich kaufe, wenn der Bar einen Stack aus drei oder mehr aufeinanderfolgenden Levels mit diagonaler Kauf-Imbalance hat: Das Ask-Volumen auf einem Level ist 3-mal so groß wie das Bid-Volumen auf dem Level darunter. Der Bar muss im oberen Drittel seiner Spanne schließen. Einstieg zur Eröffnung des nächsten Bars, Stop hinter dem Tief des Signalbars, Ziel 1R, Ausstieg um 16:00 New Yorker Zeit. Kommission 0,05 % des Handelswerts pro Seite, Slippage 0,01 % pro Seite.

KI-Agent

ATAS ist verfügbar. Vor dem Test brauche ich Ihre Bestätigung der fehlenden Details; Ihre Anweisungen für hypothesis-test verlangen das:

  1. Börse und Kontrakt: Der offene Chart ist BTCUSDT Binance Futures. Diesen Perpetual-Futures-Kontrakt verwenden?
  2. Stop „hinter dem Tief“: Ich schlage einen minimalen Tick unter dem Tief des Signalbars vor.
  3. Imbalance: Ich schlage ask ≥ 3 × bid auf dem Level darunter vor; bei Bid null und positivem Ask als Imbalance zählen. Levels sind benachbarte minimale Ticks des Instruments, ohne Preise zusammenzufassen. Passt das?
  4. Session: 09:30-16:00 New Yorker Zeit mit Sommerzeit. Jeden Kalendertag testen, einschließlich Wochenenden, oder nur Montag bis Freitag? Ich schlage jeden Tag vor, ohne zusätzliche Filter.
  5. Historie: „Gesamte geladene“ als die Tiefe des aktuellen BTC-Charts verstehen, die ich auf einem separaten Testchart nachbilde?
  6. Ausführung: Ich schlage jeweils eine Position vor, ohne Funding; 1R ist der Abstand vom Einstiegspreis mit Slippage bis zum Stop, Ziel vor Kosten. Der letzte erlaubte Einstieg ist 15:55, eine noch offene Position wird um 16:00 geschlossen.

Die übrigen Regeln stehen fest: 5 Minuten, nur Long, ein Stack aus ≥3 Imbalances, Schluss im oberen Drittel, Einstieg zur nächsten Eröffnung, Kommission 0,05 % und Slippage 0,01 % pro Seite.

Bestätigen Sie die vorgeschlagenen Werte oder sagen Sie mir, was ich ändern soll.

Das ist ein historischer Test; vergangene Ergebnisse garantieren keine zukünftigen Ergebnisse, und die Entscheidung liegt beim Trader.

Nach Ihrer Bestätigung rechnet der Agent auf einem Chart in einem neuen Tab „Hypothesis test“, und Ihre Charts bleiben, wie sie waren. In diesem Lauf hat er noch einmal angehalten: Der BTCUSDT-Footprint in ATAS kommt in Preisschritten von 10 USDT, während die bestätigte Regel von einem minimalen Tick von 0,1 USDT sprach. Sie haben präzisiert, dass benachbarte Levels 10 USDT auseinanderliegen und der Stop 10 USDT unter dem Tief liegt.

Was Sie bekommen

Zuerst kommen das Urteil und die Regeln in der Form, in der sie getestet wurden. Dann eine Tabelle für den ersten Teil des Zeitraums, den zweiten Teil und zum Vergleich zufällige Einstiege: Trades, Trefferquote, Erwartungswert nach Kosten, Drawdown. Am Ende steht der wichtigste Teil: warum dieses Urteil, was der Test nicht sagen kann und was als Nächstes zu prüfen ist.

Vollständige Antwort des Agenten
Chat mit dem KI-Agenten
Sie

Nimm die Levels im Footprint-Schritt des Charts, 10 USDT: drei benachbarte Levels sind drei aufeinanderfolgende Preise mit diesem Schritt. Setze den Stop 10 USDT unter das Tief der Signalkerze. Alles andere wie bestätigt. Leg los.

KI-Agent

Hypothese: Kauf nach ≥3 benachbarten diagonalen 3:1-Imbalances und einem Schluss des Bars im oberen Drittel.

Regeln wie getestet: BTCUSDT Binance Futures, Perpetual-Kontrakt, 5 Minuten; Levels im Abstand von 10 USDT, ask ≥ 3 × bid auf dem Level darunter, positiver Ask bei Bid null zählt. Long zur nächsten Eröffnung; Stop 10 USDT unter dem Tief des Signalbars; Ziel 1R vom Füllpreis des Einstiegs. Jeden Tag, 09:30-16:00 New Yorker Zeit mit der Umstellung auf Winterzeit; letzter Einstieg 15:55, Zwangsausstieg um 16:00. Jeweils eine Position. Kommission 0,05 %, Slippage 0,01 % pro Seite; kein Funding.

Daten: nur ATAS, Binance Only Market Data. 18.113 abgeschlossene Bars, 4. Sept. 2026 00:00 bis 5. Nov. 2026 21:20 UTC; 63 Sessions, keine Lücken. Die bestätigte Tiefe ist vollständig geladen. Der Footprint wurde für den ganzen Zeitraum in Blöcken von bis zu 100 Bars gelesen.

Annahmen und Änderungen: Der Abstand der Levels und der Stop-Abstand wurden nach Ihrer Vorgabe geändert. Der sich bildende Bar ist ausgeschlossen. Der 70/30-Trennpunkt wurde vor der Berechnung festgelegt: 18. Okt. 2026 00:35 UTC. Das obere Drittel schließt seine untere Grenze ein; ein Bar mit einer Spanne von null ist kein Signal. Ein Gap durch den Stop wird zur Eröffnung mit Slippage gefüllt. Zufallsbasis: 2.000 Durchläufe mit derselben Anzahl von Einstiegsversuchen pro Tag, Stop hinter dem vorherigen Bar und denselben Ausstiegen; Versuche mit einem Einstieg unter dem Stop werden übersprungen. Deshalb unterscheidet sich die Anzahl der ausgeführten Trades.

Kennzahl In-Sample Out-of-Sample Zufällige Einstiege¹
Trades 239 109 306 / 155
Trefferquote, 95-%-Intervall 42,3 % [36,2-48,6] 40,4 % [31,6-49,8] 16,7 % / 17,2 %
Durchschn. Gewinn / Verlust, R +0,51 / −1,34 +0,53 / −1,45 +0,40 / −2,49; +0,42 / −2,53
Erwartungswert nach Kosten, R −0,557 −0,651 −2,013 / −2,022
Erwartungswert, % des Einstiegspreises −0,1134 % −0,1139 % −0,1257 % / −0,1284 %
Profit-Faktor² 0,279 0,246 0,032 / 0,034
Max. Drawdown, R 133,67 70,94 615,64 / 312,42
Längste Verlustserie 11 8 26 / 19

¹ Mediane der Durchläufe: In-Sample / Out-of-Sample. Mittlere 95 % der Durchläufe nach Erwartungswert: [−2,200; −1,838] R / [−2,282; −1,782] R. Die durchschnittlichen Ergebnisse zweier Hälften mit je 1.000 Durchläufen unterschieden sich um weniger als 0,004R. ² Aus den Summen der Ergebnisse in R.

Durchschnittlicher Gewinn / Verlust in Prozent des Einstiegs: In-Sample +0,1823 % / −0,3298 %, Out-of-Sample +0,1996 % / −0,3261 %.

Kosten pro Trade: im Durchschnitt 0,1200 %, oder 0,597R; nach Teilen 0,591R / 0,611R. Breakeven-Trefferquote aus den beobachteten durchschnittlichen Gewinnen und Verlusten: 72,7 %. Stop und Ziel im selben Bar: 0. Wegen einer offenen Position übersprungene Signale: 180 von 528. Anteil der drei besten Trades am Gewinn: 3,57 % der Summe der positiven Ergebnisse; das Gesamtergebnis ist negativ, daher ist ein Anteil am Nettogewinn nicht anwendbar.

Monat Trades Erwartungswert, R % des Einstiegs
September 147 −0,484 −0,1070 %
Oktober 170 −0,659 −0,1177 %
November, bis zum 5. 31 −0,675 −0,1220 %

Urteil: Kein Vorteil erkennbar.

Das Setup liegt in R über der Zufallsbasis, aber nach Kosten ist der Erwartungswert in beiden Teilen negativ: −0,557R und −0,651R. Out-of-Sample gibt es 109 Trades; auch dieses Ergebnis ist negativ.

Was dieser Test nicht sagen kann: Fills auf Basis von Bars bilden weder die Warteschlange der Limit-Orders noch echte Spreads oder die Bewegung innerhalb des Bars nach; Funding ist ausgeschlossen. Der Drawdown ist in Summen von R ausgedrückt, ohne Modell für die Positionsgröße.

Nächster Test: die unveränderten Regeln auf einem neuen Zeitraum wiederholen, der bisher nicht verwendet wurde.

Den Testchart Hypothesis test 2 behalten oder schließen?

Das ist ein historischer Test; vergangene Ergebnisse garantieren keine zukünftigen Ergebnisse, und die Entscheidung liegt beim Trader.

Es gibt vier Urteile: zu wenig Daten, kein Vorteil erkennbar, schwache Bestätigung, weiter testen lohnt sich. Das stärkste ist das letzte, weiter kann ein historischer Test nicht gehen. Die Idee in diesem Beispiel bekam „kein Vorteil erkennbar“: Sie schneidet besser ab als zufällige Einstiege, aber nach Kosten ist der Erwartungswert in beiden Teilen des Zeitraums negativ. Kommission und Slippage, als Prozentsatz berechnet, haben im Durchschnitt 0,6 R pro Trade gefressen.

Was Sie einstellen können

Feld Was Sie angeben Wenn Sie nichts angeben
Instrument, Zeitraum, Setup, Stop, Ziel Ihre Regeln Der Agent fragt nach
Einstieg Wann Sie einsteigen Eröffnung des nächsten Bars
Zeitausstieg Wann der Trade enden muss Ende der Session
Session-Filter Zum Beispiel nur New York Kein Filter
Historie Wie weit zurück Alles, was der Chart lädt
Kosten Ihre Kommission und Slippage Ihre Kommission aus ATAS und 1 Tick pro Seite
Funding Ob es bei einem Perpetual-Futures-Kontrakt berücksichtigt wird Nicht berücksichtigt

Sie können die Bedingung auch in Footprint-Begriffen beschreiben, wie im Beispiel: ein Stack von Imbalances, Delta auf dem Level, auf dem der Bar geschlossen hat.

Was Sie brauchen

  • Eine Verbindung zu einer Kryptobörse mit Footprint-Daten, wenn die Bedingung den Footprint nutzt
  • Einen Agenten, der Code ausführen kann

Das ist ein historischer Test. Vergangene Ergebnisse garantieren keine zukünftigen Ergebnisse, und die Handelsentscheidung liegt bei Ihnen.