Squeeze Momentum Scanner MT4
- 指标
-
Evgenii Sutulov
Premium components
1. https://www.mql5.com/en/market/product/201632 - Rotation Manager Console - 版本: 1.3
- 激活: 20
挤压释放只持续几根柱线,绝不会等你在图表之间来回切换。Squeeze Momentum Scanner 同时在最多四个周期上监视你的品种列表,打印出每次压缩释放的精确柱线,以及动量当时站在哪一边,并标记出各周期一致的行。出厂默认扫描十五个品种;一个设置可以把这个数字提高到二十八。振荡器本身就绘制在这张图表的子窗口里,所以你可以直接根据表格找到的结果采取行动,不需要再挂一个第二指标。
每售出10份,价格上涨10美元。
挤压释放是一个短命的事件,会在不同品种上于不同时间发生,这正是需要一块看板的情形:表格负责找到它们,下方的子窗口则显示出产生某一次释放的那个柱状图本身。
看板
每个品种一行,每个被扫描的周期一列,最多四列、最多二十八个品种;出厂默认扫描十五个,最大值只差一个设置。品种列表用逗号分隔给出,或者看板也可以改用 Market Watch 列表。经纪商的前缀和后缀会从你所在的图表中检测出来,也可以手动指定。出厂默认看板扫描四个周期:M15、H1、H4 和 D1。
一个单元格读起来像 ^14b:挤压释放那一刻动量站在哪一边,以及那次释放是在多少根柱线之前发生的。flat 这个词表示计算已经运行,但在窗口内没有找到释放。三个点表示这个单元格还没有被测量,如果打开了提示,把鼠标悬停在上面会解释原因。比新鲜度阈值更旧的释放会保留色相,但会失去权重。任何位置带有新鲜释放的行都会被涂上一层强调色。
AGREE 列取出一个品种上可见的各周期列,找出多数一方,打印出类似 v3/4 的内容:方向,以及可见周期中有多少站在那一边。完全一致会用那一方的颜色加粗显示。打平会打印一个横线符号,不算作判定,因为把一比一的分裂称为信号等于凭空捏造出一种确信。当只有一个周期可见时,这一列会被完全去掉,而不是打印一个只是重复旁边单元格的 1/1。
列标题都是按钮。点击某个周期标题会按该列排序,最新鲜的排在最前,空白行排在最后;再次点击会反转顺序。点击 AGREE 会按一致程度排序,完全一致排在最前。活动标题会带上强调色和一个箭头符号。另有一个 Sort 按钮会循环切换新鲜度、等级和名称。
一个 Show 按钮会循环切换 all、buys、sells 和 fresh。buys 和 sells 遵循的是 AGREE 的判定,而不是单个单元格,所以显示在 buys 下面的行在 AGREE 中总是显示一个向上的符号,而打平的情况不会出现在这两者中的任何一个下面。这个过滤器作用于显示,而不作用于计算。
表格上方的图例说明了这些记号的含义,可以关闭。周期按钮可以显示或隐藏一列,而不会停止其测量。点击某个单元格会把这张图表切换到对应的品种和周期。
可见行数会根据面板大小自动调整,行数设置只是一个上限。分页按钮只有在行放不下时才会出现。因为看板从不会画出比面板能容纳更多的行,所以无论行数设置有多大,分页按钮始终显示在屏幕上,并且始终可以点到。
两行状态信息始终显示:已就绪品种数占总数、距上次更新经过的时间、回溯窗口内发现的释放数;之后是看门狗提示行,或者一句解释为什么什么都没显示的话,二者取其一。
诊断
第二个面板默认关闭,用来回答"为什么没有信号"这个问题:品种覆盖情况、哪些序列的柱线不够、窗口内找到了多少信号,以及这个指标在 Market Watch 中打开了多少个品种。测量不了的单元格会给出解释,而不是留空。
图表指标
绘制在它自己的子窗口里:四色动量柱状图和三种状态的挤压点。它的周期是单独设置的,与看板扫描的周期无关。
设置表
齿轮图标会打开三个标签页。Values 涵盖周期、布林长度、布林乘数、肯特纳长度、肯特纳乘数,以及肯特纳区间使用的是真实波幅还是简单的最高价减最低价。每一行都有步进按钮、取值范围和一句帮助说明。改动其中任何一项都会让整块看板重新计算,面板会在此期间报告进度。
Alerts 涵盖总开关、按事件的开关、四个通道、冷却时间和一个测试按钮。
Styles 涵盖图例、调色板、动量柱状图、挤压点以及点的大小。这些正是对应的单图表版指标在同样的名称下所携带的显示控件,因此在一处设置好的图表可以在另一处复现。
有三套配色方案,其中一套对色盲友好,使用蓝色和橙色而不是红色和绿色。面板位置、配色方案、排序、过滤器、可见列,以及设置表上改动过的每一个数值都会按图表分别保存,跨越周期切换和终端重启依然保留。界面是英文。
提醒
出厂默认关闭,面板上有一个总开关,旁边有一个 Test alert 按钮。
事件是新鲜的 BUY 和新鲜的 SELL,针对每个被扫描的周期分别声明,此外还有数据健康状态,会在某个品种数据丢失或恢复时发声。这里有一个最低等级的设置;这个移植版本不进行分级,所以对它而言每个信号都算作等级一。
这些通道是弹出窗口、声音、推送到手机终端以及电子邮件。冷却时间按单元格和按事件分别保持,默认三十分钟。这个产品不包含 Telegram。
开销
这份工作是有预算的:每个计时器周期刷新固定数量的品种,这样一份很长的列表也能分摊负载,而不是让终端卡住。第一轮扫描是渐进式的,面板会报告已测量的百分比。
从 EA 读取
图表指标的十二个缓冲区都可以通过 iCustom 读取。MetaTrader 4 只绘制靠前的缓冲区,所以绘制出来的序列排在前面,可读取的契约排在它们后面。这张映射表不是 MetaTrader 5 版本的映射表:为那个版本编写的 EA 必须重新指向下面的索引。
缓冲区 0 到 3 是动量柱状图的显示拆分,每种状态一个单色柱状图:正值扩大、正值减弱、负值扩大、负值减弱。缓冲区 4 到 6 是挤压点的显示拆分,每种状态一行:无挤压、挤压中、挤压释放。缓冲区 7 是 Momentum,去趋势序列线性回归的终点,作为一条连续的序列。缓冲区 8 是与它对应的颜色索引:0 表示上升且扩大,1 表示上升且减弱,2 表示下降且扩大,3 表示下降且减弱。缓冲区 9 是 Squeeze,将该点作为一条序列,缓冲区 10 是它的颜色索引:0 表示无挤压,1 表示挤压进行中,2 表示挤压已释放。缓冲区 11 是 Signal:看涨释放为 +1,看跌释放为 -1,没有释放时为 0。
数据窗口列出七行绘制内容、柱状图的四列以及点的三行。契约部分,即缓冲区 7 到 11,不会出现在那里,这并不能说明什么:iCustom 同样能读取上面的每一个索引。这个产品既没有独立的 Buy 和 Sell 价格缓冲区,也没有 Override 缓冲区,这恰恰是这张映射表与单图表版 Squeeze Momentum 指标不一致的那个索引:在那边,面板的覆盖计数器为映射表收尾,在这里则根本不存在。事件就是缓冲区 11。
MQL4 没有输入分组,所以 EA 在这里传给 iCustom 的参数列表比 MetaTrader 5 版本更短,位置也不同。请按照这个版本的输入列表来构建调用,而不是另一个平台的。
Styles 标签页隐藏一条曲线的方式是拿走它的颜色,绝不会清空缓冲区。由 iCustom 创建的实例是只读的,始终使用你传入的参数。
看板是一个面板,而不是一个缓冲区。它靠肉眼阅读,也靠提醒来读取。
来源
这是对 "Squeeze Momentum Indicator [LazyBear]" 的移植,来自作者本人的开源发布。该发布没有附带任何许可协议,这使得对公式进行贴近原样的移植成为可以接受的做法,这个实现是按照公式来实现的,而不是靠猜测。
这个产品沿用了该方法的名字,因为它实现的正是这个方法。原创工作属于 LazyBear,这里并不主张对它的著作权。
诚实的局限
看板读取的是已收盘的柱线,并以已收盘柱线的数量计算一个单元格的年龄。在子窗口里,尚未收盘那根柱线的柱状图和点是实时的,会一直变化到收盘为止,所以柱线中途可见的释放,到收盘时可能已经不存在。已收盘柱线发布过的内容此后不会再改变。
挤压释放是一句关于波动率的陈述,而不是关于方向的陈述。动量的正负号说明释放那一刻能量站在哪一边。挤压也可能释放成什么都没有:压缩是扩张的必要条件,而不是充分条件。
AGREE 统计的是周期数量,而不是估计概率,同一品种上四个相关读数彼此一致,并不等同于四个独立的确认。打平会刻意不给出任何判定,并且会同时被 buys 过滤器和 sells 过滤器隐藏。
布林和肯特纳的设置会明显改变检测到的挤压数量。更宽的肯特纳乘数会给出更多,更窄的会给出更少,两种设置都不是所谓正确的那个。
扫描是有开销的。四个周期上扫描二十八个品种意味着一百一十二个单元格;在慢速机器上需要调低的正是这个负载预算设置。
这里不主张任何利润数字、胜率或回测结果。

