Half Trend MTF MT4
- 指标
-
Evgenii Sutulov
I build trading indicators, strategies, and dashboards that don't repaint.
Seven years doing this. MetaTrader 4, MetaTrader 5, TradingView.
Closed bars only. What you see is what happened.
The bar being formed never changes a published value. - 版本: 1.3
一条不肯游走的趋势线。Half Trend MTF 在市场推挤它的时候守住自己的水平,只有当最近 N 根K线的极值真正把它顶出去时才翻转,所以在那种把移动平均线衬托成信号发生器的锯齿里,它一动不动。围绕它的 ATR 通道则显示,在这次翻转开始有意义之前,今天的波动率给价格留了多少余地。免费,没有试用期,没有锁住的功能。
它支撑的判断很简单,而且说得直白:线告诉您趋势目前守在哪一侧,翻转告诉您这件事是在哪一刻改变的,通道告诉您还有多少余地。
因为这条线只有在最近 N 根K线的极值朝它反方向走时才会动,它不会像均线那样漂移。它先是不动,然后翻转。
图表上有什么
Half Trend 线,用趋势的颜色绘制,跨过翻转K线也不断开:趋势向上时是一条画法,趋势向下时是另一条,在交接的位置连起来。ATR 通道,一条上轨和一条下轨,它们到线的距离是半个 ATR 的倍数,每条轨道都是一条各自颜色的细线。两者之间是两层填充,线以上用多头色,线以下用空头色,用细点网绘制,因此K线能直接透过它们读出来,价格处在通道的哪一半也仍然一眼可辨。翻转K线上还有 BUY 和 SELL 箭头。所有内容都画在价格窗口里。
面板
价格图表上的画布面板,可拖动、可折叠、可关闭。它显示当前生效的周期,以及实际使用的振幅。它说明最后一根收盘K线是什么:一次 BUY 翻转、一次 SELL 翻转,还是没有翻转。它还说明屏幕上的数字来自属性对话框还是来自面板,其中有多少个被改过。
下面是面板能够调整的设置,连同它们的当前值。齿轮打开一张三个标签页的表。
Values 标签页管周期、振幅、是否显示正在形成的K线上的信号、通道偏移和 ATR 周期。每一行都有步进按钮、取值范围和一句说明,还有一个计数器统计有多少个值已经不是属性对话框里的数字,一个按钮把它们全部还原。
Alerts 标签页管总开关、按事件的开关、通道、以分钟计的冷却时间和一次测试提醒。Styles 标签页管配色、是否绘制线条、ATR 通道和箭头、两层通道填充(各有自己的开关)、线宽和箭头大小;它只改外观,从不触发重算。
在面板上调过的值立刻生效,休市时也一样:线、通道、填充和箭头都会当场重算并重绘,而不是等下一个报价。三套配色:深色、浅色,以及一套用蓝色和橙色代替红色和绿色的色盲友好配色。面板的一切,包括在表上改过的每一个值,都按图表分别保存,跨周期切换和终端重启都保留。界面为英文。
提醒
出厂即关闭。三个事件:一次 BUY 翻转、一次 SELL 翻转,以及一次触碰 Half Trend 线,后者是回撤事件而不是反转事件。
通道:弹窗、声音、推送到移动终端和电子邮件。有按事件和按通道的开关,以及默认两小时的冷却时间。
提醒按最后一根收盘K线触发。另有两条默认关闭的提醒,在正在形成的K线上、距其收盘的指定秒数之内开口,它们被标注为提前,因为一次存在于K线中途的翻转可能会作废。
正在形成的K线上的信号
有一个开关比其他都重要,它既在 Values 标签页里,也在输入参数里:是否允许往仍在形成的那根K线上写入缓冲区和箭头。
打开时,也就是出厂设置,市场一翻转您就能看见。有时这个翻转会在K线收盘前被撤销,箭头随之消失。关掉时,正在形成的K线上什么都不写:没有任何形式的重绘,代价是每个信号按构造都要晚一根K线才到。
两种行为都是正当的。产品不替您做选择,也不隐瞒自己在做哪一种:面板和设置名称都会说明。
多周期
Timeframe 设置在更高周期上计算,并把结果画在这里。只读取已经收盘的高周期K线:图表上的一根K线显示的是按它自己的收盘时刻已经收盘的那根最新高周期K线,所以翻转落在与高周期K线同时收盘的那根上,也就不会画出任何在实时状态下无法知道的东西。
外部序列在后台构建。第一次读取可能返回空值,指标会重试,面板会说明它是在等待下载,还是面对真正的历史不足。它绝不会因为缺少K线而让初始化失败。
从 EA 读取
十六个缓冲区,全部可以通过 iCustom 读取。MetaTrader 4 的计数方式与 MetaTrader 5 不同,因为在那边绘制数量和计算缓冲区是分开声明的;但映射表和下面这些索引与 MetaTrader 5 版本公开的完全一致,所以针对一个平台写的 EA 可以原样读取另一个平台。缓冲区 0 Buy 在 BUY 翻转K线上带着箭头价格,其余时候为 EMPTY_VALUE,并且不绘制。缓冲区 1 Sell 对 SELL 翻转K线同理。缓冲区 2 到 5 属于两层通道填充,是显示用的管线,不是拿来读的。缓冲区 6 Half Trend Up 是趋势向上期间的趋势线,缓冲区 7 Half Trend Down 是趋势向下期间的趋势线;在翻转K线上两者都有值,正是这一点让画出来的线不断开。缓冲区 8 ATR High 是通道上轨,缓冲区 9 ATR Low 是下轨。缓冲区 10 BuyMark 和缓冲区 11 SellMark 是缓冲区 0 和 1 的绘制副本。缓冲区 12 Signal 在 BUY 翻转时为 +1,在 SELL 翻转时为 -1,没有翻转时为 0。缓冲区 13 Override 统计有多少项设置是从面板改的。缓冲区 14 是作为一条不断开序列的线,缓冲区 15 是趋势本身,向上时为 0,向下时为 1,这样策略永远不必从哪个线缓冲区为空来推断方向。
缓冲区 0 和 1 是契约:从不着色,无论 Styles 标签页怎么设置都会在每一遍计算中写满,并出现在数据窗口里。隐藏箭头不可能让策略拿不到信号。
由 iCustom 创建的实例是只读的,始终使用您传入的参数。缓冲区 13 让策略能够发现图表上的实例正跑在手工改过的数值上。
来源
这是 everget 发布在 TradingView 上的 "HalfTrend" 的移植,而那本身又是一个更早的 MetaTrader 4 指标的移植。算法是规范的,其源头就在 MetaTrader 4。TradingView 上的脚本是公开发布的,因此按公式移植是允许的;本实现不是逐行翻译,而是从公式重新搭建出来的。
产品叫 Half Trend MTF,是因为 Half Trend 是这个方法的名字,而不是因为这里主张对它的著作权。原作归其作者所有。
诚实的边界
在正在形成的K线信号打开时,也就是出厂设置下,当前K线上的箭头可能在这根K线收盘前消失。把这个设置关掉,正在形成的K线上就什么都不会写。两种情况下,已经收盘的K线都不会改变。
阶梯状的趋势线按设计就是翻得晚。在震荡区间里它会一次又一次翻转,而每一次都是这条线真实的翻转,也都是一笔糟糕的交易。这里没有任何东西按趋势是否存在来过滤。
ATR 通道描述的是波动率。它不是目标,不是止损,也不是关于价格将去往何处的判断。
振幅、通道偏移和 ATR 周期都会移动翻转。两套配置会产生两组不同的箭头,其中没有哪一组是正确的那一组。
这里不主张任何盈利数字、胜率或回测结果。

