用途
Binance 技能用于在 Starchild 中直接交易全球最大中心化交易所币安(Binance)。它支持现货(Spot)与 USDM 合约(Futures),底层调用捆绑的 scripts/ccex_core.py 引擎,依赖 ccxt 库完成与交易所的交互。
主要能力
- 行情数据(无需 API Key):获取当前价格/行情、查看订单簿(买卖盘)、K 线 OHLCV 数据、列出所有可用市场。
- 账户查询(需 API Key):查看现货与合约余额、查看未成交订单、查看订单历史、查看未平仓合约持仓。
- 交易(需 API Key):市价单、限价单、止损市价/止损限价单、止盈单、移动止损单(基于 delta)、OCO 订单(币安原生支持)、带 reduce-only 的合约订单。
使用方式
- 获取币安 API Key:登录 binance.com,进入 Profile → API Management,创建新 API Key,启用 Spot & Margin Trading 与 Futures Trading 权限,保存 API Key 与 Secret。
- 配置环境变量:在 workspace/.env 中添加: BINANCE_API_KEY=your_api_key_here BINANCE_SECRET=your_secret_here
- 安装依赖: pip install --break-system-packages ccxt
所有操作通过 bash 调用捆绑引擎执行:
python3 skills/binance/scripts/ccex_core.py <action> --exchange binance [options]
常用命令示例
获取 BTC/USDT 价格: python3 skills/binance/scripts/ccex_core.py ticker --exchange binance --symbol BTC/USDT
查看余额: python3 skills/binance/scripts/ccex_core.py balance --exchange binance
市价买入 0.001 BTC:
python3 skills/binance/scripts/ccex_core.py order --exchange binance
--symbol BTC/USDT --side buy --type market --amount 0.001
限价 90,000 买入:
python3 skills/binance/scripts/ccex_core.py order --exchange binance
--symbol BTC/USDT --side buy --type limit --amount 0.001 --price 90000
85,000 止损:
python3 skills/binance/scripts/ccex_core.py order --exchange binance
--symbol BTC/USDT --side sell --type stop --amount 0.001 --stop_price 85000
移动止损(500 BIPS = 5%):
python3 skills/binance/scripts/ccex_core.py order --exchange binance
--symbol BTC/USDT --side sell --type stop --amount 0.001 --trailing_delta 500
OCO 订单——100k 限价卖出、85k 止损:
python3 skills/binance/scripts/ccex_core.py oco --exchange binance
--symbol BTC/USDT --side sell --amount 0.001
--price 100000 --stop_price 85000 --stop_limit_price 84900
合约做多 0.01 BTC(USDM):
python3 skills/binance/scripts/ccex_core.py order --exchange binance
--symbol BTC/USDT --side buy --type market --amount 0.01 --futures
取消订单:
python3 skills/binance/scripts/ccex_core.py cancel --exchange binance
--symbol BTC/USDT --order_id 12345678
建议工作流
始终按以下顺序执行:先查余额,再获取当前价格/行情,然后下单,最后通过未成交订单或历史确认订单。
适用场景
适合需要通过 Starchild 以命令行方式在币安进行现货或合约交易、查询账户与行情、管理多种订单类型(含 OCO 与移动止损)的用户。
限制与注意事项
- OCO 订单:币安是唯一原生支持 OCO 的主流交易所。OCO 同时下一笔限价单与一笔止损限价单,其中一笔成交后另一笔自动取消。参数:--price 为限价(止盈)价格;--stop_price 为止损触发价;--stop_limit_price 为触发后的实际限价(可选,默认比止损价低 0.1%)。
- 合约与现货:在任意订单命令中加入 --futures 标志即可路由到币安 USDM 合约而非现货。
- 频率限制:币安限制为 1200 请求/分钟(基于权重),CCXT 通过 enableRateLimit: true 自动处理。
- 测试网:使用币安测试网需设置 BINANCE_API_KEY 与 BINANCE_SECRET 为测试网密钥,并修改 skills/binance/scripts/ccex_core.py 中的 exchange 配置,在 options 中加入 "test": True。
错误处理
- Invalid API Key:.env 中密钥错误,重新检查 BINANCE_API_KEY。
- Timestamp for this request:时钟偏差,同步系统时钟。
- MIN_NOTIONAL:订单过小,增加金额(最小约 10 USDT)。
- Insufficient balance:资金不足,先检查余额。
- OCO price rules violation:价格排序错误,卖出 OCO 需满足 limit > 当前价 > stop。