CommunityCodierung & Entwicklunggithub.com

aabrur/trading-agent-mpu-gandring

Einmal ein risikogeprüftes Ticket an Bybit (CEX) oder Hyperliquid (DEX) senden und anschließend anhand der Exchange-Aufzeichnungen abgleichen. Verwende dies, wenn ein Ticket den Status PASS hat und bereit zum Senden ist, oder um den Status einer Sendung mit unbekanntem Ergebnis zu prüfen.

Was ist trading-agent-mpu-gandring?

Dieser Skill führt die Ausführung von Handelstickets auf zwei Plattformen durch: Bybit (CEX, V5 lineare USDT-Perpetuals) und Hyperliquid (DEX, Perpetuals). Er akzeptiert nur Tickets, die zuvor die Risikoprüfung (Risk PASS) bestanden haben, und führt eine strikte Checkliste vor dem Senden durch, um z.B. Frische des Tickets, Preisniveau im Verhältnis zum Abbruchlevel und korrekte Rundung von Menge und Preis gemäß den Live-Instrumentdaten sicherzustellen. Nach dem Senden gleicht der Skill die Order anhand der Orderhistorie und der offenen Positionen ab, berichtet die Ergebnisse in einem standardisierten Kurzformat und schreibt einen Ausführungsdatensatz in eine Markdown-Datei. Wichtige Sicherheitsaspekte: API-Schlüssel und Secrets werden weder protokolliert noch im Chat preisgegeben; es werden keine Ein-/Auszahlungen, Risikolimit-Änderungen oder Stornierungen ohne entsprechendes Ticket vorgenommen; bei Fehlern (z.B. Regionensperre, Ablehnung) wird nur der Fehlercode gemeldet und es erfolgt kein erneuter Sendeversuch. Der Skill unterstützt sowohl Testnetz als auch Mainnet und arbeitet im manuellen (Ticket-für-Ticket-Freigabe) oder automatischen Modus (alle Risk-PASS-Tickets sofort senden).

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

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

Orderausführung (Trading Agent Mpu Gandring)

Die Ausführung ist der einzige Sitzplatz, der in die Exchange schreibt. Jeder andere Sitzplatz liest nur.

Erstgespräch (eine Frage nach der anderen stellen)

  1. Venue: CEX Bybit (V5 lineare USDT-Perps) oder DEX Hyperliquid (Perps).
  2. Netzwerk: Testnet oder Mainnet. Testnet ist die Voreinstellung. Für Mainnet ist ein "ja" per Tippeingabe erforderlich.
  3. Konto: bei Bybit das Hauptkonto oder ein dediziertes Unterkonto (ein Unterkonto wird empfohlen). Bei Hyperliquid die Haupt-Wallet-Adresse plus eine genehmigte API-Wallet. Niemals den Private Key der Haupt-Wallet verwenden.
  4. Freigabemodus: jedes Ticket einzeln per ID im Chat freigeben oder jedes Risk PASS automatisch senden (Auto-Trading). Für den Auto-Modus ist ein "ja" per Tippeingabe und der tägliche Stop vom Risk-Gate erforderlich.
  5. Wo der Bot läuft: auf einem Rechner, dessen Region die Exchange zulässt. Wenn die Exchange einen Länder- oder Regionsblock (HTTP 403) zurückgibt, anhalten und den Benutzer auffordern, den Bot auf einem erlaubten Rechner auszuführen. Niemals ohne ausdrückliche Wahl des Benutzers ein VPN oder einen Proxy verwenden.

Der Benutzer hinterlegt die Zugangsdaten in einem Secret Store oder in Umgebungsvariablen und gibt sie niemals im Chat ein:

  • Bybit: BYBIT_API_KEY plus entweder BYBIT_API_SECRET (HMAC) oder BYBIT_PRIVATE_KEY_PATH (RSA). Nur Handelsberechtigung. Auszahlungen deaktivieren. Nach Möglichkeit auf eine IP beschränken.
  • Hyperliquid: HL_ACCOUNT_ADDRESS und HL_API_WALLET_KEY (nur eine genehmigte Agenten-Wallet).

Vor dem ersten Senden einen signierten Lesevorgang (Saldo oder Positionen) durchführen. Wenn dies fehlschlägt, nur den Fehlercode melden, niemals den Body oder den Schlüssel.

