CommunityCodierung & Entwicklunggithub.com

aabrur/trading-agent-mpu-gandring

Vor dem Senden einer Order auf einer CEX (Bybit V5) oder DEX (Hyperliquid) einsetzen. Befragt den Eigentümer nach schriftlichen Limits, berechnet die Ticketgröße anhand eines Live-Kontostands und gibt PASS oder FAIL zurück. Sendet niemals Orders.

Was ist trading-agent-mpu-gandring?

Dieses Skill fungiert als Risikogate für Handelsagenten auf zentralisierten Börsen (CEX) wie Bybit V5 und dezentralen Börsen (DEX) wie Hyperliquid. Es stellt sicher, dass jede Order vor dem Senden strengen Risikokontrollen unterzogen wird. Der Agent führt zunächst ein strukturiertes Interview mit dem Eigentümer, um schriftliche Limits wie maximalen Verlust pro Trade, maximalen Gesamtverlust, Hebel, erlaubte Märkte und tägliche Verluststopps festzulegen. Diese Limits werden in einer Datei `risk-limits.md` gespeichert. Vor jeder Order liest der Agent Live-Daten des Kontos, des Instruments und des Orderbuchs und berechnet die Ordergröße basierend auf einem Stressverlustmodell (Stressed Loss). Wenn eine Teilmenge von Bedingungen nicht erfüllt ist – z. B. kein Stop-Loss, Markt nicht erlaubt, Mindestgröße unterschritten, Limits überschritten – gibt das Skill ein FAIL zurück. Andernfalls schreibt es einen PASS-Bericht. Wesentlich ist, dass dieses Skill niemals eine Order sendet, ändert oder storniert; dies bleibt dem Execution-Seat vorbehalten. Es unterstützt ausschließlich Bybit V5 (lineare USDT-Perpetuals) und Hyperliquid-Perpetuals.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aabrur/trading-agent-mpu-gandring/tree/HEAD/skills/risk-gate

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Risikogate

Risikogrößen und Vetos. Das Risikogate sendet, ändert oder storniert niemals eine Order. Nur der Execution-Seat sendet einmalig nach einem PASS.

1. Einrichtungsinterview (eine Frage nach der anderen stellen)

Kein Ticket unterschreiben, bevor jede Antwort in risk-limits.md im Arbeitsordner geschrieben ist.

  1. Handelsplatz: CEX (Bybit lineare USDT-Perpetuals) oder DEX (Hyperliquid-Perpetuals)? Zuerst Testnet oder Mainnet?
  2. Lesezugriff: Auf welches Konto kann ich Salden, Positionen und offene Orders auslesen? Ich benötige nur Leseberechtigung. Der Schlüssel, der handeln darf, gehört dem Execution-Seat und wird aus einer Umgebungsvariable gelesen, niemals im Chat eingefügt oder in ein Repository übertragen.
  3. Maximaler Verlust pro Ticket als Prozentsatz des Eigenkapitals, falls der Stop erreicht wird. Vorgeschlagener Standardwert 1%. Alles über 5% erhält eine einmalige Warnung und eine schriftliche Bestätigung.
  4. Maximales gesamtes offenes Risiko über alle Positionen hinweg. Vorgeschlagener Standardwert 3%.
  5. Maximale Anzahl an Positionen. Vorgeschlagener Standardwert 2.
  6. Maximaler Hebel. Vorgeschlagener Standardwert 3x.
  7. Erlaubte Märkte (exakte Symbole, z. B. ETHUSDT, SOLUSDT auf Bybit oder ETH, SOL auf Hyperliquid).
  8. Täglicher Verluststopp als Prozentsatz des Eigenkapitals zu Tagesbeginn. Vorgeschlagener Standardwert 5%. Bei Erreichen pausiert der automatische Handel, bis der Eigentümer ihn schriftlich zurücksetzt.
  9. Maximaler Slippage beim Senden. Vorgeschlagener Standardwert 10 Basispunkte.

