学习如何基于 Williams PR 设计交易系统(基础篇)
用 Williams %R 搭一套 MT5 系统
Williams %R(威廉指标)把收盘价在最近 N 根 K 线高低区间里的位置量化成 0 到 -100 的数值,是判断超买超卖的老工具。在 MT5 里自己做一套基于它的交易系统,核心就是读指标缓冲、写开平仓条件。 原文给出的示例在 2022-09-29 发布,截至统计时获得 2658 次查看与 18 条互动,说明这类底层指标改造需求一直有真实交易者埋单。 真正动手时,先把周期和 %R 窗口定下来(常用 14),再决定 -80 / -20 这两条线怎么用:跌破 -80 可能意味着超卖反弹概率上升,上破 -20 则超买回落倾向增强。外汇和贵金属杠杆高,信号失效会快速放大亏损,参数务必先在策略测试器跑历史。
「从 WPR 根源搭一套可跑的系统」
这一篇不堆指标参数表,而是顺着 Williams' %R(WPR)的底层逻辑,把它拆成能直接落进 MT5 的部件。先搞清楚它测的是什么、手工怎么算,再谈策略与系统,避免只会调阈值的浅层用法。 全文主线分四块走:WPR 定义、基于指标核心思想的策略、策略蓝图、以及最终在 MetaTrader 5 里写成智能系统的交易系统。前两块解决“懂”,后两块解决“跑”。 代码环境固定用 MT5 终端加内置 MetaEditor 写 MQL5,以 EA 形式加载。若你还没装终端或不会写 MQL5,先补上一篇“在 MetaEditor 中编写 MQL5”的基础,否则后面复制代码也验证不了。 外汇与贵金属波动剧烈、杠杆风险高,文中所有信号逻辑仅作教学推演。实盘前务必在策略测试器里跑一遍,确认信号节奏适配你的品种与周期,责任自负。
◍ WPR 怎么算、怎么读、怎么挂到 MT5
Williams' %R(WPR)是 Larry Williams 搞出来的动量振荡器,和 Stochastic 像是照镜子——核心算法同源,只是缩放方式反过来。它一样在 0 到 -100 之间晃,用来衡量收盘价落在最近一段高低区间里的相对位置,也能顺带看趋势动量强弱。 公式不复杂:WPR = (区间最高价 - 收盘价) / (区间最高价 - 区间最低价) × -100。拿文内 30 根 K 线样本、周期取默认 14 来说,第 15 根最高 1.0577、最低 1.0502、收 1.0511,回看前 14 根高低区间是最高 1.0749(第 2 根)、最低 1.046(第 10 根),算出来 WPR ≈ (1.0749-1.0511)/(1.0749-1.046)×-100 ≈ -84.2,已经戳进 -80 以下的低位区。 三个关键水位得记牢:-50 是中轴,线上半部代表价格待在周期区间上半、线下半部代表下半;-20 以上算高位读数、价格贴近区间顶;-80 以下算低位读数、价格贴近区间底,这两档就是惯用的超买超卖参照。外汇和贵金属波动大,这种极值区只提示概率倾斜,不代表反转必现。 手工算纯属理解用,MT5 里直接插就行:指标列表选 Williams' %R → 设周期、线色线型线宽 → Levels 选项卡里默认有 -80 / -20,想加 -50 点 Add 填数确定,图下方黑线就跑出来了。把它和价格行为、均线或成交量叠着看,才不容易把单次穿越误读成信号。
把 WPR 思路落地成三种开仓逻辑
Williams %R 的核心不是看一条线飘在哪,而是把动量状态转成可执行的触发条件。下面三种玩法都可在 MT5 里用 iWPR 配合历史缓冲区直接验证,外汇与贵金属杠杆高,信号只是概率倾向,别当确定性指令。 最直白的超买超卖读法:WPR 跌破 -80 视为超卖,涨过 -20 视为超买。这只能提醒你价格进了极端动量区,真正反转还要看后续 K 线确认,单独用容易在趋势中反复挨扫。 交叉法把 -50 中轴当多空分界。前期 WPR 在 -50 下方、当期站上 -50 出买入倾向;反之为卖出倾向。这个交叉点比极值区更贴近趋势启动,若再叠一个独立工具过滤,假信号概率会降一截。 均线_confirm 版本更挑环境:要价大于均线且 WPR > -50 才给买入;出价小于均线且 WPR < -50 才给卖出。把均线当作结构过滤器,能砍掉不少无方向的毛刺突破,但震荡市里均线本身会失效。