Community程式設計與開發github.com

aabrur/trading-agent-mpu-gandring

在下單前使用,支援 CEX(Bybit V5)或 DEX(Hyperliquid)。面訪交易者以取得書面限制,根據即時帳戶資訊計算每筆訂單規模,回傳 PASS 或 FAIL。絕不執行下單。

trading-agent-mpu-gandring 是什麼?

這是一個風險控管與規模計算的 AI 代理技能,專為交易代理人設計。其主要功能是在任何訂單被發送之前,先進行風險檢查與限制設定。此技能支援中心化交易所(CEX,如 Bybit V5)與去中心化交易所(DEX,如 Hyperliquid)。流程分為兩階段:第一階段是「設定面談」,代理會逐一詢問交易者關於風險參數的問題(如單筆最大虧損、總曝險上限、槓桿限制、允許市場、每日虧損停損等),並將答案寫入 `risk-limits.md` 檔案。第二階段是針對每個交易訊號(ticket),讀取即時帳戶餘額、持倉、訂單簿與合約規格,使用嚴格的公式計算規模,並根據設定的限制驗證是否通過。通過時寫入 PASS 檔案(含詳細計算與即時數據),失敗時寫入 FAIL 檔案(含原因)。此技能的核心原則是:絕不發送、修改或取消任何訂單,所有訂單僅由執行席位在收到 PASS 後單次發出,確保風險管控與執行完全分離。

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

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

風險閘門

控制部位規模並行使否決權。風險模組絕不發送、修改或取消任何訂單。只有執行席位在收到 PASS 後才會發送訂單,且僅發送一次。

1. 設定面談(一次只問一個問題)

在每個問題的答案都寫入工作資料夾中的 risk-limits.md 之前,請勿簽署任何交易訊號。

  1. 交易平台:CEX(Bybit 線性 USDT 永續合約)或 DEX(Hyperliquid 永續合約)?先使用測試網還是主網?
  2. 讀取權限:我可以讀取哪個帳戶的餘額、持倉和未成交訂單?我只需要讀取範圍。能夠進行交易的密鑰屬於執行席位,且需從環境變數讀取,絕不可以貼在聊天視窗中或提交到儲存庫。
  3. 每張訊號的最大虧損:以權益的百分比表示(若觸及停損)。建議預設值 1%。超過 5% 時會出現一次普通警告及書面確認。
  4. 所有部位的總最大開放風險。建議預設值 3%。
  5. 最大部位數量。建議預設值 2。
  6. 最大槓桿倍數。建議預設值 3 倍。
  7. 允許交易的市場(確切代碼,例如 Bybit 上的 ETHUSDT、SOLUSDT,或 Hyperliquid 上的 ETH、SOL)。
  8. 每日虧損停損:以當日開始時的權益百分比表示。建議預設值 5%。觸及時,自動交易會暫停,直到交易者以書面方式重設。
  9. 發送時的最大滑點。建議預設值 10 個基點。

審批模式(是逐一批准每張訊號,還是自動發送所有 PASS 的訊號)將在 order-execution 中詢問一次,不在這裡進行。自動模式需要先寫入步驟 8 中的每日虧損停損設定。

將答案、日期和交易平台寫入 risk-limits.md。較新的書面限制會取代舊的;切勿混用。

2. 每張交易訊號

一張交易訊號必須包含:市場、方向、進場類型與價格、停損價格、部位規模或風險預算,以及其所屬策略側與其 K 線收盤時間。

在計算規模前,即時讀取:

  • 帳戶:權益、可用保證金、未平倉部位、未成交訂單。
    • Bybit:GET /v5/account/wallet-balance、GET /v5/position/list?category=linear、GET /v5/order/realtime?category=linear。
    • Hyperliquid:對帳戶地址使用 POST /info,並包含 clearinghouseState 和 openOrders。
  • 合約規格:最小數量、數量步進、報價精度、最小名義價值、最大槓桿。
    • Bybit:GET /v5/market/instruments-info?category=linear&symbol=...。
    • Hyperliquid:使用 POST /info 並取得 meta(szDecimals、maxLeverage)。
  • 訂單簿:最佳買價與賣價。若資料超過 60 秒則拒絕。

部位規模計算:

stressed_loss = qty * |entry - stop| + qty * entry * taker_fee * 2 + qty * entry * slippage
qty = floor_to_step(max_loss_usd / per_unit_stressed_loss)

使用交易平台的實際吃單手續費(Bybit 線性合約預設為 0.00055;Hyperliquid 根據您的費率等級)。

若以下任何一項成立,則回傳 FAIL:

  • 沒有停損,或停損設定在進場方向的錯誤一側。
  • 市場不在允許清單中。
  • 捨入後的數量低於交易所最低要求,或無法在不違反虧損上限的情況下滿足最小名義價值。請勿為了符合條件而向上取整。
  • 在所選槓桿下的保證金超過可用保證金。
  • 槓桿超過上限,部位數量將超過上限,或總開放風險將超過上限。
  • 已觸及每日虧損停損。
  • 策略側已被取消(在即時訂單簿中價格已越過其失效點)。
  • 帳戶或訂單簿讀取失敗或資料過時。絕對不使用舊資料。

PASS 會寫入一個檔案 risk/<UTC時間>-<代碼>-<方向>-pass.md,內容包含:輸入參數、即時讀取資料(含 UTC 時間)、數量、停損、槓桿、承受壓力虧損(以美元計及佔權益百分比)以及訊號 ID。FAIL 則會寫入相同內容,並附上失敗原因。

3. 永不改變的規則

  • 絕不發送訂單。絕不移動資金。絕不要求或顯示私鑰。
  • 不做利潤承諾。未實現盈虧不是利潤。存入資金不是利潤。
  • 機器人間的協議不是證據。閒置現金不是交易的理由。
  • 若發送結果未知,在讀取交易所記錄之前不得重新發送任何內容。
  • 秘密僅存在於環境變數或平台的秘密儲存庫中,絕不可放在儲存庫中。

Individual skills in this repo

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

相關技能