请观看如何免费下载自动交易
请在Twitter上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
指标

Multi-timeframe RSI scanner with visual dashboard and alerts - MetaTrader 5脚本

显示:
48
等级:
(4)
已发布:
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

截图 RSI

我运行 RSI 策略已经一年多了,单时间框架 RSI 给了我太多错误信号,尤其是在黄金和快速波动货币对的波动时段。因此,我创建了这个多时间框架扫描器,以便在收敛设置完全形成之前捕捉到它们。

该指标最多可同时监控 7 个时间框架(M1、M5、M15、M30、H1、H4、D1)的 RSI 值,并在图表上以简洁的可视化仪表盘显示所有信息。当 RSI 进入任何时间框架的超买(>70)或超卖(<30)区域时,它会通过推送通知、电子邮件或声音发送即时警报。

真正的威力来自底部的对齐指标--当 3 个或更多时间框架同时进入超买或超卖区域时,就会发出严重警告。这就是你的收敛区,根据我的经验,这些是反转或强势延续的最高概率设置。

版本 6 - 准备就绪(2026 年 2 月)

  • 智能警报重试系统 -- 如果推送通知或电子邮件失败(连接不稳定、终端繁忙),它会自动重试 2 次,延迟时间为 100 毫秒。关键设置时不再错过警报。
  • 详细日志控制 -- 新的输入参数可让你切换详细调试日志的开/关。在生产过程中保持日志清洁,在故障排除时启用。非常适合 VPS 部署。
  • 提取所有常量 - 现在每个神奇的数字都是一个命名常量(LINE_HEIGHT_PADDING、ALERT_MAX_RETRIES 等)。这使得代码更易于定制,并能有效防止错别字。
  • 强大的错误处理 功能 -- 警报重试逻辑可跳过配置错误(不会在未设置电子邮件的情况下无限重试循环),节流警告可防止垃圾日志。
  • 在真实账户上进行过测试 - 自 2025 年 10 月起在我的账户上运行,2026 年 2 月更新至 v1.6。4 个多月来,零崩溃或内存泄漏。

功能特点

  • 监控 7 个时间框架 - M1、M5、M15、M30、H1、H4、D1(可独立切换每个框架的 开/关)
  • 可视化仪表盘 - 实时 RSI 值按状态用颜色编码(红色 = 超买,蓝色 = 超卖,灰色 = 中性)
  • 带重试功能的多渠道警报 -- 推送通知、电子邮件和声音警报,可在失败时自动重试(V1.6 版功能)
  • 收敛警告 -- 当 3 个以上时间框架处于超买或超卖("货币区")时,特殊指标会突出显示
  • 完全自定义 -- 调整 RSI 周期(1-500)、超买/超卖水平、颜色、仪表板位置、字体大小(6-24,自动缩放)、更新间隔(1-60 秒)
  • 代码简洁 - 无神奇数字、适当的错误处理、隐藏所有仪表盘对象,避免 MT5 杂乱无章 (OBJPROP_HIDDEN)
  • 详细日志切换 - 无需重新编译即可启用/禁用详细调试日志(非常适合 VPS 或实时交易)

如何使用

1.附加到任何图表 - 适用于所有符号。我主要在 XAUUSD(黄金)和 EURUSD 上使用它进行剥头皮交易,但它同样适用于指数(US30、NAS100)或加密货币(BTCUSD)。

2.选择您的时间框架 - 在输入中切换您要监控的时间框架。对于日内交易,我通常使用 M15、M30、H1、H4。对于波段交易,尝试 H1、H4、D1、W1。

3.配置警报 - 根据设置启用推送/邮件/声音警报。如果您在 VPS 上运行并希望获得移动警报,请启用推送通知。重试系统(v1.6)确保即使第一次尝试失败也能收到警报。

4.注意收敛 - 当底部警告显示"⚠ 3+ TF OVERBOUGHT "或"⚠ 3+ TF OVERSOLD "时,就是你的提示。不要盲目逆势而为,先用价格行为(针柱、吞没、拒绝灯芯等)进行确认。

5.可选:启用冗长日志 - 如果要调试或测试新设置,请在输入中启用冗长日志(Verbose_Logging)。这会记录重试尝试、位置调整等详细信息。生产时请将其关闭,以保持日志清洁。

输入参数

RSI 设置:

  • RSI_Period 默认:14)- 标准 RSI 计算周期(1-500 范围)
  • Overbought_Level 默认值:70)-超买 警报阈值(50-100)
  • Oversold_Level 默认值:30)- 超卖警报的阈值(0-50)

时间框架选择:

  • 切换每个时间框架的开/关:Show_M1,Show_M5,Show_M15,Show_M30,Show_H1,Show_H4,Show_D1
  • 建议:除非确实需要,否则不要启用全部 7 个时间框架。我发现 4-5 个时间框架(M15、M30、H1、H4、D1)是大多数策略的最佳选择。

