在一张图表上的多个指标(第 01 部分):理解概念·进阶篇
「主动模式下一图多标的模板复用」
在 MT5 里做主动盯盘,第一步是把一个品种的图表+指标组合存成 tpl 模板。建议模板名直接跟品种名一致,例如 Vale3.tpl,后面调起来不迷路。 如果多个品种想用同一套指标布局,不用每个都重配:复制 Vale3.tpl,按品种改名存成 Petr3.tpl、Itub3.tpl、Bbdc4.tpl 即可,设置完全沿用。哪天要改参数,加载对应 tpl、改完再覆盖保存就行。 有人会问,既然配置一样,为何不直接全品种套同一个模板?技术上可行,但 MT5 模板绑定的是图表实例状态,后期维护反而容易乱。分开存文件虽然多几步,后续排查更快,外汇和贵金属波动大、品种切换频繁,这套动作能省掉不少重复劳动。
把 RSI 这类指标固化进配置
主动模式跑通后,接下来是指标模式,它必须按部就班地做,且要严格对照后续实际要用的参数。最终产出质量完全取决于这一步是否仔细,急不得。 以 RSI 为例,先把指标加到图表并按预期配置好。和主动模式不同,这里每一个配置文件都得单独建,不能图省事。配置完按主动模式那样保存文件,但文件名写指标名而非品种名,所有打算用的指标都照此处理。 很多人喜欢在成交量指标里叠一条移动平均线,这种附加操作必须在保存配置前完成。事后补加是不可能的,只能把整套设置重配一遍——这就是前面强调慢工的原因。 不必纠结指标当时挂在哪个品种上,只要保存动作做对了就有效。MT5 的机制是:保存指标配置时若未指定品种,该设置文件就只能套用在图表当前品种。实测中先在 ITUB3 上存了成交量指标配置,再放到 WING22 上加载,读出的就是 WING22 的对应数值。
◍ 模板保存时的品种绑定陷阱
在 MT5 里保存指标模板时,如果当时子窗口或图表里还挂着别的品种,这套设置不会套到当前品种,而是绑死在当初配置它的那个品种上。 原文示例里能直接看到差异:左侧主图 WING22 的 RSI 读数和右下角 ITUB3 的 RSI 完全不同,说明模板被品种劫持了。外汇与贵金属波动大、跳空频繁,这种错绑会让新手误读信号,属于高危操作习惯。 正确做法是在干净的单品种图表上调好参数再存模板;用熟之后,反而能靠这机制跨品种同步看 RSI 背离,省去重复挂指标的麻烦。
「指标与资产的命令分隔及子窗口密度」
把文件都就位后,真正要碰的是图表元素的选取与配置。指标和资产在命令里被刻意拆成两套写法,不塞进同一行,是为了后续往系统里加东西时不撞名——即便以后新指标和某资产缩写接近,命令语法也不变:两类设置都用分号「;」隔开。 指标侧写法很直白:RSI 就只挂一个 RSI 配置;写 RSI;MACD 或 RSI ; MACD 效果一样,空格只是让人好读,先挂 RSI 再挂 MACD;MACD 3; IFR14 则是先后挂两个自定义名配置。资产侧规则更硬——VALE3 会真去调出 VALE3 报价并丢进子窗口,VALE3 ; ITUB3 就是两个资产各占各的窗;但 VALE4 ; ITUB5 属于无效,资产根本不存在,哪怕设置文件在,拉出来的也是逻辑错数据。把资产填进指标区或反过来,都算语法错,会直接带歪显示。 子窗口里还能压数据密度。默认比例是 4,可填 0 到 5:0 是密度最大,5 最稀。写法是指标或资产名后接冒号加数字,例如 RSI:2 按 2 的密度画,RSI; MACD:1 是 RSI 用 4、MACD 用 1,VALE3:3; ITUB3:0 则两个资产窗各自定密度。超出 0–5 范围会报语法错,图形可能不按预期走。外汇和贵金属品种同样适用这套命令逻辑,但品种失效或休市时也会出无效数据,实盘前先在 MT5 用模拟品种跑一遍确认。
内部代码思路只是开了个头
上一节里提到用内部代码来承载市场模拟的逻辑,但只抛了想法没摊开写。对多数做 MT5 策略的人,把模拟层塞进内部代码而非堆指标确实反直觉,所以作者单独开了一篇专门拆这套系统。 下一篇才会真正把代码摊开。这里先留个钩子:这套系统在实际工程里到底是怎么落地的?比如是借用的内部指标缓冲区,还是另起一个隐藏计算线程,原文故意没说死。 有兴趣可直接翻作者 Daniel Jose 的「市场模拟」系列第 15–21 部分,里面从套接字一路写到 SQL 入门,能拼出他惯用的离线仿真路径。外汇与贵金属品种用这类自研模拟需自行验证,回测偏差可能很大,属高风险玩法。
◍ 把这条线请下神坛
指标水平排列之后,真正要碰的问题是:命令该发往哪个窗口、哪个窗口负责接收输入。Vitaliy Teryokhin 在 2025 年 1 月 25 日反馈,文档写得很轻巧,但实际界面里找不到对应入口,怀疑是摆设。 Rashid Umarov 当天回了一句「点击此处查看」,并指向 MVC 设计范式第 2 部分、DoEasy 图形第九十五、九十六部分,以及 CCanvas 类运用这几篇。也就是说,窗口路由不是靠猜,而是要在 MVC 三组件相互作用图里确认视图层归属。 外汇与贵金属自带高杠杆风险,这类界面层改造若用于实盘脚本,先在 MT5 策略测试器里跑通事件分发再谈部署。把「水平排列」当成万能解,往往只是把混乱从主图挪到了子窗口。