运用人工智能实现的 Thomas DeMark 次序 (TD SEQUENTIAL)(基础篇)
📘

运用人工智能实现的 Thomas DeMark 次序 (TD SEQUENTIAL)(基础篇)

第 1/2 篇

用 AI 思路重做 TD 次序

TD Sequential(Thomas DeMark 次序)原本是一套纯规则的价格计数法,在 MT5 上用 MQL5 实现时,可以把判定逻辑交给轻量 AI 模块来跑,而不是写死每一根 K 线的比较分支。 原文示例帖发布于 2017 年 6 月 19 日,在 MetaTrader 5 板块下累计获 11 566 次浏览、95 条互动,说明这类把经典形态学交给程序自动识别的需求一直有真实交易者埋单。 外汇与贵金属品种波动受杠杆与消息面放大,TD 计数出现 9 或 13 结构只代表局部衰竭概率上升,不构成方向保证,实盘前请在 MT5 策略测试器用历史数据验证信号密度。

「神经网络在交易里的真实定位」

很多交易者以为给神经网络喂无限价格、指标数据就能自动印钱,这想法直接扔掉。神经网络本身不能下单,它只能从侧面给策略打辅助:做决策参考、过滤噪音、给个预测倾向。能独立构成完整交易系统的纯神经网络,至少我还没见过。 本文要做的,是把一个经典逆势策略——Thomas DeMark 次序,和神经网络拼起来。次序策略的信号彼此不依赖,同一波行情里买卖信号可能连着出,假信号不少。我们只取原书《技术分析的新科学》里的前半段:设置(setup)和交汇(intersection)信号,因为它们贴在顶底附近,而且出现频率远高于倒计时和入场。 图例里 nikelodeon.mql5 指标画出的绿点窗口,就是策略的自适应版本:不卡死 9 根连续柱,而是条件不满足就发信号。每个信号的绿点窗口长度随市况变化,这正好给了 AI 发挥的空间——我们只在这段窗口里甄别市场状态、判断信号有没有效。 没有 NN 时,图上第一个红点(卖)后面价格更高,按它做空必亏;第一个蓝点(买)进去也吃显著回撤。外汇和贵金属这种高杠杆品种,假信号带来的回撤可能直接扫掉止损。区分真假信号,就是神经网络要接的手。

◍ 用前后承接给模型喂对料

昨天系统赚、今天亏、明天又凑合——这不是 EA 坏了,而是每日的「前后承接」在变。它由前日成交量、持仓和价格波动共同决定,每天收盘后都不一样。直接后果是:拿相似交易背景的那天数据去优化机器人,才贴近真实表现。 优化神经网络时最坑的一点,是训练样本混进了「当天才会长出来的形态」。日线前后承接就是这类形态的典型来源,必须隔离。 举例:今天量能和持仓双降,汇率却往上爬,说明上行动能虚弱,下行反转的概率偏大。若只挑「量降+持仓降+汇率升」的日子训网络,模型全天抓机会的概率会显著提高,因为它学到的就是这种承接下的反应。量、价、持仓三者的组合满打满算只有 9 种变化,给每种承接单独训一个网络,基本能罩住全部行情;九个模型轮着用,平均撑两周,有些情况更久。 eVOLution-dvoid.1.3 (1) 指标能帮你把承接可视化。它从 ...\Files\evolution-dvoid\dvoid-BP.csv 读数据,示例用的是英镑兑美元。每天莫斯科时间约 7:30 前,去芝加哥期货交易所下载英镑第 27 号每日公报,把前日成交量和持仓补进 csv,开盘前就位。指标盘中只显示「相对昨值的变化率」,不论量还是持仓,看的都是相对走势而非绝对数。外汇和贵金属杠杆高,承接只是概率线索,别当确定性信号。

拆开买卖信号来喂网络

把信号按买卖方向提前分成有效和虚假两类,分别建两个模型,一个专管买入、一个专管卖出。这一步不是为了好看,而是让网络资源不浪费在信号归类上,同时把训练样本量直接翻倍。已知事实:训练样本越多,泛化程度越高,模型对行情的适应周期也越久。 引入置信区间这个概念——模型被信任、认为能用的那一段。假设算出来的置信区间覆盖训练间隔的 1/3,那么用 30 个信号训出来的模型,充分运行周期大约就是 10 个信号。但实际里模型跑的比训练间隔长三倍也不稀奇。 训练间隔拉得越长,泛化能力反而往下掉,这印证了一件事:圣杯不存在。要真能拿全部历史训出 100% 泛化的网络,模型就能无限期干活,实践看纯属乌托邦。能落地的长线模型,秘密在喂给网络的数据——它们得反映输出变量的本质,从源头上对口,建模才不费劲。 输出变量本身也难选。看信号历史能精确判定哪些有效哪些假,但每个信号都得解释明白,让网络输出接近理想。输出里不能夹单个错误,否则网络会死磕那个理想值。可长间隔里拿到 100% 泛化的模型基本不可能,因为很难有那么干净、长区间无误读的输出数据;真要有,网络也就没必要存在了。 所以输出变量得带点轻微错误,小损失被显著盈利盖过去就行。这样输出不完美,但有资金增长潜力——失误亏的少,其它获利信号补得上,泛化级别反而高。这时候得清楚模型误差程度,据此调信号的置信。 给输出变量挑含义是最关键的。本能想到用盈利:过去赚的标 1、亏的标 0。但还能用别的语义,比如信号后是否回滚、是否摸到某盈利位、跟随信号的那根柱看涨还是看跌。同样输入,输出含义换一换就多出行情信息;多个模型互相确认,盈利概率就往上走。 我常碰见交易者想在长间隔里凑 100 个以上信号,我不认同。10–15 个信号够用,但误差别超 20%——就算五分之一亏到最大,还剩八个对的有两个能补回来。 拿 M5 上管一两周的系统举例:主指标每天约 5 个信号,九种前后承接模式各取 10 个信号。一周五个交易日,有些模型根本跑不起来,有些能跑。实践里每个模型每周触发不超两次,三次都少见。算上 10 个样本外的置信区间,泛化网络干活时间能超过一周。外汇和贵金属波动剧烈,这套思路也只是提高概率,实盘前务必在 MT5 用历史数据自测。

常见问题

把上升/下降第9根K线自动标记出来,不用自己一根根数,直接在图上看出潜在转折区。
它只负责判断当前序列后价格反转的概率倾向,不替你下单,外汇贵金属高风险需自担。
小布盯盘已内置TD次序识别,打开对应品种页就能看到AI标注的序列和反转倾向,不用自己写代码。
把每根K线相对于前一根的收盘涨跌和序列位置一起输入,缺了承接关系模型容易学偏。
分别回测买入暂停和卖出暂停后的胜率,可能某侧在特定周期更稳,建议用历史数据验证。