UT Bot Alerts for MT4
- 指标
- Ulises Calderon Bautista
- 版本: 1.0
将TradingView上QuantNomad开发的传奇指标「UT Bot Alerts」完整移植到MQL5和MQL4。
原始概念由HPotter提出,初始实现由Yo_adriiiiaan完成,Pine Script v4警报版本由QuantNomad(Vadim Cissa)开发——他是TradingView上拥有超过10万粉丝的知名量化开发者。原始脚本在TradingView上获得了超过110万次浏览和35,500次收藏,是有史以来最受欢迎的开源交易指标之一。
本移植版以100%的逻辑忠实度复现了原始算法:相同的4分支递归追踪止损逻辑、相同的交叉检测、相同的信号生成。在已确认K线上不会重绘。
什么是UT Bot Alerts?
UT Bot Alerts是一个趋势跟踪信号系统,基于一个简洁而优雅的核心概念:利用平均真实波幅(ATR)动态调整与价格距离的自适应追踪止损。
在上升趋势中,追踪止损只向上移动,绝不下降——锁定利润。在下降趋势中,止损只向下移动,绝不上升。当价格穿越追踪止损线时,系统切换方向并生成买入或卖出信号。
指标特点:
- 通过彩色追踪止损线识别趋势方向
- 在趋势反转时生成精确的入场信号
- 通过ATR自动适应市场波动率
- 适用于任何交易品种(外汇、加密货币、股票、商品、指数)
- 适用于任何时间周期(M1至月线)
本质上是一个更智能的ATR自适应版Supertrend,使用收盘价而非中间价(High+Low)/2。
算法工作原理
指标在每根K线上计算三个要素:(1) 自适应追踪止损,(2) 当前趋势状态,(3) 买卖交叉信号。
步骤1 — ATR与止损距离
ATR使用Wilder平滑法(RMA)在设定周期内计算。追踪止损距离定义为:
nLoss = Key Value × ATR
Key Value越高 = 止损越远(信号少,噪音少)。Key Value越低 = 止损越近(信号多,反应快)。
步骤2 — 4分支递归追踪止损
分支1 — 上升趋势延续: 当前价格和前一价格都高于前一止损 → 止损只能向上移动(棘轮机制锁定利润)。
分支2 — 下降趋势延续: 当前价格和前一价格都低于前一止损 → 止损只能向下移动。
分支3 — 多头反转: 价格从下方穿越止损 → 止损重置为(价格 - nLoss)。
分支4 — 空头反转: 价格从上方穿越止损 → 止损重置为(价格 + nLoss)。
步骤3 — 信号检测
- 买入信号 = 价格从下方向上穿越追踪止损
- 卖出信号 = 价格从上方向下穿越追踪止损
每次交叉仅生成一次信号。在已确认K线上不会重绘。
输入参数
UT Bot核心
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| Key Value | double | 1.0 | ATR乘数/灵敏度。控制止损与价格的距离。越高 = 止损越宽、信号越少。越低 = 止损越窄、信号越多。 |
| ATR Period | int | 10 | 使用Wilder平滑法(RMA)的ATR计算周期。 |
| Heikin Ashi | bool | false | 启用后使用Heikin Ashi收盘价代替普通收盘价。平滑价格走势,减少虚假信号。 |
视觉效果
| 参数 | 默认值 | 说明 |
|---|---|---|
| Show Trailing Stop Line | true | 显示ATR止损线(绿/红/蓝)。 |
| Show Buy/Sell Arrows | true | 显示信号箭头。 |
| Color Price Bars | true | (仅MQL5)根据趋势方向为K线着色。 |
| Arrow Distance | 10 | 箭头与K线的距离(点数)。 |
警报
弹窗、声音、推送通知和邮件——每种类型可单独配置。
推荐设置
外汇
- 稳定货币对(EURUSD、USDJPY):Key Value 1.0–1.5,ATR Period 10–14
- 波动货币对(GBPJPY、GBPNZD):Key Value 2.0–3.0,ATR Period 10–14
加密货币
- BTC、ETH:Key Value 2.0–3.5,ATR Period 10–14
- 山寨币:Key Value 3.0–5.0,ATR Period 10–20
商品
- 黄金(XAUUSD):Key Value 2.5–3.5,ATR Period 10–14
- 原油:Key Value 2.0–3.0,ATR Period 10–14
时间周期指南
- 超短线(M1–M5):Key Value 0.5–1.0
- 日内(M15–H1):Key Value 1.0–2.0
- 波段(H4–D1):Key Value 2.0–3.5
- 长线(W1–MN):Key Value 3.0–5.0
交易方法
基本策略
- 出现绿色Buy箭头时买入
- 出现红色Sell箭头时卖出/平仓
- 将追踪止损线作为动态止损位
搭配趋势过滤器(推荐)
添加200周期EMA:
- EMA200之上仅采用买入信号
- EMA200之下仅采用卖出信号
搭配其他确认指标
- RSI:RSI < 70时才买入,RSI > 30时才卖出
- VWAP:VWAP上方买入,VWAP下方卖出
- 成交量:高于均量时确认信号
EA(智能交易系统)集成
指标通过 iCustom() 可访问的缓冲区提供数据。
MQL5缓冲区映射
| 缓冲区 | 内容 |
|---|---|
| 0 | 追踪止损值 |
| 1 | 线条颜色索引(0=绿,1=红,2=蓝) |
| 2 | 买入信号(价格或EMPTY_VALUE) |
| 3 | 卖出信号(价格或EMPTY_VALUE) |
| 9 | 持仓状态(+1多头,-1空头,0中性) |
MQL4缓冲区映射
| 缓冲区 | 内容 |
|---|---|
| 3 | 买入信号(价格或EMPTY_VALUE) |
| 4 | 卖出信号(价格或EMPTY_VALUE) |
| 5 | 完整追踪止损值 |
| 6 | 持仓状态(+1多头,-1空头,0中性) |
安装方法
MetaTrader 5
- 将 UTBotAlerts.mq5 复制到 MQL5/Indicators/ 文件夹
- 在MetaEditor中编译(F7)
- 从导航器窗口拖放到图表上
MetaTrader 4
- 将 UTBotAlerts.mq4 复制到 MQL4/Indicators/ 文件夹
- 在MetaEditor中编译(F7)
- 从导航器窗口拖放到图表上
平台差异
| 功能 | MQL5 | MQL4 |
|---|---|---|
| 止损线 | 单条动态变色线 | 三条重叠彩色线 |
| K线着色 | 支持 | 不支持 |
| 算法与信号 | 相同 | 相同 |
| 警报 | 相同 | 相同 |
与TradingView原版对比
在相同品种和时间周期测试时,信号匹配率达95%以上。约5%的差异源于平台间数据源的微小差别,而非算法问题。
致谢
- 原始概念:HPotter(TradingView)
- 初始开发:Yo_adriiiiaan(TradingView)
- Pine Script v4警报版:QuantNomad / Vadim Cissa(TradingView)
- MQL5/MQL4移植:Exobeacon — exobeacon.com
