UT Bot MTF
- 指标
-
Evgenii Sutulov
Premium components
1. https://www.mql5.com/en/market/product/201632 - Rotation Manager Console - 版本: 1.3
UT Bot MTF 是一条基于 ATR 的移动止损线,以及它所产生的翻转信号。止损线以所选 ATR 倍数为距离跟随价格,只朝行情方向收紧,绝不往回让步。价格收盘穿过它时,止损线翻到另一侧,指标随即标出一个 BUY 或一个 SELL。
整个引擎就是这些,而且是刻意做得简单。这个产品在引擎周围补上的,才是决定你能否真正用得起来的部分:四个彼此独立的过滤器、每个过滤器丢掉了什么的诚实交代,以及一块从不假装当前K线上的信号已经定型的面板。
可以选择让整套计算基于平均K线(Heikin Ashi)的收盘价而不是真实收盘价,这会让翻转更少、更晚。
四个过滤器
所有过滤器出厂即为关闭。每一个都是关于市场的一个独立假设,也都可以单独开启。趋势过滤器只保留与更高周期上某条移动平均线方向一致的信号,周期、参数长度和计算方法都由你选择。早于过滤器自身数据的信号不作判定、原样保留,面板会写明这样的信号有多少个。
时段过滤器只保留位于某个时间窗口内的信号,窗口以 GMT 的 HH:MM 形式给出。经纪商的 GMT 偏移可以手工填写,也可以从服务器时钟自动识别。波动率过滤器会丢弃在 ATR 低于某个以点数给出的下限时产生的信号;下限为零时什么都不会丢弃,面板会直接写明这一点,而不是假装过滤器在工作。新闻过滤器会丢弃财经日历事件前后所选分钟数以内、且重要性不低于所选级别的信号,读取的是终端自带的日历。若日历不可用,面板会指出具体错误,而不是默默放行一切。
面板会长期显示哪些过滤器已开启、使用了什么设置,并用一行说明在多少条原始信号中保留了多少条,同时按是哪个过滤器拒绝了其余信号来分项列出。已开启却无法完成自身工作的过滤器,会在自己的那一行里说明这一点。
图表上有什么
移动止损线,按它当前所处的一侧着色。其下可选叠加同一条线的更宽、更淡的副本,让它在信息密集的图表上一眼就能看清。可选在止损线与价格之间填充阴影。翻转K线上的 BUY 与 SELL 箭头。还可以选择把当前止损位以标签形式显示在价格刻度上,不必再用眼睛去量。所有绘制都在价格窗口内完成。
面板
价格图表上的画布面板,可拖动、可折叠、可关闭。它显示生效的周期、实际使用的 key value 与 ATR 参数长度,以及 Heikin Ashi 是否开启。它说明最近一根已收盘K线的结果:BUY 翻转、SELL 翻转,或没有翻转。当前K线的状态在其成立期间以警示色显示:或是当前K线上正在形成一个 BUY 且仍可能消失,或是 SELL 的同样一行,或是仅使用已收盘K线、信号将在收盘时出现。它还说明提前提醒是否开启,以及在收盘前多少秒发声。它承载上文所述的过滤器区块,没有任何过滤器开启时该区块保持沉默。它并且说明这些数字来自属性窗口还是来自面板,以及其中有多少个被改动过。
下方是面板可以调整的设置及其当前值。齿轮打开一个三页标签的设置表。Values 页涵盖周期、key value、ATR 参数长度、Heikin Ashi 数据源、当前K线上的信号、趋势过滤器及其周期、MA 长度与 MA 方法,以及波动率过滤器及其 ATR 下限;每一行都有步进按钮、取值范围和一句说明。Alerts 页涵盖总开关、按事件的开关、四个通道、以分钟计的冷却时间和一个测试提醒。Styles 页涵盖配色、填充、辉光、线条、箭头、线宽、箭头大小和价格刻度标签,只改变外观。
三套配色:深色、浅色,以及一套使用蓝色与橙色、从不让红绿相对的色觉友好配色。面板状态和设置表上的每一处改动都按图表分别保存,可跨越周期切换和终端重启。界面为英文。
未收盘K线上的信号
在输入参数中和 Values 页里都有一个开关,决定是否允许在尚未收盘的K线上写入缓冲区和箭头。它出厂即为开启,只要处于开启状态,面板就会以警示色持续说明这一点。开启时,市场一做出翻转你就能看到,而这个翻转有时会在K线收盘前被撤销,箭头随之消失。关闭时,未收盘K线上什么都不会写入:不会有任何重绘,代价是每个信号在结构上都晚一根K线到达。产品不替你做选择,也不隐瞒自己处于哪种模式。
提醒
出厂时保持静默。事件为 BUY 信号和 SELL 信号。通道为弹窗、声音、推送到移动终端和电子邮件,具备按事件和按通道的开关,以及默认两小时的冷却时间。
提醒在最近一根已收盘K线上触发。另有两个默认关闭的提醒,只在未收盘K线上、且距其收盘所选秒数以内发声;你处于哪种模式由面板直接写明,无需自行推断。本产品不包含 Telegram。
多周期
Timeframe 设置在更高周期上计算,并把结果绘制在这里。只读取已收盘的高周期K线,因此图表上的一根K线对应的是按它自身时间已经收盘的那根最新高周期K线。这与趋势过滤器的周期是两回事:后者是过滤器,不是显示设置。
外部序列在后台构建。首次读取可能返回空值,指标会重试,面板会说明它是在等待下载还是确实缺少历史数据。它绝不会因为缺少K线而导致初始化失败。
从 EA 中读取
共十五个缓冲区,全部可通过 iCustom 与 CopyBuffer 读取。缓冲区 0 Buy 在 BUY 翻转K线上存放箭头价格,其余位置为 EMPTY_VALUE,且不绘制。缓冲区 1 Sell 对 SELL 翻转同理。缓冲区 2 与 3 是趋势填充的两条边界,缓冲区 4 与 5 是线条辉光的两条边界。缓冲区 6 与 7 是绘制出来的移动止损线,分别为向上与向下。缓冲区 8 BuyMark 与缓冲区 9 SellMark 是缓冲区 0 与 1 的可绘制副本。缓冲区 10 Stop 是移动止损位,缓冲区 11 是它的颜色索引。缓冲区 12 Signal 在 BUY 翻转时为 +1,SELL 翻转时为 -1,没有翻转时为 0。缓冲区 13 Override 统计从面板改动过的设置数量。缓冲区 14 Atr 是止损所依据的 ATR。
缓冲区 0 与 1 是契约:永不绘制,无论 Styles 页显示什么都会在每一次计算中填充,并出现在数据窗口中。隐藏箭头、填充或线条,都不会让策略拿不到信号。契约上已经应用了过滤器,因此读取缓冲区 0 的 EA 看到的信号,与人在图表上看到的完全一致。
通过 iCustom 创建的实例只读,并且始终使用你传入的参数。缓冲区 13 让策略能够察觉图表实例正运行在被手工改动过的数值上。
来源
本产品是 TradingView 上「UT Bot Alerts」的移植:创意来自 HPotter,带提醒的版本由 QuantNomad 与 Yo_adriiiiaan 发布。该脚本为公开发布,因此按公式移植是可以接受的;此处的实现是把公式当作工作规格重新构建的,而不是逐行翻译。
产品沿用该方法的名称,是因为它实现的正是这一方法。原始作品归其作者所有,此处不主张对其拥有任何著作权。
诚实的局限
在未收盘K线信号开启时,也就是产品出厂时的状态,当前K线上的箭头可能在该K线收盘前消失。每当这一情形成立,面板都会以警示色说明。关闭该设置,未收盘K线上便不会写入任何内容。已收盘K线在两种模式下都不会改变。
移动止损线终究只是移动止损线。在震荡行情里它会被反复打掉,而每一次都是真实的翻转,也是一笔糟糕的交易。过滤器正是因此而存在,但没有任何一个能消除这个问题,它们只能降低你遇到它的频率。
新闻过滤器依赖终端的财经日历。如果你的账户或经纪商无法使用该日历,过滤器会处于闲置状态,面板会指出具体错误。它不会假装工作而默默放行一切。以 HH:MM 之外的格式给出的时段窗口会让时段过滤器处于闲置状态,面板会写明这一点,而不是以你看不见的理由丢弃信号。趋势过滤器无法判定早于它所拥有的高周期数据的信号;这类信号会被原样保留,并由面板计数。
此处不主张任何收益数字、胜率或回测结果。