警报设置:

  • Enable_Push_Alerts - 向移动 MT5 终端发送推送通知
  • 启用电子邮件 警报 - 发送电子邮件警报(首先在 "工具">"选项">"电子邮件 "中配置电子邮件)
  • Enable_Sound_Alerts - 触发警报时播放声音(默认值:alert2.wav)
  • Alert_Sound - 声音文件名称(必须位于终端 "声音 "文件夹中)

显示设置:

  • Dashboard_X / Dashboard_Y - 图表上的位置(以像素为单位)(V1.5 以上版本会在偏离屏幕时自动调整
  • Dashboard_Width - 仪表盘宽度(150-500 像素,默认为 200)
  • Color_Overbought / Color_Oversold / Color_Neutral - 自定义颜色以匹配图表主题
  • Color_Background - 仪表板背景(默认:深灰色 C'20,20,20')
  • Font_Size - 文字大小 6-24(用户界面自动按比例缩放,我使用 10-12)。
  • Update_Seconds - 刷新数据的频率(1-60 秒,默认:1)

高级设置(v1.6):

  • Verbose_Logging 默认:false)- 启用详细的调试日志。打开用于故障排除,关闭用于生产/VPS。记录重试尝试、位置调整、数据加载状态等。
  • Alert_Retry_Enabled 默认值:true)- 自动重试失败警报最多 2 次,延迟 100 毫秒。防止因临时连接问题或终端繁忙而错过通知。

最佳实践

根据我过去 4 个多月对真实账户的测试结果:

  • 在活跃时段使用 - 在伦敦和纽约时段使用效果最佳。亚洲时段往往太不稳定,RSI 收敛没有意义。
  • 不要等所有时间框架都一致 - 如果等所有 7 个时间框架 都达到极端水平,每周可能只能得到一个信号。3 个以上的收敛警告是质量和频率之间的甜蜜点。
  • 与价格行为相结合 -- 该指标会告诉你 RSI 何时对齐,但你仍需要用良好的入市设置(拒绝灯芯、打破结构、吞没蜡烛等)来确认。
  • 调整货币对的阈值 -- 对于英镑兑日元等速度较快的货币对或波动较大的指数,我有时会使用 75/25 而不是 70/30。黄金默认使用 70/30。测试适合自己风格的方法。
  • 将 H4 RSI 作为 "否决权 "来观察 - 如果 H4 显示出强劲趋势(RSI > 60 或 < 40),则要小心根据 M15/M30 信号进行反趋势入场。你很可能正在挨刀。
  • 使用收敛进行确认,而不是启动 - 当我看到 "3 TF OVERBOUGHT "时,我不会盲目做空。我首先等待价格显示疲软(打破结构、拒绝等),然后再利用收敛作为额外的信心。
  • 在 VPS 上启用警报重试 - 如果您在连接不稳定或延迟较高的 VPS 上运行,请保持 Alert_Retry_Enabled = true。1 月份,当我的 VPS 出现网络故障时,它让我避免了错过两次重要的 XAUUSD 设置。
  • 在生产环境中关闭冗长日志记录 - 冗长日志记录非常适合调试,但在磁盘空间有限的 VPS 上,应将其关闭,以避免日志文件臃肿。

技术说明

此版本为 v1.6,包含可用于生产的改进:

  • 警报重试系统(v1.6 新增) - SendSoundWithRetry()、SendPushWithRetry()、SendEmailWithRetry() 函数会自动重试失败的警报,最多 2 次,延迟 100 毫秒。在配置错误(电子邮件为 4510,推送为 4515)时跳过重试,以避免无限循环。
  • 冗长日志控制(V1.6 版新增) -- Verbose_Logging 输入参数对所有调试 Print() 语句进行控制。在生产过程中保持日志清洁,并在需要时进行详细的故障排除。
  • 提取所有常量 - LINE_HEIGHT_PADDING = 8、DEFAULT_DASH_X = 20、DEFAULT_DASH_Y = 50、ALERT_MAX_RETRIES = 2、ALERT_RETRY_DELAY_MS = 100。使代码自成文档,更易于调整。
  • 稳健的仪表盘定位 - 验证图表尺寸,并在不小心将其设置为偏离屏幕时自动调整。使用 DEFAULT_DASH_X/Y 常量而不是硬编码的回退值。
  • 所有对象上的 OBJPROP_HIDDEN - 仪表板元素不会干扰 MT5 对象列表(版本 5 以上)
  • 经过节流的错误警告 - iTime 警告在每个时间段每分钟只触发一次,而不是垃圾日志。
  • 适当清理句柄 - 在退出时和重新调用前调用 ReleaseAllHandles(),以防止内存泄漏(已在 v1.5 中修复)
  • 缓存 tfCount - 避免在热路径中重复调用 ArraySize()(小幅提升性能)
  • BarsCalculated() 检查 - 在尝试读取数据前等待指标完成计算(防止在图表加载过程中出现错误)
  • 优雅的数据处理 -- 在数据尚未就绪时显示"... "而不是崩溃

自 2025 年 10 月以来,我一直在 2 个真实账户上运行此工具(目前使用的是 2026 年 2 月初发布的 v1.6),没有出现过崩溃或内存问题。在 XAUUSD、EURUSD、GBPUSD、US30、NAS100 和 BTCUSD 上进行了广泛测试。

