策略
3Commas BTCUSDT.P 固定几何网格,仅做多
结局: 已放弃
ThreeCommasBtcBybitFixedGeometricGrid
结局总结
该策略将3Commas 的仅做多几何网格规则转换为BTCUSDT.BYBIT上的策略。经过3次迭代后,QA发现重启缺陷:已成交仓位可能失去计划中的退出单。冒烟测试的绩效指标也相互矛盾,因此被标记为不可靠。验证期间,本次运行被放弃;未进入后续阶段。
假设
忠实还原3Commas 的 Pine 策略对BTCUSDT.BYBIT在15分钟K线上的交易假设。默认值:highPrice=83689.23,lowPrice=51629.65,nLevels=50,gridMode="Geometric",investment=10000 USDT。源策略设置initial_capital=10000、默认现金数量=250、金字塔加仓=200、每侧模拟手续费=0.055%、滑点=3个跳动点、process_orders_on_close=true,且calc_on_every_tick=false。每笔入场都提供明确数量,因此默认现金数量不会决定网格交易的规模。平台初始资金为$100,000;保留源策略的10000 USDT投资额后,每个槽位为200 USDT,约占初始权益的0.2%;在49个可买入价位中,最多投入9800 USDT。默认日期筛选器接受开盘时间从2025-04-01 00:00 UTC至2026-12-31 23:59 UTC的K线。图表展示和3Commas webhook 设置不会改变交易。来源:https://www.tradingview.com/script/BR74LOKo-BTCUSDT-P-Grid-Bot-Long-Strategy/
保留转换后的网格规则,并在价格首次向上穿越后锁定每个网格槽位的退出意图。退出单被取消或部分成交时,会重试剩余数量;其他槽位的订单不再阻止记录此次穿越。未平仓卖出数量会从净多头仓位中预留。冒烟测试的名义金额收益率指标仍不可靠,在评估绩效前需要与交易流水账核对。
verification_loop:验证失败(Layer 4 — QA审查)[class=code_defect]: - [edge_concern] 冒烟测试账本显示平均USD PnL为正,但名义金额平均收益率为负;metrics_reliable为 false。评估绩效前请核对成交和名义金额。 - [critical] 每根K线的订单处理前就发布了模拟状态快照。成交回调会更新槽位归属,但不会再次发布快照。若在下一根K线前重启,恢复的槽位账本可能已过期,同时仓位却被保留,导致已成交的多头仓位没有归属槽位,无法触发网格退出。(第 161 行)— 修复:在成交后持久化槽位状态,或在重启时根据成交记录重建并验证状态。测试买入和部分卖出成交后立即重启的情形。
实现
在固定几何BTC网格的价格向下穿越时买入,并在价格穿越上方价位后卖出对应已成交的槽位。
验证结果
验证失败(Layer 4 — QA审查)[class=code_defect]: - [edge_concern] 冒烟测试账本显示平均USD PnL为正,但名义金额平均收益率为负;metrics_reliable为 false。评估绩效前请核对成交和名义金额。 - [critical] 每根K线的订单处理前就发布了模拟状态快照。成交回调会更新槽位归属,但不会再次发布快照。若在下一根K线前重启,恢复的槽位账本可能已过期,同时仓位却被保留,导致已成交的多头仓位没有归属槽位,无法触发网格退出。(第 161 行)— 修复:在成交后持久化槽位状态,或在重启时根据成交记录重建并验证状态。测试买入和部分卖出成交后立即重启的情形。
迭代历史
验证失败(Layer 4 — QA审查)[class=code_defect]: - [edge_concern] 沙盒账本显示平均USD PnL为正,但名义金额平均收益率为负;metrics_reliable为 false。评估绩效前请核对这些数字。 - [critical] 代码在提交订单时、确认任何成交之前,就将网格槽位标记为已买入或已卖出。订单被拒绝、延迟、取消或部分成交,都可能导致槽位账本与实际仓位不一致。此覆盖逻辑还绕过了基类的未完成订单保护。(第 118 行)— 修复:按槽位跟踪待处理订单。仅在确认成交后更改归属状态和手数;处理部分成交、拒单和取消,并防止重复提交。
验证失败(Layer 4 — QA审查)[class=code_defect]: - [edge_concern] 冒烟测试显示平均USD PnL为正,但名义金额平均收益率为负,且metrics_reliable=false。评估绩效前请核对交易流水账。 - [critical] 部分成交的退出单平仓或被取消后,剩余槽位数量需要等待价格再次向上穿越才会触发卖出。若价格一直高于退出价位,该数量将无限期保持未平仓状态。(第 148 行)— 修复:在首次穿越时锁定槽位的退出意图,并持续重试剩余数量,直到全部平仓。 - [critical] 一个槽位中的未平仓订单会阻止当根K线对所有其他槽位进行评估。其他槽位可能在被阻止的K线期间穿越退出价位,之后除非价格再次穿越,否则永远不会退出。(第 171 行)— 修复:独立评估各个槽位,并保留每个槽位的退出意图,直到其订单完成。
结局总结
成交后持久化或重建网格槽位归属,并在评估绩效前核对成交指标。
经过3次迭代后,Layer 4 QA发现,成交后重启可能导致网格槽位归属丢失,使多头仓位可能没有对应的网格退出单。本次运行在后续审查前被放弃。
仅做多的BTCUSDT.BYBIT几何网格在固定价位向下穿越时买入,并在下一个更高价位卖出各槽位。
未提供回测报告,也没有可靠的收益、夏普比率或交易次数。冒烟测试指标显示平均USD PnL为正,但名义金额平均收益率为负,因此被标记为不可靠。
放弃原因
verification_loop:验证失败(Layer 4 — QA审查)[class=code_defect]: - [edge_concern] 冒烟测试账本显示平均USD PnL为正,但名义金额平均收益率为负;metrics_reliable为 false。评估绩效前请核对成交和名义金额。 - [critical] 每根K线的订单处理前就发布了模拟状态快照。成交回调会更新槽位归属,但不会再次发布快照。若在下一根K线前重启,恢复的槽位账本可能已过期,同时仓位却被保留,导致已成交的多头仓位没有归属槽位,无法触发网格退出。(第 161 行)— 修复:在成交后持久化槽位状态,或在重启时根据成交记录重建并验证状态。测试买入和部分卖出成交后立即重启的情形。
分析
BTCUSDT.P 网格机器人—3Commas 的做多策略
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。