自适应算法(第三部分): 放弃优化·进阶篇
◍ 用方块统计拆开市场的趋势与横盘尺度
市场不是随机游走的纯噪声,价格被切成垂直方块后,能看到下跌块数与上涨块数的局部偏差,以及随后向某种均衡的回归。这种规律是统计性的,所以要先用 Max_distribution 指标把分块价格序列的统计参数拉出来看。它支持同时显示多种块大小的数据:设最小块,再用乘法因子派生出其他尺寸,核心动作是度量价格垂直移动 N 步所穿过的方块数。 实测里,用 1000 个样本、24 步窗口扫不同块大小,得到的平均振幅分布很有说头:块大小 0.00015 时,价格 24 步垂直挪 5.9 个块;块大小 0.00967 时降到 4.2 个块。红线是随机游走的参考值——24 步对应 3.868 个垂直块(由组合法算出,随步数变,比如 24^0.4526 是平均振幅趋近式)。我扫过约 35 个货币对、100+ 股票、10 种加密币、10 种商品,没发现严重偏离,平均幅度从加密的 7 到货币对的 3.8,低流动股票甚至跌破 3.8。外汇和贵金属波动高,这种统计只是概率画像,别当确定性用。 拿正弦波做对照最直观:半周期=块大小、24 步=半周期,则 48 步一周期;量 24 步平均振幅,样本多了趋近 12(步数/2)。真实价格不是正弦,但能借它判断——量出来超过 12 说明块太小、24 步装不进半周期;低于 12 要么是块太大,要么是趋势不像正弦那样线性。Max_distribution 的直方图里,正弦波在小块时 24 步挪 24 块,块大到和波幅相当就掉到 0;而真实图 3 峰值 5.9 趋近参考 3.868,说明价格序列是“带噪正弦”,某些尺度横盘(反转概率高)、某些尺度趋势(延续概率高)。 用 GBPUSD 测的 24 步平均振幅 3.86,乘 2 得 7.72 个垂直块,取整 8。趋势区里 24 步垂直走 8 块,意味一个方向 16 块、另一方向 8 块。图 7 白柱是 10~120 步、每步 2 组×1000 样本的运动幅度,红线是参考;步数拉长无明显偏离,但曲线整体略超参考。由图 7 推:26 步=3.98、28 步=4.11、30 步=4.2、32 步=4.36 块,116 步垂直过 8 块。24 步已走 8 块,到 28 步均值仅 4.11(取整 4),说明后续 4 步可能有回滚,但市场不会这么机械。 长期看振幅回归均值:24 步 3.8 块、116 步 8 块。模型据此能用工具统计参数算回滚特性——趋势越猛,回退越快越深;趋势越平,回退越缓越浅。图 9 真实图表左端剧烈波动回滚超 60%,右端平滑波动 30% 回滚,因为右图经历步数多、形成中幅度累加。资本骤进骤出会打破当前流动性造成尖波动,平仓越快回滚越烈,这是模式成立的定价基础。
自适应块时间框架怎么抓趋势起点
逆势网格机器人要赚钱,关键是序列开头信号又密又准。原文思路是数上涨/下跌方块的占比偏离:当某一方向方块数明显超过常态,就发回向序列开仓信号。但固定块数配固定阈值不靠谱——24块组合里75%主方向块的概率,跟34块组合根本不是一回事,所以阈值百分比得按组合概率动态算,原文附了xlsx概率表,比如设落入范围概率2.2,查表取≤2.2最近值对应81.25%开启阈值,平仓则反向查表取≥75最近值如78.9对应62.5%。 市场波动不恒定,固定窗口分析趋势度很可疑。作者选24-28块动态窗口,依据是平均振幅3.8时该窗口能在序列起点榨出4个利润块;窗口越大越准,但每块都加仓会拖累结果。最小块尺寸不能小于M1烛台内部意义,用1440分钟ATR乘2-5比率定底限,还要覆盖佣金——4块利润得显著高于手续费,块越小信号越频但滑点吃垮,得平衡。 真自适应靠「块时间框架(TF)」乘法因子KTF。最小块叫TF1,按KTF=1.1放大扫描更高帧,看5层足够让最大块比最小块大1.6倍。哪层出序列信号就翻它为基本TF,再向上造5层重扫,抓最大趋势尺度当底座。用24-28块范围而非定值,就是为消图11那种大块反而覆盖数据少的不精确。KTF越低越精但算力炸,1.1是精度与负载折中。 信号出了不能秒开。作者先用等高等帧历史对齐法(图12等2分钟让大块追上小块范围),后改统计法:用%open里已含的品种特征算延迟。例 mbn=24、%open=75、BSB=0.00064、Bsd=0.0007,得Vb=18同方向块,价差缺口0.00108除以Bsd得Nd=1.54,按品种回撤习性修正Nbd=3个高帧块;且只盯趋势方向穿透参考点才等,若剩1块也穿不过就直接开仓。动画2正弦波里机器人自定块大小、抓满幅回滚设利,外汇贵金属实盘波动不对称,这套高杠杆品种回测前先想清爆仓风险。 序列首仓后机器人仍继续嗅更高TF,小帧开的仓和大帧开的仓混着跑,回滚止盈永远绑死已识别最大趋势。这机制自动跳过纯横盘(永不启动),但遇单边暴涨暴跌会一直扩帧到趋势结束才开仓——此时得靠品种统计漂移去改趋势完成标准,当前版还没做。
「算法不预测价格,只等统计条件对齐」
这套系统的核心目标不是去押注某段行情会涨还是会跌,而是让算法具备识别数据稳定性的能力。当输入的价格序列不满足既定的统计特性时,它直接不交易——把「不做」也当成一种执行结果。 外汇与贵金属市场高杠杆、高波动,用这种「条件不满足就空仓」的思路,能明显降低在乱序行情里被来回扫损的概率,但也只是降低而非消除风险。 已开发模块的参数全部移进了设置项,但注意:这些设置不是给你拿历史回测去拟合盈利曲线的,而是用来调模块间协作效率的。每个值背后都有具体解释甚至计算公式,算法越复杂,越需要靠它们让各部件有效咬合。 文章末尾附了在图表和指标窗口画方块的指标代码,两个版本只是可视化不同。需求规范和早先算法版本文档也一并附上,方便你直接开 MT5 把指标拖上去看方块怎么映射统计状态。
◍ 跨周期零点与动态区块的延伸读法
作者在同一套未优化设置下,对 SP500 的 56 支个股(5 年)、俄股 28 支(8 年)、28 个货币对(9 年)和 17 个加密对(3 年)跑了自适应算法,机器人自行运作且扣除佣金后整体倾向为正。这组数据说明离散化方式比品种选择更决定稳定性,外汇与贵金属属高风险,结果仅代表历史样本概率。 他后来弃用蜡烛的时间离散化,改用随图形形态变化的动态 N 点区块做价格量化,目的就是压掉序列里的随机分量。欧元兑美元与布伦特走势在蜡烛上看着像两类动物,切法一对,底层结构差异反而清晰可数比。 市场零点在每个周期位置不同,大周期回零时小周期往往在离零,这种资金流反馈意味着回撤 50% 未必是动作终点。读这段讨论别只记结论,开 MT5 把日线波动率按百分比刻度叠一层,自己看 EURUSD 和 AUDUSD 的偏离节奏,比盯任何现成指标都来得实在。