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

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

显示:
342
等级:
(5)
已发布:
已更新:
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 和总损益。我不知道如何详细介绍这个指标,但您可以试试。

ZigZag BOS CHoCH Detection ZigZag BOS CHoCH Detection

ZigZag BOS CHoCH Detection 指标基于 MetaQuotes ZigZag 原始算法,并通过检测和标记市场结构事件对其进行了扩展。它跟踪最近的 ZigZag 波动点,并使用枢轴趋势确认自动识别结构突破 (BOS) 和特征变化 (CHOCH)。BOS 和 CHoCH 水平会直接绘制在图表上,并标注水平线,以便更清晰地分析价格走势。