Der Genehmigungsmodus (jedes Ticket genehmigen oder jeden PASS automatisch senden) wird einmalig in order-execution abgefragt, nicht hier. Der Automatikmodus erfordert, dass der tägliche Verluststopp aus Schritt 8 zuerst geschrieben wird.

Schreiben Sie die Antworten, das Datum und den Handelsplatz in risk-limits.md. Neuere geschriebene Limits ersetzen ältere; mischen Sie sie niemals.

2. Jedes Ticket

Ein Ticket muss enthalten: Markt, Seite, Einstiegsart und -preis, Stop-Preis, Größe oder Risikobudget sowie die Strategieseite, von der es stammt, mit deren Balkenschlusszeit.

Vor der Größenberechnung live auslesen:

  • Konto: Eigenkapital, verfügbare Margin, offene Positionen, offene Orders.
    • Bybit: GET /v5/account/wallet-balance, GET /v5/position/list?category=linear, GET /v5/order/realtime?category=linear.
    • Hyperliquid: POST /info mit clearinghouseState und openOrders für die Konto-Adresse.
  • Instrument: Mindestmenge, Mengenschritt, Tick-Größe, Mindestwert, maximaler Hebel.
    • Bybit: GET /v5/market/instruments-info?category=linear&symbol=....
    • Hyperliquid: POST /info mit meta (szDecimals, maxLeverage).
  • Orderbuch: Bestes Geld und Brief. Ablehnen, wenn älter als 60 Sekunden.

Größenberechnung:

stressed_loss = menge * |einstieg - stop| + menge * einstieg * taker_gebühr * 2 + menge * einstieg * slippage
menge = abrunden_auf_schritt(max_verlust_usd / pro_einheit_stressed_loss)

Verwenden Sie die tatsächliche Taker-Gebühr des Handelsplatzes (Bybit linear Standard 0,00055; Hyperliquid gemäß Ihrer Gebührenstufe).

FAIL, wenn eine der folgenden Bedingungen zutrifft:

  • Kein Stop oder Stop auf der falschen Seite des Einstiegs.
  • Markt nicht auf der erlaubten Liste.
  • menge nach Rundung unter dem Börsenminimum, oder der Mindestwert kann nicht erreicht werden, ohne die Verlustobergrenze zu überschreiten. Nicht aufrunden, um es zu erzwingen.
  • Margin beim gewählten Hebel übersteigt die verfügbare Margin.
  • Hebel über der Obergrenze, Positionen würden die Obergrenze überschreiten, oder das gesamte offene Risiko würde die Obergrenze überschreiten.
  • Täglicher Verluststopp bereits erreicht.
  • Strategieseite ist storniert (Preis hat seine Ungültigkeit überschritten) im Live-Orderbuch.
  • Konto- oder Orderbuchlesung fehlgeschlagen oder veraltet. Alte Zahlen werden nie verwendet.

PASS schreibt eine Datei risk/<UTC-Zeit>-<Symbol>-<Seite>-pass.md mit: Eingaben, Live-Lesungen mit UTC-Zeiten, menge, stop, hebel, stressed_loss in USD und als Prozentsatz des Eigenkapitals sowie der Ticket-ID. FAIL schreibt dasselbe mit dem Grund.

3. Regeln, die sich nie ändern

  • Niemals eine Order senden. Niemals Gelder verschieben. Niemals nach einem privaten Schlüssel fragen oder ihn ausdrucken.
  • Keine Gewinnversprechen. Unrealisierter PnL ist kein Gewinn. Eine Einzahlung ist kein Gewinn.
  • Absprachen zwischen Bots sind kein Beweis. Ungenutztes Bargeld ist kein Grund zu handeln.
  • Wenn das Ergebnis eines Sendens unbekannt ist, wird nichts erneut gesendet, bis der Börseneintrag gelesen wurde.
  • Geheimnisse leben nur in Umgebungsvariablen oder dem Plattform-Geheimnisspeicher, niemals im Repository.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Verwandte Skills