Exécution d'ordre (Trading Agent Mpu Gandring)

Envoyer un ticket ayant passé le Risk une fois sur Bybit (CEX) ou Hyperliquid (DEX), puis rapprocher à partir des enregistrements de l'échange. À utiliser lorsqu'un ticket a un PASS et est prêt à être envoyé, ou pour vérifier un envoi dont le résultat est inconnu.

Qu'est-ce que Exécution d'ordre (Trading Agent Mpu Gandring) ?

Cette compétence d'agent trading exécute un seul ticket validé par le Risk sur Bybit ou Hyperliquid (perpétuels), en respectant des contrôles stricts avant envoi et en rapprochant le résultat après l'envoi. Elle prend en charge les modes testnet/mainnet, ainsi que les configurations de sous-compte (Bybit) ou portefeuille API (Hyperliquid). Le Skill vérifie la fraîcheur du ticket, la liquidité, les arrondis des lots/ticks, et les limites de positions ouvertes. En cas d'envoi réussi, il enregistre les détails d'exécution (prix moyen, quantité, frais, stop, take-profit) dans un fichier local, et rapporte le statut de la position et de l'ordre de stop. Il refuse de renvoyer un ordre si le résultat est inconnu (timeout, erreur réseau) et ne modifie jamais les limites de risque, ne transfère pas de fonds, et ne ferme pas de positions sans ticket.

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

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

Que fait Exécution d'ordre (Trading Agent Mpu Gandring) ?

L'exécution est le seul poste qui écrit sur l'échange. Tous les autres postes ne font que lire.

Entretien initial (poser une question à la fois)

  1. Plateforme : CEX Bybit (perpétuels USDT linéaires V5) ou DEX Hyperliquid (perpétuels).
  2. Réseau : testnet ou mainnet. Testnet par défaut. Mainnet nécessite un « oui » tapé.
  3. Compte : pour Bybit, le compte principal ou un sous-compte dédié (un sous-compte est recommandé). Pour Hyperliquid, l'adresse du portefeuille principal plus un portefeuille API approuvé. Ne jamais prendre une clé privée du portefeuille principal.
  4. Mode d'approbation : approuver chaque ticket par son identifiant dans le chat, ou envoyer automatiquement chaque PASS Risk (trading automatique). Le mode auto nécessite un « oui » tapé et le stop quotidien du risk-gate.
  5. Où le bot s'exécute : sur un ordinateur dont la région est autorisée par l'échange. Si l'échange renvoie un blocage par pays ou région (HTTP 403), arrêtez-vous et demandez à l'utilisateur d'exécuter le bot sur une machine autorisée. N'utilisez jamais de VPN ou proxy sans le choix explicite de l'utilisateur.

L'utilisateur place les identifiants dans un coffre-fort de secrets ou des variables d'environnement et ne les colle jamais dans le chat :

  • Bybit : BYBIT_API_KEY plus soit BYBIT_API_SECRET (HMAC) soit BYBIT_PRIVATE_KEY_PATH (RSA). Autorisation de trading uniquement. Désactivez les retraits. Restreignez à une adresse IP si possible.
  • Hyperliquid : HL_ACCOUNT_ADDRESS et HL_API_WALLET_KEY (un portefeuille agent approuvé uniquement).

Avant le premier envoi, effectuez une lecture signée (solde ou positions). Si elle échoue, signalez uniquement le code d'erreur, jamais le corps ou la clé.

Liste de vérification avant envoi (chaque élément doit être vrai)

  1. Le ticket a un identifiant et un PASS Risk avec les champs exacts : symbole, côté, quantité, effet de levier, stop, take-profit ou aucun, et niveau d'annulation. En mode par ticket, l'utilisateur a également approuvé cet identifiant dans cette session.
  2. Le ticket est récent, datant de moins de 30 minutes par défaut.
  3. Une lecture en direct montre que le dernier prix et le meilleur prix du côté d'entrée sont toujours du bon côté du niveau d'annulation du ticket. Sinon, ignorez le ticket et expliquez pourquoi.
  4. Ce symbole n'a pas encore de position ouverte, sauf si le ticket indique d'en ajouter. Le nombre de positions ouvertes reste sous la limite définie par le risk-gate.
  5. La quantité et le prix sont arrondis au lot et à la taille de tick de l'instrument, lus en direct. La quantité ne dépasse jamais celle du ticket.
  6. Un nouvel identifiant client est enregistré avant l'envoi. Sur Bybit, il s'agit de orderLinkId, alphanumérique, unique. Sur Hyperliquid, il s'agit de cloid.

Si un élément échoue, n'envoyez pas. Nommez l'élément défaillant et rendez la main.

Construction de l'ordre

  • Bybit : mode unidirectionnel (positionIdx 0). Réglez d'abord l'effet de levier à la valeur du ticket. L'erreur 110043 signifie qu'il est déjà défini, donc continuez. Ensuite, envoyez un ordre limite IOC plafonné à environ 10 bps au-dessus du meilleur prix, arrondi au tick, avec stopLoss (slTriggerBy=MarkPrice). Ajoutez takeProfit uniquement si le ticket le mentionne.
  • Hyperliquid : utilisez l'index de l'actif depuis le meta en direct. Envoyez un ordre limite IOC à un prix limité par le slippage. Regroupez l'entrée avec son stop, et avec un take-profit uniquement s'il est fourni, en une seule action normalTpsl.
  • Un ticket, un envoi. Ne regroupez jamais des tickets sans rapport.

Après l'envoi

  • Si le retCode ou le statut est OK, lisez l'historique des ordres par identifiant, puis les positions et les ordres ouverts. Signalez les chiffres de l'échange : prix d'exécution moyen, quantité exécutée, frais, stop placé et identifiant de l'ordre. Incluez l'heure UTC et l'heure locale de l'utilisateur.
  • Un délai d'attente, une erreur de transport ou un résultat peu clair est inconnu, pas un échec. Ne renvoyez jamais. Rapprochez à partir de l'historique des ordres par identifiant client, plus la position. Dites au desk que l'envoi n'est pas confirmé tant que l'enregistrement ne le montre pas.
  • Un envoi rejeté (un code d'erreur) est un échec. Signalez uniquement le code et ne réessayez pas avec un ordre modifié.
  • Écrivez un enregistrement d'exécution par ticket dans execution/<UTC-time>-<ticket-id>.md.
  • Le décalage d'horloge (Bybit 10002) peut être corrigé avec un recv_window plus grand ou une synchronisation temporelle. Ce n'est pas une raison pour renvoyer.

Limites

  • N'imprimez, ne journalisez et ne validez jamais les clés API, secrets, contenus PEM ou corps d'erreur complets. Les corps d'erreur peuvent faire écho à la clé.
  • Ne déposez, ne retirez et ne transférez jamais de fonds.
  • Ne modifiez jamais les limites de risque et ne dimensionnez jamais de trade. Un ticket erroné retourne au Risk.
  • Ne fermez, n'annulez et ne déplacez jamais un stop sans ticket. Si une position se ferme, annulez son stop orphelin et signalez que vous l'avez fait.
  • Aucune promesse de profit dans aucun rapport.

Format du rapport (court)

EXECUTION | <ticket-id> | <plateforme> <réseau> | <UTC> (<locale>) envoyé: <symbole> <côté> <quantité> IOC limite <px> lev <x> stop <sl> tp <tp|aucun> clientId <id> résultat: <Exécuté|Partiel|Code de rejet|Inconnu> moy <px> qté <q> frais <f> orderId <id> rapproché: position <côté taille moy>, ordre stop <id> Non déclenché

Individual skills in this repo

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

Skills associés