🧧 Gate 广场 $50,000 红包雨狂撒,发帖 100% 中奖!
活动全面加码,奖励上不封顶!
🚀 人人有份: 新老用户发帖即领,单帖最高可得 28U!
📈 多发多得: 参与次数不设限,发帖越多,红包拿得越手软!
立即参与:
1️⃣ 更新 App: 升级至 v8.8.0 版本。
2️⃣ 开启红包: 点击发帖,奖励自动入账!
马上发帖领红包 👉 https://www.gate.com/post
详情: https://www.gate.com/announcements/article/49773
预测市场策略单市场持仓限制总是不生效,修了很多次查不出来。
今天终于找到根因:订单类型用错了。
问题现象
H12 天气策略从上线就有两个奇怪的 bug:
1. 单市场持仓总是超过 $10 限额
2. 下了 32 个订单,0 个成交(0% 成交率)
一开始以为是逻辑问题,查了半天去重函数、持仓计算、订单状态检查,都没问题。代码层面怎么看都对
,但线上就是不生效。
根因诊断
翻代码才发现:我一直在用 IOC (立即成交或取消) 订单。
IOC 的逻辑是:下单后立即匹配订单簿,匹配不上就取消。
这导致两个问题:
• 持仓超限:IOC 订单立即取消,不会停留在 pending
状态,导致去重检查失效(检查不到订单),策略在单次扫描周期内对同一市场重复下单
• 成交率 0%:天气市场流动性差,订单簿经常是空的,IOC 一下单就取消了
解决方案
改用 GTC Maker 订单:
• GTC (Good-Till-Cancel) - 挂单后一直等对手方成交
• 订单停留在 pending 状态,去重检查可以生效
• pending 订单检查 - 每次扫描前检查上次挂单有没有成交
效果验证(见图 1)
VPS 部署后:
• 持仓超限问题消失
• 5 分钟内 5/29 订单成交(17.2% fill rate vs 之前 0%)
• Maker 有 rebate,Taker 要付 fee(改完还省钱)
一个改动修了两个 bug。如果你也在做 Polymarket 策略,图 2 的订单类型矩阵可以直接参考。