学习如何基于 DeMarker 设计交易系统(基础篇)
◍ 正文
学习如何基于 DeMarker 设计交易系统 MetaTrader 5 — 交易 | 9 一月 2023, 17:26
- 256
0 Mohamed Abdelmaaboud
从 DeMarker 开始搭一套可跑的系统
本系列要把最常用技术指标逐个拆开,做成能直接在 MT5 里跑的交易系统。第一篇选的是 DeMarker,后面会依次覆盖它的定义、策略逻辑、策略蓝图,以及最终用 MQL5 落地的交易系统。 我们全程用 MetaTrader 5 终端自带的 MetaEditor 写代码和回测。如果你还没装好 MT5 或不会进编辑器,得先补一下上一篇文章里「在 MetaEditor 中编写 MQL5 代码」那段,否则后面代码部分没法跟练。 外汇和贵金属杠杆高、回撤快,DeMarker 这类指标只解决「超买超卖区识别」一件事,不解决仓位和滑点。本文所有内容按教学目的提供,实盘使用前必须自己跑历史回测确认逻辑在你的品种上是否盈利倾向,亏了是你自己担责。
「拆解 DeMarker 的算法内核」
DeMarker 是 Thomas DeMark 设计的振荡器,常被简称为 DeM,核心动作只有一件:把当期最高/最低价同前一周期比较,借此衡量品种的需求强弱,从而给趋势方向一个概率判断。它不预测点位,只反映买卖压力偏向。 手工算一遍公式:DMark(i) = SMA(DeMax, N) / (SMA(DeMax, N) + SMA(DeMin, N))。DeMax(i) 在 HIGH(i) 高于 HIGH(i-1) 时等于二者差值,否则记 0;DeMin(i) 在 LOW(i-1) 高于 LOW(i) 时等于二者差值,否则记 0。N 就是周期参数。 跑完公式会得到一条被压缩在 0 到 1 之间的线。MT5 已内置,无需手算:插入 → 指标 → 振荡器 → DeMarker,弹窗里只调周期、线色、线型、线宽四项,确认后子窗口即出现振荡线。 读数的硬边界很直接:线逼向 0.70 倾向超买,逼向 0.30 倾向超卖。外汇与贵金属波动剧烈,0.70/0.30 仅是阈值参考,实际反转概率受周期与品种流动性影响,需自行在 MT5 切周期验证。
◍ 把 DeMarker 拆成三种可上手信号
DeMarker 不是只看超买超卖线就够了。用 MT5 加载该指标后,可以先做一道强度过滤:把当期 DeMarker 值和它最近 5 个周期的均值比。当期值高于 5 周期均值,说明这波动能偏强;低于均值则是疲软信号。 超买超卖的硬门槛放在 0.70 和 0.30。当期值 ≥0.70 倾向接近超买,≤0.30 倾向接近超卖,外汇和贵金属杠杆高,触线不代表反转必现,只代表概率倾斜。 背离看四个数:当前高点、前高、当前 DeMarker、前 DeMarker。若价格出新高但 DeMarker 没跟上(当期高点>前高且当期 DeMarker<前 DeMarker),是看跌背离;价格新低但指标抬高(当期低点<前低且当期 DeMarker>前 DeMarker),是看涨背离。这套简单背离在 EURUSD 小时图常用,但震荡市假信号多,建议先开 MT5 回看三个月数据验证。