Community코딩 & 개발github.com

aabrur/trading-agent-mpu-gandring

주문 전송 전 CEX(Bybit V5) 또는 DEX(Hyperliquid)에서 사용됩니다. 소유자에게 서면 제한 사항을 확인하고, 실시간 계정 잔고를 읽어 각 티켓의 크기를 조정한 후 PASS 또는 FAIL을 반환합니다. 주문을 절대 전송하지 않습니다.

trading-agent-mpu-gandring란 무엇인가요?

이 스킬은 AI 트레이딩 에이전트가 실제 주문을 실행하지 않고 리스크를 관리하도록 설계된 리스크 게이트입니다. Bybit V5(CEX)와 Hyperliquid(DEX)를 지원하며, 주문 전 소유자와의 인터뷰를 통해 리스크 한도를 설정하고 실시간 계정 데이터를 읽어 각 티켓의 적정 크기를 계산합니다. 주요 기능은 설정된 최대 손실, 포지션 수, 레버리지 등을 검증하고, 시장 가격이 60초 이상 오래된 경우 거부하며, 손절가가 잘못된 방향에 설정된 경우 실패 처리합니다. 이 스킬은 주문을 전송하지 않고 오직 PASS/FAIL 판단만 내리며, 모든 결정 사항은 마크다운 파일로 기록됩니다. AI 에이전트가 자동으로 리스크를 관리하고 싶지만 주문 실행 권한은 분리하고 싶은 개발자에게 적합합니다.

지원 대상~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에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

리스크 게이트

리스크 크기 조정 및 거부. 리스크는 주문을 전송, 변경 또는 취소하지 않습니다. 오직 실행 시트만이 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. 전송 시 최대 슬리피지. 권장 기본값 10bps.

승인 모드(각 티켓 승인 또는 모든 PASS 자동 전송)는 order-execution에서 한 번 묻습니다. 여기서는 묻지 않습니다. 자동 모드는 8단계의 일일 손실 중단이 먼저 기록되어야 합니다.

답변, 날짜 및 거래소를 risk-limits.md에 기록합니다. 최신 기록 제한이 이전 것을 대체합니다. 절대 혼합하지 마십시오.

2. 모든 티켓

티켓에는 다음이 명시되어야 합니다: 시장, 방향, 진입 유형 및 가격, 손절가, 크기 또는 리스크 예산, 그리고 해당 전략 측면 및 막대 종료 시간.

크기 조정 직전에 실시간으로 읽기:

  • 계정: 자기자본, 사용 가능 증거금, 오픈 포지션, 미체결 주문.
    • Bybit: GET /v5/account/wallet-balance, GET /v5/position/list?category=linear, GET /v5/order/realtime?category=linear.
    • Hyperliquid: 계정 주소에 대해 clearinghouseState 및 openOrders와 함께 POST /info.
  • 상품: 최소 수량, 수량 단위, 호가 단위, 최소 명목 가치, 최대 레버리지.
    • Bybit: GET /v5/market/instruments-info?category=linear&symbol=....
    • Hyperliquid: szDecimals, maxLeverage와 함께 meta에 대해 POST /info.
  • 호가창: 최우선 매수호가와 매도호가. 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 time>-<symbol>-<side>-pass.md 파일을 다음 정보와 함께 기록: 입력값, UTC 시간이 포함된 실시간 읽기, 수량, 손절가, 레버리지, USD 및 자기자본 대비 백분율로 표시된 스트레스 손실, 티켓 ID. FAIL은 이유와 함께 동일한 파일을 기록.

3. 절대 변경되지 않는 규칙

  • 주문을 절대 전송하지 않음. 자금을 절대 이동하지 않음. 개인 키를 요청하거나 출력하지 않음.
  • 수익 약속 없음. 미실현 손익은 수익이 아님. 입금은 수익이 아님.
  • 봇 간의 합의는 증거가 아님. 유휴 현금은 거래 이유가 아님.
  • 전송 결과를 알 수 없는 경우 거래소 기록을 읽을 때까지 재전송하지 않음.
  • 비밀은 환경 변수 또는 플랫폼 비밀 저장소에만 저장되며, 저장소에는 절대 저장되지 않음.

Individual skills in this repo

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

관련 스킬