aabrur/trading-agent-mpu-gandring

À utiliser avant d'envoyer un ordre, sur CEX (Bybit V5) ou DEX (Hyperliquid). Interroge le propriétaire pour obtenir des limites écrites, dimensionne chaque ticket à partir d'un compte en direct, et renvoie PASS ou FAIL. N'envoie jamais d'ordres.

Qu'est-ce que trading-agent-mpu-gandring ?

Ce skill implémente un 'portail de risque' universel pour agents de trading, compatible Bybit V5 (CEX) et Hyperliquid (DEX). Avant tout envoi d'ordre, il réalise un entretien de configuration interactif avec l'utilisateur pour collecter des limites de risque écrites (perte max par ticket, levier max, marchés autorisés, stop de perte quotidienne, etc.) stockées dans `risk-limits.md`. À chaque ticket, il lit en direct les données du compte (equity, marge disponible, positions, ordres ouverts) et du carnet d'ordres, calcule la quantité selon une formule de stress incluant frais et slippage, et vérifie une dizaine de règles (stop cohérent, marché autorisé, taille minimale, marge suffisante, limites de levier et de risque, stop quotidien non atteint, etc.). Le skill ne fait jamais de transactions (envoi d'ordre, modification ou annulation) – son rôle est uniquement de valider et dimensionner chaque ticket, produisant un fichier PASS ou FAIL horodaté dans le dossier `risk/`. L'utilisateur garde le contrôle total : il doit confirmer par écrit les seuils agressifs, et le mode d'approbation (manuel ou automatique) est défini ailleurs.

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

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Portail de risque

Dimensionne les risques et véto. Le risque n'envoie, ne modifie ni n'annule jamais un ordre. Seul le siège d'exécution envoie, une fois, après un PASS.

1. Entretien de configuration (poser une question à la fois)

Ne signez aucun ticket tant que chaque réponse n'est pas écrite dans risk-limits.md dans le dossier de travail.

  1. Plateforme : CEX (Bybit linear USDT perps) ou DEX (Hyperliquid perps) ? Testnet d'abord ou mainnet ?
  2. Accès en lecture : quel compte puis-je lire pour les soldes, positions et ordres ouverts ? J'ai seulement besoin de l'accès en lecture. La clé qui peut trader appartient au siège d'exécution et est lue depuis une variable d'environnement, jamais collée dans le chat ou commitée dans un dépôt.
  3. Perte max par ticket, en pourcentage de l'equity si le stop est déclenché. Défaut suggéré 1%. Au-dessus de 5%, un avertissement simple et une confirmation écrite.
  4. Risque ouvert total maximum sur toutes les positions. Défaut suggéré 3%.
  5. Nombre maximum de positions. Défaut suggéré 2.
  6. Levier maximum. Défaut suggéré 3x.
  7. Marchés autorisés (symboles exacts, par exemple ETHUSDT, SOLUSDT sur Bybit ou ETH, SOL sur Hyperliquid).
  8. Stop de perte quotidienne en pourcentage de l'equity de début de journée. Défaut suggéré 5%. Lorsqu'il est atteint, le trading automatique s'arrête jusqu'à ce que le propriétaire le réinitialise par écrit.
  9. Slippage maximum à l'envoi. Défaut suggéré 10 bps.

Le mode d'approbation (approuver chaque ticket, ou envoyer automatiquement chaque PASS) est demandé une fois dans order-execution, pas ici. Le mode automatique nécessite que le stop de perte quotidienne de l'étape 8 soit d'abord écrit.

Écrivez les réponses, la date et la plateforme dans risk-limits.md. Les limites écrites plus récentes remplacent les plus anciennes ; ne les mélangez jamais.

2. Chaque ticket

Un ticket doit nommer : marché, côté, type d'entrée et prix, prix de stop, taille ou budget de risque, et le côté stratégie dont il provient avec son heure de fermeture de barre.

Lire en direct, juste avant le dimensionnement :

  • Compte : equity, marge disponible, positions ouvertes, ordres ouverts.
    • Bybit : GET /v5/account/wallet-balance, GET /v5/position/list?category=linear, GET /v5/order/realtime?category=linear.
    • Hyperliquid : POST /info avec clearinghouseState et openOrders pour l'adresse du compte.
  • Instrument : qté min, pas de qté, taille du tick, notionnel min, levier max.
    • Bybit : GET /v5/market/instruments-info?category=linear&symbol=....
    • Hyperliquid : POST /info avec meta (szDecimals, maxLeverage).
  • Carnet : meilleure offre et meilleure demande. Rejeter si plus vieux que 60 secondes.

Dimensionnement :

stressed_loss = qté * |entrée - stop| + qté * entrée * frais_taker * 2 + qté * entrée * slippage
qté = floor_to_step(perte_max_usd / per_unit_stressed_loss)

Utilisez le vrai frais taker de la plateforme (Bybit linear par défaut 0,00055 ; Hyperliquid selon votre palier de frais).

FAIL si l'une de ces conditions est vraie :

  • Pas de stop, ou stop du mauvais côté de l'entrée.
  • Marché pas dans la liste autorisée.
  • Qté après arrondi inférieure au minimum de l'échange, ou le notionnel minimum ne peut pas être atteint sans dépasser la limite de perte. N'arrondissez pas à la hausse pour y parvenir.
  • La marge au levier choisi dépasse la marge disponible.
  • Levier au-dessus du plafond, positions qui dépasseraient le plafond, ou risque ouvert total qui dépasserait le plafond.
  • Stop de perte quotidienne déjà atteint.
  • Côté stratégie annulé (prix passé son invalidation) au carnet en direct.
  • Lecture du compte ou du carnet échouée ou obsolète. Les nombres anciens ne sont jamais utilisés.

PASS écrit un fichier risk/<temps UTC>-<symbole>-<côté>-pass.md avec : entrées, lectures en direct avec temps UTC, qté, stop, levier, perte stressée en USD et en % de l'equity, et l'id du ticket. FAIL écrit le même avec la raison.

3. Règles qui ne changent jamais

  • N'envoyez jamais un ordre. Ne déplacez jamais de fonds. Ne demandez ni n'imprimez une clé privée.
  • Aucune promesse de profit. Le PnL non réalisé n'est pas un profit. Un dépôt n'est pas un profit.
  • Un accord entre bots n'est pas une preuve. L'argent inactif n'est pas une raison pour trader.
  • Si le résultat d'un envoi est inconnu, rien n'est renvoyé tant que l'enregistrement de l'échange n'est pas lu.
  • Les secrets vivent uniquement dans les variables d'environnement ou le coffre de secrets de la plateforme, jamais dans le dépôt.

Individual skills in this repo

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

Skills associés