跳至正文
全部策略

策略

海龟交易决策系统(ChaoZhang 的 FMZ #443132,李和邪编写的 Pine 版本):忠实移植为 LTCUSDT.BINANCE 永续合约日线版本,多空双向,20/10 唐奇安通道,2-ATR 止损,0.5-ATR 金字塔加仓,最多 4 个单位

结局: 已放弃

LtcTurtleTradingDecisionSystemLS

结局总结

该策略逐行移植了 FMZ #443132 海龟交易决策系统,在 LTCUSDT 永续合约日线上运行。它保留了源代码默认参数及 0.05%/边手续费假设。经过 3 次迭代(最后一次仅修正第 -1.5 层配置一致性)后,仍未通过验证:第 3 层沙盒冒烟测试在 2400 日窗口上超过 300 秒限制。项目在没有回测指标的情况下被放弃,回测审查、优化、分析师和风险阶段均未启动。

假设

将 FMZ/Pine 海龟交易决策系统逐行移植到我们的平台。这是一种可交易策略,而非实用工具。交易场所/品种:LTCUSDT.BINANCE(币安 USD-M 永续合约),1-DAY 柱线。作者使用 Futures_Binance BTC_USDT 的 1d 柱线进行回测。为何选择 LTC,而非作者使用的 BTC:BTC 已占语料库主导地位(生命周期 44%,近期 62%),且一项 ETC 海龟策略已在规划中。因此,同一套规则用于流动性高、较少使用的 USD-M 永续合约,其日线历史数据自 2020-01-10 起(约 6.7 年)。币安 USD-M 的吃单手续费为 0.05%/边,与脚本自身的 commission_value=0.05% 相同,因此完整保留源代码的手续费假设。默认参数完全按原文设置:Enter Mode='Mode 1';Mode 1 entry_length=20,exit_length=10;Mode 2 entry_length=55,exit_length=20(默认未启用);atr_period=14(ta.atr = 真实波幅的威尔德尔 RMA);risk_per_trade=0.02;initial_stop_atr_multiple=2;pyramid_atr_multiple=0.5;max_units=4(Pine 金字塔加仓=4)。日期筛选器 valid_date() 始终返回 true,因此起止日期输入未被使用。高亮输入以及所有绘图/填充代码仅用于图表绘制,未作 NOT 翻译。HONESTY NOTE:教训 L167 记录了忠实移植的 FMZ 脚本中有 5 / 5 失败。本策略之所以提出,是因为用户明确要求忠实陈述。与那些移植不同,此脚本面向 0.05%/边佣金及日线柱线编写,这正是我们能够精确复现的手续费水平和决策间隔。

用户要求忠实陈述 FMZ 海龟策略,因此保留了每条规则和默认值。交易品种从 BTC(占比超过 15%)和 ETC(EtcTurtleDonchianBreakoutLS 已在规划中)转为 LTCUSDT.BINANCE,其日线数据自 2020-01-10 起收录于目录中。根据 L168/L172,选择 USD-M,而非 HL 或 COIN-M:信号仅基于价格,需要较长历史,并应避免反向抵押品。双向交易增加了代表不足的 long_short 类别(15%)。优化仅限于源代码自身的结构参数,并以默认值作为基准。

verification_loop:sandbox_timeout:验证失败(第 3 层——沙盒回测):冒烟测试在约 20000 根柱线的窗口上超过 300 秒墙钟时限(2400 天的 LTCUSDT.BINANCE-1-DAY-LAST-EXTERNAL)。这几乎总是意味着每根柱线的工作量会随历史长度增长,例如反复扫描完整的资金费率/补充数据序列,或在每根柱线上于 calculate_signal()/on_bar() 中重建列表并调用 min()/sorted()。在 __init__ 中预先计算已排序的时间戳数组 ONCE 并使用 bisect,或按时间戳缓存查询,使每根柱线的成本为 O(log n) 而非 O(n)。

实现

将 FMZ/Pine 海龟交易决策系统忠实移植为日线版本,运行于 LTCUSDT.BINANCE 永续合约。该策略在 20 日唐奇安通道突破时做多或做空;在模式 1 中,若上一笔交易获利,则跳过下一次突破信号。价格跌破或突破 10 日通道时退出,并设置 2-ATR 初始止损。价格每进一步移动 0.5 ATR,就增加一个 ATR 风险单位,最多增至 4 个单位;止损重设为最近一次加仓价格 -/+ 2 ATR。单位 = 权益*2%/(2*ATR),总名义金额上限为 0.95*权益*杠杆。

第 3 次迭代仅修复第 -1.5 层一致性失败。研究 optimization_plan 的每个固定键现都已在参数中声明,计划值和类型完全一致:杠杆 3.0、max_units 4、atr_period 14、enter_mode、risk_per_trade 0.02、模式 2 长度、pyramid_atr_multiple 0.5 以及 baseline_* 值。config.leverage = 3.0,保证金上限从 parameters.leverage 读取杠杆。可调参数 entry_length、exit_length 和 initial_stop_atr_multiple 保持在各自计划范围内的源代码默认值(20/10/2.0)。代码不会对其限幅,因此未声明 _param_bounds。参数已对照 src.optimization.domains.validate_domains 检查。交易逻辑与通过第 1-2 层的版本相同。平台适配:Pine 在入场订单上的 stop= 按脚本已有的基于收盘价的 crossunder/crossover 止损处理,订单则以柱线收盘价作为市价成交。

验证结果

sandbox_timeout:验证失败(第 3 层——沙盒回测):冒烟测试在约 20000 根柱线的窗口上超过 300 秒墙钟时限(2400 天的 LTCUSDT.BINANCE-1-DAY-LAST-EXTERNAL)。这几乎总是意味着每根柱线的工作量会随历史长度增长,例如反复扫描完整的资金费率/补充数据序列,或在每根柱线上于 calculate_signal()/on_bar() 中重建列表并调用 min()/sorted()。在 __init__ 中预先计算已排序的时间戳数组 ONCE 并使用 bisect,或按时间戳缓存查询,使每根柱线的成本为 O(log n) 而非 O(n)。

迭代历史

验证失败(第 1.5 层——假设/配置一致性)[类别=hypothesis_mismatch]: - optimization_plan 将杠杆固定为 3.0

结局总结

将每根柱线的工作量控制在 O(1) 或 O(log n),方法是使用增量指标状态或预计算数组;这样策略可在沙盒时限内通过,避免后续迭代转而修复配置一致性问题。

经过 3 次迭代后,该策略在验证阶段被放弃。Layer 3 沙盒回测在约 20,000 根 K 线的窗口内(LTCUSDT 根 1 日线,共 2400 天)超过了 300 秒的墙钟时间限制,运行以 verification_loop / sandbox_timeout 结束。回测审查、分析师和风险评估阶段均未运行。

将 FMZ/Pine 海龟交易决策系统忠实移植为日线版本,运行于 LTCUSDT.BINANCE USD-M 永续合约:多空双向 20/10 唐奇安通道突破,设置 2-ATR 初始止损,按 0.5-ATR 金字塔加仓,最多 4 个单位,每笔交易风险为 2%。

没有绩效数据。该策略从未生成回测(回测报告为空,也没有优化报告),因此没有收益、夏普比率或交易次数。

分析

海龟交易决策系统|Turtle Trading Decision System

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