MT5指标 二创编译通过 · EX5 14KB 133 6

结构高低点 + 趋势线(MT5)(二创)

11111111·1 个月前发布
原作《结构高低点 + 趋势线(MT4)》XAUOF 官方二创本作

相对上一版改了:这个指标给我生成 mt5的呗

结构高低点 + 趋势线(MT5)(二创)

MT5 真机运行截图 · 服务器把编译好的 EX5 挂到黄金 H1 图表上截的,你装上去看到的就是这个样子

结构高低点_趋势线_MT5.mq5预览 35 / 302 行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//+------------------------------------------------------------------+

//|                                            SwingPointTrendLine.mq5 |

//|                                       量化交易摆动点趋势线指标      |

//| 基于 XAUOF 社区作品 #5《结构高低点 + 趋势线(MT4)》(作者 XAUOF 官方)二次创作 |

//| 改动:从 MQL4 转换为 MQL5 语法                                      |

//+------------------------------------------------------------------+

#property copyright "Swing Point Trend Line Indicator - MT5"
#property link      ""
#property version   "2.00"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   2

//---- 可调参数

input int    SwingBars = 5;              // 左右比较的K线数量(推荐3-10)

input bool   ShowTrendLines = true;      // 是否显示趋势线

input color  UpTrendColor = clrLime;     // 上升趋势线颜色

input color  DownTrendColor = clrRed;    // 下降趋势线颜色

input int    LineWidth = 2;              // 趋势线粗细(1-5)


//---- 指标缓冲区

double HighDots[];    // 摆动高点标记

double LowDots[];     // 摆动低点标记


//---- 全局变量

datetime lastHighTime1 = 0, lastHighTime2 = 0;  // 最近两个高点时间

double   lastHighPrice1 = 0, lastHighPrice2 = 0; // 最近两个高点价格

datetime lastLowTime1 = 0, lastLowTime2 = 0;    // 最近两个低点时间

double   lastLowPrice1 = 0, lastLowPrice2 = 0;   // 最近两个低点价格


string upTrendLineName = "UpTrendLine_MT5";
string downTrendLineName = "DownTrendLine_MT5";

//+------------------------------------------------------------------+

//| 指标初始化函数                                                      |

已显示前 35 行,共 302 行。完整源码仅对 xauusd.team VIP 开放查看与复制。

开通 VIP 查看完整源码
MT5 运行截图 · 完整视图带价格轴和时间轴的整张图表(约 150 根 H1 K 线),上面的封面是它最近 80 根 K 线的放大视图
结构高低点 + 趋势线(MT5)(二创) 在 MT5 上的真实截图

作品说明

好的,我帮你把这个 MT4 指标转成 MT5 版本。核心逻辑完全保留,只是语法适配到 MQL5。


相对原作改动:

  • 从 MQL4 语法转换为 MQL5 语法
  • 去掉 #property strict(MQL5 默认严格)
  • 增加 #property indicator_buffers 和 indicator_plots 声明
  • SetIndexStyle / SetIndexArrow / SetIndexLabel 改为 PlotIndexSetInteger / PlotIndexSetString
  • 数组用 ArraySetAsSeries 设置为时间序列模式,保持 MT4 习惯的索引方向
  • 对象操作函数参数微调(MT5 的 ObjectCreate 等接口略有不同)

使用说明

  1. 安装方法
  • 将代码保存为 结构高低点_趋势线_MT5.mq5
  • 放到 MT5 数据文件夹的 MQL5\Indicators\ 目录
  • 在 MetaEditor 中编译,或重启 MT5 自动编译
  • 在图表上右键「技术指标」→「Custom」→选择本指标
  1. 参数调整
  • SwingBars:摆动点识别灵敏度,数值越小识别的点越多(3-10 推荐)
  • ShowTrendLines:开关趋势线显示
  • UpTrendColor / DownTrendColor:上升/下降趋势线颜色
  • LineWidth:趋势线粗细
  1. 信号说明
  • 红色圆点标记摆动高点,绿色圆点标记摆动低点
  • 红色趋势线连接最近两个高点(下降趋势线)
  • 绿色趋势线连接最近两个低点(上升趋势线)
  • 图表左上角会提示「结构已破」信息:价格突破趋势线时触发
  1. 注意事项
  • 摆动点识别有滞后性,确认需要等待 SwingBars 根 K 线走完
  • 趋势线会自动延长到右侧,可手动拖动调整
  • 仅识别结构,不构成交易建议,需结合其他指标确认

AI 解读根据源码逐行分析写成,供参考,以实际运行为准

这是什么

这是一个 MT5 平台上的结构识别指标。它会在图表上自动找出摆动高点和低点(就是那些「局部最高」和「局部最低」的 K 线),用红绿圆点标出来,然后连接最近的两个高点和两个低点画出趋势线。当价格突破这些趋势线时,会在图表左上角提示「结构已破」。适合用来抓关键支撑阻力位和潜在反转点。

