Zero Lag Trend
- 指标
-
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
一条没有滞后的均线,加上一条拒绝因为一根安静K线就把趋势翻过来的带子。Zero-Lag Trend MTF喂给均线的不是价格本身,而是价格加上它自己最近的变化,这样绝大部分滞后就消失了;随后用一条带子把它裹住,带宽取的是最近一段过去里最大的那个ATR,而不是当前的ATR,于是一段平静无法把趋势翻过来。方向只有在带子被突破时才改变,仅仅碰到绝不会改变。它是免费的:没有试用期,没有锁定功能,没有升级页面。
无滞后均线之所以能去掉延迟,是因为它拿到的输入不是价格本身,而是价格加上它在半个窗口上的变化。围绕这条线搭起一条带子,带宽是三个窗口长度内所见最大ATR的若干倍,而用最大而不是当前的ATR是有意为之:一条会忘掉最近一次爆发的带子,会在每一次平静里都把趋势翻过来。
方向只有在价格穿过带子的某一沿时才改变,仅仅碰到它时绝不改变。正是这一条规则,把本产品与一条画上了通道的无滞后均线区分开来,也正因如此它是每一次真实突破给一个信号,而不是每一次靠近就给一个。
图表上有什么
在价格窗口里绘制:按所处一侧上色、跨越突破而不断开的无滞后均线;波动率带的两条边沿,画成细线;两者之间的两处阴影;以及带子被突破那根K线上的BUY和SELL箭头。
面板
价格图表上的画布面板,可拖动、可折叠、可关闭。它显示当前生效的时间周期,以及实际参与计算的设置数值。它告诉您最近一根已收盘K线上发生了什么:一个BUY信号、一个SELL信号,或者两者都没有。它还会告诉您屏幕上的数字来自属性对话框还是来自面板,以及其中有多少个是手工改过的。
下方是面板可以调整的设置及其当前值。齿轮打开一个三页标签的设置表。
Values选项卡涵盖时间周期、同时决定均线窗口与带子背后ATR的长度(出厂值七十),以及以峰值ATR为单位度量的1.2带宽乘数。Styles选项卡涵盖配色、线条及其粗细、箭头大小、带子,以及两处阴影。Values的每一行都有步进按钮、取值范围和一句说明。
Alerts选项卡涵盖总开关、按事件的分开关、各个通道、以分钟计的冷却时间,以及一个测试提醒。
三套配色:深色、浅色,以及一套用蓝色与橙色代替红绿的色觉友好配色。面板的一切,包括在设置表上改动过的每一个值,都按图表分别保存,可跨越周期切换和终端重启。界面为英文。
提醒
出厂状态下关闭。三个事件:BUY信号、SELL信号,以及触碰线,这里的线是无滞后均线,指的是回到它上面,而不是翻转。每个事件都有自己的开关。
通道为弹窗、声音、推送到移动终端和电子邮件。具备按事件和按通道的开关,冷却时间默认两小时。
提醒在最近一根已收盘K线上触发。另有两个默认关闭的提醒,在未收盘K线上、距其收盘所选秒数以内发声;它们之所以被称为提前提醒,是因为K线中途出现的翻转可能被撤销。本产品不包含 Telegram。
未收盘K线上的信号
有一个开关比其他开关更重要,它同时出现在 Values 页和输入参数中:是否允许在尚未收盘的K线上写入缓冲区和箭头。
开启时,也就是产品出厂时的状态,市场一做出翻转你就能看到。这个翻转有时会在K线收盘前被撤销,箭头随之消失。关闭时,未收盘K线上什么都不会写入:不存在任何形式的重绘,代价是每个信号在结构上都晚一根K线到达。
两种行为都是正当的。产品不替你做选择,也不隐瞒自己正在采用哪一种:面板和设置名称都会说明这一点。
多周期
Timeframe 设置在更高周期上计算,并把结果绘制在这里。只读取已收盘的高周期K线:图表上的一根K线对应的是到这根K线自身收盘时已经收盘的那根最新高周期K线,因此翻转落在与高周期K线同时收盘的那根K线上,图上不会出现任何实时无法得知的内容。
外部序列在后台构建。首次读取可能返回空值,指标会重试,面板会说明它是在等待下载,还是确实遇到了历史数据不足。它绝不会因为缺少K线而导致初始化失败。
从 EA 中读取
共十六个缓冲区,全部可通过iCustom和CopyBuffer读取。缓冲区0,Buy,在BUY的K线上存放箭头价格,其余情况下为EMPTY_VALUE,并且不被绘制;缓冲区1,Sell,对SELL做同样的事。缓冲区2到5属于两处填充,是绘制用的管路,不是供读取的数据。缓冲区6在趋势向上时存放无滞后均线,缓冲区7在趋势向下时存放同一条线;在转折的那根K线上两者都有数值,正因如此画出来的线不会断开。缓冲区8存放波动率带的上沿,缓冲区9存放它的下沿。缓冲区10和11是缓冲区0和1的绘制副本。缓冲区12,Signal,在BUY的K线上为+1,在SELL的K线上为-1,其余为0。缓冲区13是Override,缓冲区14是作为一条连续序列的无滞后均线,缓冲区15是趋势本身,向上时为0,向下时为1。
缓冲区16由本移植版新增,位于整张公共映射表之后:ATR本身,引擎需要它,直接读取它也有用处。公共契约的索引没有任何一个发生位移。
缓冲区0和1构成契约:它们从不被绘制,无论Styles选项卡怎样设置都会在每一遍计算中被填满,并且出现在数据窗口里。在屏幕上隐藏箭头不可能让智能交易系统失去信号,因为隐藏是通过改变绘制方式完成的,绝不会靠清空缓冲区。
用iCustom创建的实例是只读的,并且始终使用您传入的参数。Override缓冲区让智能交易系统能够判断出图表上的实例正在使用面板手工改过的数字运行。
来源
这是Zero Lag Trend这一系列的移植。无滞后均线是公开的,属于Ehlers与Ric,而带波动率带的这种呈现方式是按公式复现的,因此按公式移植是允许的。声明三处差异:在最初若干根K线上取不到挪位后的收盘价,于是取最旧的那个收盘价,均线以它的第一个数值起步,ATR用移动均值预热,峰值窗口是渐进的,而Pine什么都不返回;原作以中性方向起步,直到第一次穿越才获得符号,而本产品线的版式里没有中性方向,因此在那第一次穿越之前,线被画成上行;另外为ATR本身增加了一个缓冲区。
本产品之所以叫Zero-Lag Trend MTF,是因为这是该方法的名称,而不是因为这里主张该方法的著作权。原作归其作者所有。
诚实的局限
去掉滞后会放大噪声。无滞后均线会在转向处冲过头,而带子的存在不是为了让这种冲过头不发生,而是为了让它不变成一个信号。
带子记着最近最大的那个ATR。在一根剧烈的K线之后,它会宽上一段时间,而在这段时间里,要改变方向就需要更大的一段行情。
长度和乘数会挪动本产品报告的每一次突破。两套配置会给出两组不同的箭头,而其中没有哪一组是真正正确的。
此处不主张任何收益数字、胜率或回测结果。
