跳至正文
全部策略

策略

用Python的交易员编写的vn.py KingKeltnerStrategy:在AVAX Bybit上的默认5分钟OCO突破策略

结局: 回测

AvaxBybitKingKeltner

用Python的交易员编写的vn.py KingKeltnerStrategy:在AVAX Bybit上的默认5分钟OCO突破策略

假设

忠实移植所提供的MIT许可 KingKeltnerStrategy,作者为用Python的交易员。严格保留源代码默认值:kk_length=11、kk_dev=1.6、trailing_percent=0.8和fixed_size=1。交易AVAXUSDT.BYBIT永续合约,可做多或做空;信号每5分钟更新,执行使用1分钟K线。源代码将分钟K线聚合为按时钟对齐的5分钟K线,申请10天初始化历史数据,并默认使用100元素的ArrayManager。保留其滚动数组指标计算和初始化门槛。唯一有意进行的策略调整是按资金比例计算仓位:fixed_size=1代表一个平台分配单位,而非一个AVAX。未授权添加其他趋势过滤器、止盈目标、资金费率过滤器、冷却期或持仓时间退出机制。这是一项未经验证的复现实验,并不代表源策略能够盈利。

明确的复现要求优先于引入其他机制来填补配额。Bybit在2.5%的占比低于5%目标,而多空敞口可应对82.8%只做多的集中问题。AVAX避免再做一次BTC或ETH实验,不过所提供的corpus_concentration为空,无法确定其单独使用占比。Hyperliquid的历史数据较短,不适用于这个保持不变的5分钟设计。保留单一交易品种范围,因为加入对冲或篮子会改变源策略。该实验不同于所提供的SMA、Supertrend、网格和跨交易所价差失败案例,但其通用突破机制仍是低优先级且有手续费风险的候选策略。所有源信号参数均保持固定,以免优化将复现变成另一种策略。

实现

在AVAXUSDT.BYBIT忠实移植vn.py KingKeltnerStrategy:将1分钟K线聚合为按时钟对齐的5分钟K线;当100根K线的数组填满后,每次5分钟收盘时取消未成交订单;若空仓,则在肯特纳通道带(SMA(11) +/- 1.6*ATR(11))挂出一对OCO止损市价入场单;若持仓,则挂出0.8%追踪式只减仓止损单。

第2次迭代修复第1.5层:现在参数包含每个optimization_plan固定值,类型均准确,包括此前缺失的leverage=1.0(浮点数)。该参数与config.leverage保持一致,并用于仓位规模计算。将5分钟信号周期声明为额外K线类型(AVAXUSDT.BYBIT-5-MINUTE),使配置与假设一致。该周期较慢,因此不会限制1分钟主周期,且on_extra_bar仍不起作用。信号仍来自忠于源代码的1分钟到5分钟聚合,执行仍使用1分钟K线。信号、下单和退出逻辑与第1次迭代相同。

验证结果

截断的沙盒报告显示,已平仓亏损仓位为39个,平均净收益率为名义金额的-0.947%。应通过完整历史数据审查突破假信号和模型化冲击成本;这些结果不能证明存在正确性缺陷。

迭代历史

验证失败(第1.5层——假设与配置一致性)[类别=hypothesis_mismatch]: - optimization_plan将杠杆固定为1.0 另请注意: - 假设规定使用5分钟K线,但config.bar_type为AVAXUSDT.BYBIT-1-MINUTE-LAST-EXTERNAL(1-MINUTE)——QA拒绝与假设矛盾的周期;请调整bar_type或修改文本。

分析

KingKeltnerStrategy

Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。