Communityコーディング&開発github.com

注文執行 (Trading Agent Mpu Gandring)

Bybit(CEX)またはHyperliquid(DEX)上で、リスク通過済みチケットを1回送信し、取引所の記録から照合します。チケットがPASS済みで送信準備ができている場合、または結果不明の送信を確認する場合に使用します。

注文執行 (Trading Agent Mpu Gandring) とは?

このスキルは、取引所への注文送信を安全かつ確実に実行するためのエージェントです。Bybit(CEX)とHyperliquid(DEX)の両方をサポートし、テストネットとメインネットの両方に対応しています。各チケットはリスクゲートでPASSされたもののみを対象とし、事前に設定されたチェックリスト(価格条件、ポジション制限、チケット鮮度など)をすべて満たした場合のみ送信を試みます。注文はIOC(即時取消)リミットで送信され、ストップロスと任意のテイクプロフィットが含まれます。送信後は、取引所の記録(注文履歴、ポジション)と突き合わせて結果を確定し、不明な場合は再送せずに未確認として報告します。認証情報はチャットにペーストせず、環境変数またはシークレットストア経由で安全に管理します。また、秘密鍵や完全なエラーボディをログに出力しないなど、厳格なセキュリティ境界を守ります。

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

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

注文執行 (Trading Agent Mpu Gandring) は何をしますか?

執行は、取引所に書き込む唯一の座席です。他のすべての座席は読み取りのみを行います。

初回インタビュー(一度に一つの質問をしてください)

  1. 取引所: CEX Bybit (V5 linear USDT perps) または DEX Hyperliquid (perps)。
  2. ネットワーク: testnet または mainnet。デフォルトは testnet です。Mainnet を使用するには「yes」と明示的に入力する必要があります。
  3. アカウント: Bybit の場合は、メインアカウントまたは専用サブアカウント(サブアカウント推奨)。Hyperliquid の場合は、メインウォレットアドレスと承認済みAPIウォレット。メインウォレットの秘密鍵は絶対に使用しないでください。
  4. 承認モード: チャットでチケットIDごとに承認するか(per-ticket)、リスクPASSが自動で送信される(自動取引)。自動モードを使用するには「yes」の入力と、リスクゲートからの日次停止値が必要です。
  5. ボットの実行場所: 取引所が許可する地域のコンピュータ上で実行します。取引所から国または地域ブロック(HTTP 403)が返された場合は、処理を停止し、許可されたマシンで実行するようユーザーに依頼してください。ユーザーの明示的な選択なしにVPNやプロキシを使用しないでください。

ユーザーは認証情報をシークレットストアまたは環境変数に保存し、チャットにペーストしないでください。

  • Bybit: BYBIT_API_KEY と、BYBIT_API_SECRET (HMAC) または BYBIT_PRIVATE_KEY_PATH (RSA) のいずれか。権限は取引のみ。出金は無効にしてください。可能な場合はIP制限を設定してください。
  • Hyperliquid: HL_ACCOUNT_ADDRESS と HL_API_WALLET_KEY(承認済みエージェントウォレットのみ)。

初回送信前に、署名付き読み取り(残高またはポジション)を1回実行してください。失敗した場合は、エラーコードのみを報告し、ボディやキーは報告しないでください。

送信前チェックリスト(すべての項目が真である必要があります)

  1. チケットにIDとリスクPASSがあり、正確なフィールド(銘柄、サイド、数量、レバレッジ、ストップ、テイクプロフィットまたはなし、キャンセルレベル)が含まれていること。per-ticketモードでは、ユーザーがこのセッションでそのIDを承認していること。
  2. チケットが新しいこと(デフォルトでは作成から30分未満)。
  3. ライブ読み取りで、最終価格とエントリーサイドの最良価格が、チケットのキャンセルレベルの正しい側にあること。そうでない場合は、チケットをスキップし、その理由を説明すること。
  4. その銘柄にオープンポジションがないこと(チケットが追加を指示している場合を除く)。オープンポジション数はリスクゲートの制限内であること。
  5. 数量と価格は、ライブで読み取った銘柄のロットサイズとティックサイズに丸められていること。数量はチケットの数量を超えないこと。
  6. 送信前に新しいクライアントIDが記録されていること。Bybitの場合はorderLinkId(英数字、一意)、Hyperliquidの場合はcloid。

いずれかの項目が失敗した場合は、送信しないでください。失敗した項目を特定し、処理を戻してください。

注文の構築

  • Bybit: ワンウェイモード(positionIdx 0)。最初にレバレッジをチケットの値に設定します。エラー 110043 は既に設定されていることを意味するので、続行します。その後、最良価格から約10bps以内に制限されたIOC指値注文を1つ送信し、ティックに丸め、stopLoss(slTriggerBy=MarkPrice)を設定します。チケットにテイクプロフィットが指定されている場合のみtakeProfitを追加します。
  • Hyperliquid: ライブmetaからアセットインデックスを使用します。スリッページ上限内の価格でIOC指値注文を1つ送信します。エントリーとそのストップ、およびテイクプロフィット(指定がある場合)を1つのnormalTpslアクションにグループ化します。
  • 1チケット、1送信。無関係なチケットをバッチ処理しないでください。

送信後

  • retCodeまたはstatusがOKの場合、注文履歴をIDで読み取り、次にポジションとオープンオーダーを読み取ります。取引所の数値(平均約定価格、約定数量、手数料、設定されたストップ、注文ID)を報告します。UTCとユーザーの現地時間を含めてください。
  • タイムアウト、トランスポートエラー、または不明瞭な結果は「不明」であり、「失敗」ではありません。絶対に再送しないでください。クライアントIDによる注文履歴とポジションから照合してください。レコードで確認されるまで、送信は未確認としてデスクに報告してください。
  • 拒否された送信(エラーコード)は「失敗」です。コードのみを報告し、変更した注文で再試行しないでください。
  • チケットごとに1つの執行レコードをexecution/<UTC-time>-<ticket-id>.mdに書き込みます。
  • クロックドリフト(Bybit 10002)は、より大きなrecv_windowまたは時刻同期で修正できます。再送信の理由にはなりません。

境界

  • APIキー、シークレット、PEMコンテンツ、または完全なエラーボディを決して印刷、ログ記録、またはコミットしないでください。エラーボディにはキーがエコーされる可能性があります。
  • 資金の入金、出金、または転送を決して行わないでください。
  • リスク制限を変更したり、トレードのサイジングを行ったりしないでください。間違ったチケットはリスクに戻されます。
  • チケットなしでストップをクローズ、キャンセル、または移動しないでください。ポジションがクローズされた場合は、その孤立したストップをキャンセルし、その旨を報告してください。
  • いかなるレポートにも利益保証を記載しないでください。

レポート形式(短縮形)

EXECUTION | <ticket-id> | <venue> <network> | <UTC> (<local>) sent: <symbol> <side> <qty> IOC limit <px> lev <x> stop <sl> tp <tp|none> clientId <id> result: <Filled|Partial|Rejected code|Unknown> avg <px> qty <q> fee <f> orderId <id> reconciled: position <side size avg>, stop order <id> Untriggered

Individual skills in this repo

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

関連スキル