SKILL.md
$27
步骤2: 用户确认后
node scripts/exchange.mjs create_order '{"exchange":"okx","symbol":"BTC/USDT:USDT","type":"market","side":"buy","amount":1,"market_type":"swap","confirmed":"true"}'
→ 实际下单
## 平仓流程(两步,不可跳过)
**平仓必须用 `close_position`,禁止用 `create_order` 手动构建平仓单(容易开反向单)。**
步骤1: node scripts/exchange.mjs close_position '{"exchange":"okx","market_type":"swap"}'
→ 返回所有持仓预览(交易对、方向、张数、盈亏)
→ 展示给用户
步骤2: 用户确认后
node scripts/exchange.mjs close_position '{"exchange":"okx","market_type":"swap","confirmed":"true"}'
→ 市价平掉所有持仓(自动 reduceOnly)
指定交易对只平部分:加 `"symbol":"BTC/USDT:USDT"`
## 下单前准备
| 步骤 | 命令 |
|------|------|
| 设置杠杆+保证金模式 | `node scripts/exchange.mjs set_trading_params '{"exchange":"okx","symbol":"BTC/USDT:USDT","leverage":10,"margin_mode":"isolated","market_type":"swap"}'` |
| 查合约信息 | `node scripts/exchange.mjs markets '{"exchange":"okx","market_type":"swap","base":"BTC"}'` |
## 其他命令
| 操作 | 命令 |
|------|------|
| 平仓(全部或指定) | `node scripts/exchange.mjs close_position '{"exchange":"okx","market_type":"swap"}'` — 加 `"symbol":"BTC/USDT:USDT"` 只平单个 |
| 取消订单 | `node scripts/exchange.mjs cancel_order '{"exchange":"okx","symbol":"BTC/USDT","order_id":"xxx"}'` |
| 单独设杠杆 | `node scripts/exchange.mjs set_leverage '{"exchange":"okx","symbol":"BTC/USDT:USDT","leverage":10,"market_type":"swap"}'` |
## 数量
**合约自动换算:** amount 传用户说的币数量(如 0.01),脚本自动转张数。传整数则视为张数。
**用 USDT 金额下单:** 当用户说"用10U做多"或"花10 USDT开仓",传 `cost=10`(USDT保证金金额),不要传 amount。脚本会根据当前价格、杠杆自动计算合约张数。
**现货:** amount = 币数量。
**格式:** 现货 `BTC/USDT`,合约 `BTC/USDT:USDT`,Hyperliquid 用 USDC: `BTC/USDC:USDC`。
**交易所:** Binance, OKX, Bybit, Bitget, Gate.io, HTX, Pionex, Hyperliquid。