安装

  1. RSI_MultiTF_Alert_v1.6.mq5 复制到 您的MQL5/Indicators 文件夹
  2. 在 MetaEditor 中编译(Ctrl+F7)--编译时应无错误、无警告。
  3. 重新启动 MT5 或刷新导航器(Ctrl+N)
  4. 将指标拖到任何图表上
  5. 配置输入:
    • 从默认值开始(RSI 14、OB/OS 70/30)
    • 选择您喜欢的时间框架(我推荐 M15、M30、H1、H4)
    • 启用警报(推送/电子邮件/声音)
    • 保持 Verbose_Logging 关闭,除非正在排除故障
    • 启用 Alert_Retry_Enabled(尤其是 VPS)
  6. 如果需要移动推送警报,请确保在 MT5 移动应用程序设置中启用通知(工具 > 选项 > 通知)

完全包含源代码。代码干净整洁,注释清晰,所有常量均已提取,请随意修改。

截图

(建议附上截图 - 750x500 像素,黑白配色,以便打印):

  • 正常市场期间的仪表板 - 显示面板,上面有多个 TF 的 RSI 值,有些是红色,有些是蓝色,有些是灰色
  • 收敛警告激活 - 当 3 个以上时间框架达到超买或超卖(这是赚钱的机会) ⭐
  • 手机推送警报 - 显示 "XAUUSD M15 RSI OVERBOUGHT: 72.3 "通知的手机截图
  • 日志中的警报重试 - 显示重试尝试的 "终端专家 "选项卡(如果启用了 Verbose_Logging)。

要求

  • MetaTrader 5 3800 版以上,已测试至 4200 版)
  • 任何交易符号 - 外汇、指数、加密货币、金属均可使用
  • 推送/电子邮件提醒: 在 "工具">"选项">"通知 " 配置 通知
  • 建议: VPS 或稳定的网络连接,以实现可靠的警报发送(重试有帮助,但无法解决完全中断的问题)

版本历史

  • v1.6 ( 2026.02.11) - 生产就绪: 警报 重试系统、详细日志控制、所有常量提取、强大的错误处理功能
  • v1.5 ( 2026.01.25) - 强健的仪表板定位、OBJPROP_HIDDEN、神奇数字 → 常量、节流警告、处理清理修复
  • v1.4 ( 2026.01.20) - 缓存 tfCount、改进的数据验证逻辑
  • v1.3 ( 2025.12.15) - UI比例缩放,函数中无静态变量
  • v1.2 ( 2025.11.20) - 添加了对齐指示器,改进了错误处理
  • v1.1 ( 2025.11.05) - 新增自定义颜色和仪表盘大小
  • v1.0 ( 2025.10.28) - 初次发布

已知限制

老实说,这并不能 什么:

  • 不是交易系统 - 这是一款扫描/警报工具。它不会告诉你在哪里进场或出场。您仍然需要一个策略和价格行为确认。
  • 警报重试有限制 - 重试系统有助于解决临时故障(终端繁忙、短暂的网络故障),但如果您的 VPS 完全离线或 MT5 崩溃,您将无法收到警报。这不是魔法。
  • 在网速很慢的情况下无法使用 - 如果您的连接不稳定,您可能会错过实时更新。指标本身没有问题,但 RSI 需要新鲜的价格数据。
  • 无背离检测 - 我曾考虑过添加跨时间框架的 RSI 背离(价格创出新低,但 RSI 没有),但尚未构建。也许是 v1.7。目前,它纯粹基于收敛。
  • 警报不重复 -- 每个时间框架的每个条形图一次。如果你错过了警报,没有查看仪表盘,就不会收到垃圾邮件。但也不会提醒你。视觉检查是您的后备。

支持与反馈

GitHub: https://github.com/jimmer89/mql5-portfolio (完整源代码 + 其他项目)
MQL5.com: WhiteChocolate (如果您发现 Bug 或有功能请求,请给我发 DM)

如果该指标对您的交易有帮助,请留言或评分。我总是很想知道其他人是如何使用它的--有些交易者将其用于剥头皮入场,有些用于波段交易确认,还有些只是用于与现有策略的衔接。所有方法都有效。

如果你想在代码中添加自己的功能(背离、趋势过滤器、特定时段警报等),请告诉我。我一直在寻找可以窃取的创意。

专业建议: 如果 你在 VPS 上使用这个工具,并想监控多个货币对,只需打开多个图表并将指标附加到每个图表上即可。我同时在 XAUUSD M15、EURUSD H1 和 US30 M30 上运行它。它与重试系统配合得天衣无缝,即使在 VPS 负载情况下也不会错过警报。

由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/69317

内存 内存

监控内存消耗。

RSI 价格行动突破指标 RSI 价格行动突破指标

结合 RSI 耗尽区和蜡烛图突破形态的高精度趋势反转指标。

Trend based on WPR Trend based on WPR

该指标结合了 WPR 和总损益。我不知道如何详细介绍这个指标,但您可以试试。

离散 离散

离散技术指标由价格和交易量的变化决定。