Checkliste vor dem Senden (jeder Punkt muss zutreffen)

  1. Das Ticket hat eine ID und einen Risk PASS mit den genauen Feldern: Symbol, Seite, Menge, Hebel, Stop, Take-Profit oder keins, und Abbruchlevel. Im Einzelticket-Modus hat der Benutzer diese ID auch in dieser Sitzung freigegeben.
  2. Das Ticket ist frisch, standardmäßig unter 30 Minuten alt.
  3. Ein Live-Read zeigt, dass der letzte Kurs und der beste Kurs auf der Einstiegsseite immer noch auf der richtigen Seite des Abbruchlevels des Tickets liegen. Wenn nicht, das Ticket überspringen und den Grund nennen.
  4. Für dieses Symbol existiert noch keine offene Position, es sei denn, das Ticket sagt "Hinzufügen". Die Anzahl der offenen Positionen bleibt unter dem vom Risk-Gate vorgegebenen Limit.
  5. Menge und Preis werden auf die Lot- und Tick-Größe des Instruments gerundet, live ausgelesen. Die Menge liegt niemals über der im Ticket angegebenen.
  6. Vor dem Senden wird eine frische Client-ID aufgezeichnet. Bei Bybit ist dies orderLinkId, alphanumerisch, eindeutig. Bei Hyperliquid ist es cloid.

Wenn ein Punkt fehlschlägt, nicht senden. Den fehlgeschlagenen Punkt benennen und zurückgeben.

Aufbau der Order

  • Bybit: Ein-Weg-Modus (positionIdx 0). Zuerst den Hebel auf den Ticketwert setzen. Fehler 110043 bedeutet, dass er bereits gesetzt ist, also fortfahren. Dann eine IOC-Limit-Order senden, die etwa 10 Basispunkte über dem besten Kurs gedeckelt ist, auf den Tick gerundet, mit stopLoss (slTriggerBy=MarkPrice). takeProfit nur hinzufügen, wenn das Ticket einen nennt.
  • Hyperliquid: Den Asset-Index aus dem Live-meta verwenden. Eine IOC-Limit-Order zu einem slippungsbegrenzten Preis senden. Den Entry mit seinem Stop und, falls angegeben, mit einem Take-Profit in einer einzigen normalTpsl-Aktion gruppieren.
  • Ein Ticket, eine Sendung. Niemals nicht zusammengehörige Tickets bündeln.

Nach dem Senden

  • Wenn retCode oder Status OK ist, die Orderhistorie anhand der ID lesen, dann Positionen und offene Orders. Die Zahlen der Exchange melden: durchschnittliche Füllung, gefüllte Menge, Gebühr, platzierter Stop und Order-ID. Die UTC und die lokale Zeit des Benutzers angeben.
  • Ein Timeout, Transportfehler oder unklares Ergebnis ist unbekannt, nicht fehlgeschlagen. Niemals erneut senden. Anhand der Orderhistorie nach Client-ID sowie der Position abgleichen. Der Desk informieren, dass die Sendung unbestätigt ist, bis der Datensatz sie zeigt.
  • Eine abgelehnte Sendung (ein Fehlercode) ist ein Fehlschlag. Nur den Code melden und keinen erneuten Versuch mit einer geänderten Order unternehmen.
  • Einen Ausführungsdatensatz pro Ticket in execution/<UTC-Zeit>-<Ticket-ID>.md schreiben.
  • Taktabweichung (Bybit 10002) kann durch ein größeres recv_window oder eine Zeitsynchronisation behoben werden. Dies ist kein Grund für einen erneuten Sendeversuch.

Grenzen

  • Niemals API-Schlüssel, Secrets, PEM-Inhalte oder vollständige Fehlerkörper ausgeben, protokollieren oder übertragen. Fehlerkörper können den Schlüssel wiedergeben.
  • Niemals Einzahlungen, Auszahlungen oder Überweisungen tätigen.
  • Niemals Risikolimits ändern oder einen Trade dimensionieren. Ein falsches Ticket geht zurück an Risk.
  • Niemals einen Stop ohne ein Ticket schließen, stornieren oder verschieben. Wenn eine Position geschlossen wird, den zugehörigen verwaisten Stop stornieren und dies melden.
  • Keine Gewinnversprechen in irgendeinem Bericht.

Berichtsformat (kurz)

EXECUTION | <Ticket-ID> | <Venue> <Netzwerk> | <UTC> (<lokal>) sent: <Symbol> <Seite> <Menge> IOC limit <Kurs> lev <Hebel> stop <SL> tp <TP|none> clientId <ID> result: <Filled|Partial|Abgelehnt Code|Unknown> avg <Kurs> qty <Menge> fee <Gebühr> orderId <ID> reconciled: position <Seite Größe avg>, stop order <ID> Untriggered

Individual skills in this repo

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

Verwandte Skills