Bybit Skill 用于在 Bybit——一家主流衍生品交易所——上直接进行交易,依托 Starchild 运行。它支持现货(Spot)和 USDT 本位线性永续合约(Linear Perpetuals),底层使用自带的 scripts/ccex_core.py 引擎。
用途
该技能面向需要在 Bybit 上执行交易与查询账户信息的用户,提供从命令行完成现货和永续合约操作的统一入口。
主要能力
市场数据(无需 API 密钥):获取当前价格 / ticker、查看订单簿、K 线 OHLCV 数据、列出所有市场。
账户(需要 API 密钥):查看现货和衍生品余额、查看未成交订单、查看订单历史、查看未平仓持仓(永续合约)。
交易(需要 API 密钥):市价订单、限价订单、止损市价 / 止损限价、止盈订单、追踪止损(基于金额)、在入场订单上一次性附加止盈和止损(TP + SL)、带 reduce-only 的合约订单。
使用方式
设置
-
获取 Bybit API 密钥:登录 bybit.com;进入 Account → API(或 My Profile → API Management);创建 API key,为 Spot 和 Derivatives 启用 Read/Write;保存 API key 和 secret。
-
添加到环境变量,在 workspace/.env 中添加:
BYBIT_API_KEY=your_api_key_here BYBIT_SECRET=your_secret_here
- 安装依赖:
pip install --break-system-packages ccxt
执行命令
python3 skills/bybit/scripts/ccex_core.py <action> --exchange bybit [options]
示例
获取 ETH/USDT 价格:
python3 skills/bybit/scripts/ccex_core.py ticker --exchange bybit --symbol ETH/USDT
查看余额:
python3 skills/bybit/scripts/ccex_core.py balance --exchange bybit
市价买入 0.01 ETH:
python3 skills/bybit/scripts/ccex_core.py order --exchange bybit
--symbol ETH/USDT --side buy --type market --amount 0.01
以 2800 美元限价买入 ETH:
python3 skills/bybit/scripts/ccex_core.py order --exchange bybit
--symbol ETH/USDT --side buy --type limit --amount 0.01 --price 2800
2500 美元止损:
python3 skills/bybit/scripts/ccex_core.py order --exchange bybit
--symbol ETH/USDT --side sell --type stop --amount 0.01 --stop_price 2500
追踪止损(基于金额,$50 追踪):
python3 skills/bybit/scripts/ccex_core.py order --exchange bybit
--symbol ETH/USDT --side sell --type stop --amount 0.01 --trailing_delta 50
合约:做多 0.1 ETH 永续:
python3 skills/bybit/scripts/ccex_core.py order --exchange bybit
--symbol ETH/USDT --side buy --type market --amount 0.1 --futures
平掉合约持仓(reduce-only):
python3 skills/bybit/scripts/ccex_core.py order --exchange bybit
--symbol ETH/USDT --side sell --type market --amount 0.1 --futures --reduce_only
查看未平仓持仓:
python3 skills/bybit/scripts/ccex_core.py position --exchange bybit --futures
取消订单:
python3 skills/bybit/scripts/ccex_core.py cancel --exchange bybit
--symbol ETH/USDT --order_id abc123
工作流程
始终遵循以下顺序:交易前检查余额 → 获取当前价格 → 下单 → 通过持仓或未成交订单核验。
适用场景
适合需要通过 Starchild 在 Bybit 上执行现货或永续合约订单、查询账户余额与持仓、获取市场数据的用户,尤其适合将交易操作自动化或脚本化的场景。
限制与注意事项
TP + SL 组合:Bybit 支持在入场订单上同时附加止盈和止损,需在自定义脚本中通过 params dict 调用原生 Bybit API。简单止损或止盈可由统一的 CCXT API 处理。组合 TP+SL 在入场时的模式示例:
exchange.create_order("ETH/USDT", "market", "buy", 0.1, None, { "takeProfit": "3200", "stopLoss": "2500", "tpTriggerBy": "LastPrice", "slTriggerBy": "LastPrice", })
统一账户:Bybit 使用“统一交易账户”,现货、衍生品和期权共享同一保证金池。CCXT 会自动处理这一点。
OCO:Bybit 不支持原生 OCO。ccex-core 通过两个独立订单模拟 OCO,并会警告在其中一个成交时需手动取消另一个。
速率限制:Bybit 允许 10 请求/秒(订单端点)。CCXT 会自动处理。
错误处理参考:
- 10003 Invalid API key:.env 中密钥错误 → 重新检查 BYBIT_API_KEY
- 10006 Too many visits:触发速率限制 → CCXT 会处理;降低调用频率
- Insufficient balance:资金不足 → 先检查余额
- 110014 Reduce-only position does not exist:无未平仓持仓 → 先检查持仓