逻辑原理

指标会检查每根 K 线,如果它的高点比左右各 SwingBars 根 K 线都高,就标记为摆动高点;如果低点比左右各 SwingBars 根都低,就是摆动低点。每次发现新的摆动点,就更新记录,保留最近的两个高点和两个低点。

趋势线逻辑:红色下降趋势线连接最近两个高点并向右延长;绿色上升趋势线连接最近两个低点并向右延长。指标会实时计算当前价格相对趋势线的位置,如果价格向上穿过下降趋势线或向下穿过上升趋势线,就触发突破提示。

参数说明

  • SwingBars(默认 5):识别摆动点的灵敏度。数字越小识别的点越多(比如 3 会很密集),越大越严格(比如 10 只标注大级别转折)。推荐 3-10,日内短线用 3-5,波段用 7-10。
  • ShowTrendLines(默认 true):是否显示趋势线。关掉后只显示摆动点圆点,不画线。
  • UpTrendColor(默认绿色):上升趋势线的颜色。
  • DownTrendColor(默认红色):下降趋势线的颜色。
  • LineWidth(默认 2):趋势线粗细,范围 1-5,数字越大线越粗。

怎么用

把编译好的指标文件放到 MT5 数据文件夹的 MQL5\Indicators\ 目录下,重启 MT5 或在导航器里刷新。打开任意图表,右键选「技术指标」→「Custom」→找到本指标双击添加。

添加后图表上会出现红色和绿色圆点,分别标记高点和低点。如果开启了趋势线,会看到红绿两条延长线。图表左上角有文字提示,平时是空的,价格突破趋势线时会显示「结构已破:突破下降趋势线」或「跌破上升趋势线」。

趋势线可以手动拖动调整,但每次新 K 线更新时会重新画,所以手动调整会被覆盖。建议只看自动画的,不要自己改。

适用场景

适合所有品种和周期,但不同周期用法不同。H1 和 H4 适合抓日内或短波段的结构转折;D1 和 W1 适合看大级别趋势的支撑阻力。黄金、外汇、指数都能用,流动性好的品种效果更稳定。

震荡行情里摆动点会很密集,趋势线频繁突破,容易假信号;单边趋势行情里摆动点少,趋势线更可靠。适合配合其他指标或价格行为一起用,比如看到突破提示后,再确认有没有放量或 K 线形态配合。

不适合超高频剥头皮(M1、M5 图上摆动点太多太乱)和流动性差的小品种(价格跳动大,摆动点不规律)。

风险提示

摆动点识别有滞后,必须等右侧 SwingBars 根 K 线走完才能确认。比如 SwingBars=5,那么当前 K 线右边要再走 5 根才能判断它是不是高点,实际延迟可能有几个小时到几天。看到圆点出现时,那个转折点已经是历史了。

趋势线突破提示也是基于收盘价实时计算的,盘中可能反复突破又回来,产生假信号。只有 K 线收盘后确认突破才更可靠。而且趋势线是机械连接两个点画的,不考虑市场结构的复杂性,可能跟手工画的支撑阻力位有偏差。

指标本身不重绘(已确认的摆动点不会消失),但趋势线会随着新摆动点出现而更新,旧的线会被删掉重新画。如果你手动调整了线的位置,下次更新会丢失。

这个工具只负责标注结构,不提供进出场信号,不能单独作为交易依据。配合其他确认手段使用,控制好仓位和止损。

常见问题

这个指标会重绘吗?
摆动点本身不会重绘,一旦标记就不会消失。但趋势线会随着新的高低点出现而更新(删掉旧线画新线),所以趋势线的位置会变化。
SwingBars 参数设多少合适?
默认 5 适合 H1 和 H4 图。如果在 M15-M30 做短线,可以降到 3;如果在 D1 看大趋势,可以提到 8-10。数字越小识别的点越多,越大越严格。
突破提示是实时的吗,会不会有假信号?
是实时计算的,盘中价格可能反复穿越趋势线产生多次提示。建议以 K 线收盘后的提示为准,盘中的当参考。
MT4 能用这个指标吗?
不能,这是 MT5 版本。代码用的是 MQL5 语法,MT4 无法加载。如果需要 MT4 版本,可以找原作《结构高低点 + 趋势线(MT4)》。
可以用在加密货币或股票上吗?
可以。指标逻辑不限品种,只要是 K 线图都能用。但加密货币波动大,建议把 SwingBars 调大一点过滤噪音;股票在开盘前后可能出现跳空,趋势线连接会不连续。

Swing Point Structure Trend Line Indicator MT5

An MT5 indicator that automatically identifies swing highs/lows and draws trend lines connecting them. Monitors price breakouts in real-time with customizable sensitivity and colors.

A short source preview is shown above for visitors; full source, copy and compiled EX5 files are available to VIP members.

评论

后可以留言,比如反馈用着怎么样、想加什么功能。

还没有人评论,来抢个沙发。