# OKX自动开仓工作流 ## 概述 当用户没有仓位且信号性价比合理时,自动执行开仓操作,无需等待Y/N确认。 ## 前置检查 1. **查账户余额**:`GET /api/v5/account/balance` → 获取USDT可用余额 2. **查当前持仓**:`GET /api/v5/account/positions` → 确认无持仓 3. **查当前价格**:`GET /api/v5/market/ticker?instId={币种}-USDT-SWAP` ## 性价比评估 - **入场价差距**:当前价与信号源入场价差距 <5% - **ATR检查**:4H ATR值合理(SL宽度 ≥ ATR) - **强平距离**:强平价与当前价距离 >3% ## 仓位计算 ```python # 合约规格 ct_val = 0.1 # ETH: 1张 = 0.1 ETH leverage = 25 # 默认25x # 计算 max_contracts = balance / (ct_val * price / leverage) recommended_contracts = int(max_contracts * 0.5) # 50%安全边际 margin_per_contract = (ct_val * price) / leverage total_margin = recommended_contracts * margin_per_contract ``` ## 执行步骤 1. **设置杠杆**:`POST /api/v5/account/set-leverage` ```json { "instId": "ETH-USDT-SWAP", "lever": "25", "mgnMode": "cross" } ``` 2. **市价开仓**:`POST /api/v5/trade/order` ```json { "instId": "ETH-USDT-SWAP", "tdMode": "cross", "side": "buy", "ordType": "market", "sz": "9" } ``` 3. **查询成交价**:`GET /api/v5/trade/order?instId={instId}&ordId={ordId}` 4. **设置OCO止盈止损**:`POST /api/v5/trade/order-algo` ```json { "instId": "ETH-USDT-SWAP", "tdMode": "cross", "side": "sell", "sz": "9", "ordType": "oco", "tpTriggerPx": "1851.28", "tpOrdPx": "-1", "tpTriggerPxType": "last", "slTriggerPx": "1674.96", "slOrdPx": "-1", "slTriggerPxType": "last" } ``` ## 止损止盈计算 - **止损**:入场价 × 0.95(-5%) - **止盈**:入场价 × 1.05(+5%) - **盈亏比**:1:1(默认) ## 推送格式 开仓完成后,推送结果到QQ: ``` ✅ 自动开仓完成! 📊 交易执行结果: | 步骤 | 结果 | |------|------| | ✅ 杠杆 | 25x | | ✅ 开仓 | 9张 (0.9 ETH) @ $1,763.12 | | ✅ 止损 | $1,674.96 (-5%) | | ✅ 止盈 | $1,851.28 (+5%) | | ✅ 强平价 | $1,622.07 | | ✅ 盈亏比 | 1:1 | 💰 账户状态: • 权益:$133.46 • 可用:$69.99 • 持仓:9张 ETH 多单 📈 跟单麻吉大哥: • 麻吉:9,350 ETH @ $1,720.83(浮盈+$481k) • 您:0.9 ETH @ $1,763.12(轻仓试水) ``` ## 注意事项 1. **posMode=net_mode**:不能传posSide,side=buy即开多 2. **OCO合并**:一个持仓对应一个OCO,SL/TP取最新推荐的值 3. **余额不足**:如果余额不足,减少仓位或跳过开仓 4. **强平风险**:25x杠杆下,价格下跌5%即触发强平,务必设置止损