ForexBestRobots.com比较 EA →
ZH

指标组合 · 指南2

外汇EMA、ADX与ATR:方向、强度与风险

按作用组合EMA、ADX与ATR:方向背景、运动强度与风险距离。通过可复算的H1数据、时序检查和手数示例理解各自职责。

EMA提供方向背景,ADX描述强度,ATR提供价格距离尺度。三个价格计算不会因此成为独立证据或完整策略。虚构教学示例。
EMA提供方向背景,ADX描述强度,ATR提供价格距离尺度。三个价格计算不会因此成为独立证据或完整策略。虚构教学示例。

价格高于均线、ADX较高与ATR上升描述的是不同性质。三者一致也没有形成完整的入场规则。本指南先划分职责,再使用全部输入明确的虚构H1历史进行检验。另一个独立报价示例说明:即使方向判断未变,波动扩大也可能要求降低仓位。

1. 组合之前,先提出三个不同问题

EMA可描述价格与平滑路径的位置关系。ADX可概括向上和向下方向性运动的失衡程度。ATR衡量近期真实波幅,为距离提供尺度。把三者都叫作确认,会掩盖这些不同职责。先写清每个条件改变哪项观察,以及交易决策还有哪些部分未定义。

这是一篇组合阅读与检验指南,不是可直接交易的完整策略。例子只分类已收盘背景,不虚构入场或收益。完整系统还需要价格触发、有效期、执行、保护、退出、手数与组合风险限制。MACD–RSI指南解释了相关区别:持续状态并不等于新的事件。

2. 固定品种、输入与职责

参考例使用虚构EURUSD Bid H1、基于Close的EMA 20和EMA 50,以及14期Wilder参考ADX与ATR。EMA组合提供一个方向背景,不是两张独立选票。ADX提供预先规定的强度条件,ATR提供之后独立规划示例中的距离尺度。周期用于识别实验,未被证明是最佳外汇参数。

把品种、K线边界、报价侧、历史、算法与初始值一起保存。仅凭周期标签,无法复现具体计算方法。在MT4中区分均线的显示位移与读取旧K线的缓冲区shift。使用数据窗口和保存数值,而非颜色或线条角度;图表缩放能改变视觉角度,却不改变计算。

部分本例作用尚未规定
EMA 20 / 50方向背景新的入场事件
ADX 14指定强度条件方向与执行
ATR 14距离尺度未来波幅或损失上限保证

3. 阅读EMA关系,而不是预测下一根K线

对于n期,本例使用α = 2/(n+1)和E(k) = E(k−1) + α × [C(k) − E(k−1)],以最初n个收盘价的算术平均初始化。快线从k19开始,慢线从k49开始。收盘高于两线、快线高于慢线且快线上升,是选定的向上背景定义,并不证明后续上涨。

较大下跌中的反弹也可能使价格超过一条EMA。接近的两条均线在区间中可能反复换位。间距以价格为单位,取决于周期与历史。如果之后用ATR标准化距离,必须将其作为额外规则单独声明和检验。不能把好看的斜率或间隔变成未记录的准入条件。

EMA背景是收盘价与快慢均线的明确关系,不预测下一步价格。
EMA背景是收盘价与快慢均线的明确关系,不预测下一步价格。 小屏幕可横向滚动图示。

4. 区分ADX强度与方向性运动

高点向上变化是H(k)减H(k−1),低点向下变化是L(k−1)减L(k)。仅当向上变化为正且严格大于向下变化,+DM才保留它;−DM使用相反比较。相等时两者都为零。它不是收盘间的带符号收益。应先平滑两个DM序列与True Range,再形成DI。

本例为+DI = 100 × W(+DM)/W(TR)、−DI = 100 × W(−DM)/W(TR)和DX = 100 × |+DI − (−DI)| / [+DI + (−DI)]。ADX是DX的Wilder平滑值。它去除了失衡的方向符号,因此两个方向都能出现高ADX。DI排序提供方向信息,应与无方向的ADX线区分。

ADX去掉方向符号,其强度应与DI及EMA背景区分。
ADX去掉方向符号,其强度应与DI及EMA背景区分。 小屏幕可横向滚动图示。

5. 先声明平滑方式,再比较MT4输出

W以最初14个有效观察的平均开始,随后使用W(k) = [13 × W(k−1) + x(k)]/14。平滑TR与DM首次出现在k14。第一个ADX为k14至k27的DX平均,以后采用相同递推。若平滑TR为正而两个DI均为零,本例明确令DX为零。缺失历史绝不能替换为零;TR分母为零则比较无效。

MT4通过MODE_MAIN、MODE_PLUSDI和MODE_MINUSDI区分ADX各线。iATR没有应用价格或平滑方式选择参数;iMA分别提供算法、价格、显示位移与缓冲区shift。不能只因都标注14,就认定该Wilder重建与原生或自定义指标相同。应匹配实现方式、初始值、可用历史,再比较已收盘输出。本文不声称已经验证终端一致性。

6. 把ATR当尺度,而非方向投票

True Range为TR(k) = max[H(k) − L(k), |H(k) − C(k−1)|, |L(k) − C(k−1)|]。本例ATR是按上述递推得到的W(TR)。跳空可能使TR大于K线高低价幅度。大幅上涨、下跌与跳空都可能推高ATR,因此ATR上升不能决定选BUY还是SELL。

ATR以价格为单位。此处EURUSD有1 pip = 0.00010,所以0.00100等于10 pips。五位报价的point小于一个pip;其他品种需使用各自的价格步长与点值约定。Z(k) = [C(k) − EMA20(k)]/ATR14(k)描述所选历史尺度上的偏离,不是概率、未来幅度保证或自动超伸否决条件。

True Range含前收盘价:虚构跳空K线幅度8 pips,TR为15 pips。
True Range含前收盘价:虚构跳空K线幅度8 pips,TR为15 pips。 小屏幕可横向滚动图示。

7. 比较之前对齐已收盘时点

等H1收盘、下一根K线和必要历史可用后再评估。MT4当前H1序列中,shift 1是最近已收盘K线,shift 2是它的前一根,shift 0仍在形成。EMA斜率比较需读取两个已收盘时点。显示位移为零,并不说明该规则应使用缓冲区shift 0。

三个指标保持在同一根已收盘H1上。以后增加其他周期,要匹配实际区间与可用时间,不能把相同数组编号当作相同时刻。比较未舍入数值,并保存时间与输入。状态持续多根K线不意味着每个tick都能重复提交。仓位和请求核对是另一项运行任务。

所有部分读取同一根已收盘H1,形成中的shift 0不能替代。
所有部分读取同一根已收盘H1,形成中的shift 0不能替代。 小屏幕可横向滚动图示。

8. 复现全部虚构输入

CSV包含101根虚构EURUSD Bid H1,从2026-07-06 00:00 UTC起按完成时刻标注。k0的Open与Close为1.10000,High为1.10030,Low为1.09990。k1–k60的Close减Open按pip重复(+2,−2) × 30;k61–k75为+3 pips,k76–k90为−6 pips,k91–k100为+2 pips。这些是构造数据,不是采集的经纪商报价或预测。

k0以后,Open等于前一Close,唯独k81低开8 pips。之后每根High比Open与Close较大者高一个pip,Low比较小者低一个pip。k81的K线幅度是8 pips,TR却是15 pips。CSV保留OHLC、TR、DM、DI、EMA、ADX、ATR与观察列;空白代表不可用。有限历史定义了初始值,但不证明已经收敛到拥有更早数据的终端结果。

下载完整虚构OHLC及计算CSV

9. 定义背景状态并阅读计算表

向上背景U要求C(k) > EMA20(k) > EMA50(k)且EMA20(k) > EMA20(k−1)。向下背景D反转这两项比较。定义A(k) = [ADX14(k) ≥ 25]、Q↑(k) = U(k) AND A(k)与Q↓(k) = D(k) AND A(k)。含等号的25阈值只是示例,不是最优结论。ATR作为尺度记录,并未暗中增加方向条件。

k61有向上背景,但ADX仅7.1429,所以Q↑为零。k64的ADX为25.6534,Q↑为一。到k75,收盘高于EMA20约4.6965 ATR,背景仍满足条件,因为没有规定偏离上限。表中EMA价格保留五位小数,其余读数四位,标记使用完整精度。满足条件的行是背景观察,不是成交或实测胜率。

虚构价格、EMA、ADX、ATR共享时钟;合格背景不是已成交交易。
虚构价格、EMA、ADX、ATR共享时钟;合格背景不是已成交交易。 小屏幕可横向滚动图示。
K线Bid收盘EMA 20EMA 50ADX 14ATR (pip)Q↑Q↓
k601.100001.100091.100100.00004.000000
k611.100301.100111.100107.14294.071400
k641.101201.100321.1002025.65344.256510
k751.104501.102311.1012467.09744.671010
k811.100101.102191.1014453.98586.365900
k901.094701.098931.1000857.76537.161301
k1001.096701.097061.0986950.79205.506701

10. 价格背景改变时正确阅读高ADX

k81的ADX仍有53.9858,但两种EMA背景都不满足:价格低于两线,快线却仍高于慢线。两个Q均为零。k90的ADX为57.7653,向下背景满足条件。先前的高强度从未保证向上观点持续有效;需要结合独立定义的背景解释。

到k100,价格从更低位置回升,所选EMA向下背景却仍成立,ADX为50.7920。ADX下降不能自动证明向上反转。要求ADX上升、DI同向、换阈值或加偏离上限,都会产生新版本。这些可以是研究问题,但看到不方便的记录后才添加,会破坏公平比较。

k61强度不通过,k64合格,k81高ADX伴随背景冲突,k90向下合格。
k61强度不通过,k64合格,k81高ADX伴随背景冲突,k90向下合格。 小屏幕可横向滚动图示。

11. 将价格触发与背景过滤分开

背景分类不决定何时入场。后续策略可以研究收盘确认的盘整突破,或带新价格事件的回调,但必须另行定义触发与时间。不要把每一行Q↑叫作新信号,也不要把被拒绝触发无限期留到ADX转好。这会改变决策样本与执行时点。

规定触发仅在本根收盘评估一次,还是进入声明的等待窗口。明确到期、相反事件、缺失数据、一次预定请求及取消原因。中断后重试前先核对不确定请求与已有仓位。指标一致不能证明经纪商接受了订单、保护已经附加,或交易本身安全。

12. 先选止损方针,再计算手数

ATR可提供最低距离,但不会识别结构失效位置,也不保证能避开普通波动。纯结构止损、纯ATR止损和两者组合是不同假设。独立的BUY规划例固定Bid侧结构止损,并用d = max[Ask − structural stop, 1.5 × ATR],结果止损为Ask − d。这是声明的规划方式,不是通用推荐倍数。

沿预定保护方向对齐实际价格网格,舍入后重算距离。检查经纪商最小距离、点差与新鲜可执行报价。过期报价或无效止损应记录拒绝,不能改用更好看的历史价格。跳空与急变可能使实际成交比止损更差;数学距离和预留都不能限定真实损失上限。

13. 用一个预算比较两种波动情况

独立的虚构EURUSD例使用Bid/Ask 1.10500 / 1.10512、结构止损1.10300和Bid目标1.10900。ATR为10 pips时,下限是15 pips,结构距离占优,因此d为21.2 pips。加入往返佣金0.8 pip及总不利执行预留1.2 pips后,计划损失距离为23.2 pips,净目标距离36.8 pips,比值约1.586。以Ask对比Bid退出价,已经计入入场点差。

假设USD账户、标准合约100000 EUR、每标准手pip价值10 USD、预算100 USD及手数步长0.01。将100 / (23.2 × 10)向下取整为0.43 lots,计划风险99.76 USD。如果仅ATR翻倍至20 pips,下限变为30 pips,止损1.10212,总损失距离32.0 pips。手数降为0.31 lots,计划风险99.20 USD,目标比值降为1.150。这些是规划计算,不是成交或最大损失保证。

一个USD风险预算、两种ATR情况:损失距离扩大需要更小手数,但不限定实际损失。
一个USD风险预算、两种ATR情况:损失距离扩大需要更小手数,但不限定实际损失。 小屏幕可横向滚动图示。
情况ATR (pip)Bid止损距离 (pip)损失+成本手数风险 USD目标比值
初始ATR10.01.1030021.223.20.4399.761.586
ATR翻倍20.01.1021230.032.00.3199.201.150

14. 不要把波动调整当成扩大风险的许可

两个情况固定了报价、结构、目标、预算和成本,以单独观察ATR。之后的报价可能再次改变结果。其他账户货币需要按相关汇率转换合约pip或tick价值,并核实经纪商规格。ATR原始数值不能直接给出手数。还需检查最小量、步长、保证金和组合相关敞口。

不要通过扩大已有止损、同时保留原来较大仓位来套用第二种情况。除非有另行测试的管理规则,否则计划敞口会增加。这里计算的是固定预算下新评估的仓位。持仓管理、隔夜费、新闻限制、累计损失与重启核对都需要自己的规则。

15. 分别检验每个新增部分的贡献

固定一个完整EMA背景模型,包含明确价格触发与退出。先与只增加ADX条件的同一模型比较,再在相同风险预算和执行假设下,把ATR距离及仓位方针与声明的替代方案比较。记录被拒绝触发、延迟、止损距离、手数、敞口和成本。同时更改触发、退出和预算,就无法分离贡献。

保留后续评估数据与全部尝试版本,考察邻近周期、阈值,不要每段重新挑赢家。检查损失、错过的盈利、净期望、回撤、执行失败与不确定性,而非只看胜率或交易变少。虚构表只验证算术和时序,不包含可证明盈利、安全风险比例或最佳组合的交易结果。

分别检验EMA背景、ADX条件和ATR距离及手数方针,保持执行、退出和预算固定。
分别检验EMA背景、ADX条件和ATR距离及手数方针,保持执行、退出和预算固定。 小屏幕可横向滚动图示。

16. 进入策略阶段前做简短核对

写清输入历史、报价侧、周期、EMA算法与初值、ADX及ATR平滑、收盘时点和缺失处理。明确背景比较、阈值相等的处理及仅供诊断的读数。随后再规定新价格事件、执行到期、保护、退出、成本和手数限制。其他读者应能复现同一判断,而无需事后挑选合适图形。

下一步是单独定义的策略假设,不是交易本指南中每个合格背景。其证据应与未来Bollinger Bands–RSI指南及其他实验分开。有效组合需要清楚职责与可检验的新增效果。把方向、强度、波动同时画出来,并不会自动产生可靠性。

常见问题

EMA、ADX与ATR分别提供什么?

EMA提供选定的方向背景,ADX概括去掉符号的方向性运动强度,ATR提供True Range价格尺度。职责可以互补,但价格输入重叠。一致不证明独立性、入场事件或盈利能力。

EMA 20/50、ADX 14与ATR 14是最佳设置吗?

本文没有证明最优参数,它们只是识别示例的参考周期。平滑、初始值、历史、周期和成本同样重要。应冻结完整规则,评估邻近参数及后续数据,而非只因历史图好看就选择。

ADX高于25是否意味着价格应该上涨?

不是。ADX衡量强度而不选择方向。例中高读数与k81的冲突EMA背景、k90的向下背景同时存在。要求DI排序或ADX上升会形成另一条待检验规则。

ATR能预测目标或保证止损吗?

不能。它按规定平均法概括历史True Range。ATR倍数是选择的距离,不是预测、置信区间或损失上限。跳空、滑点与执行条件可能超出计划水准和预留。

为什么MT4读数可能与CSV不同?

CSV在虚构K线上使用声明的Wilder参考计算和EMA初始值。终端或自定义指标可能在算法、初始化、旧历史、K线分组或报价上不同。相同周期标签不够,应先匹配实际计算方法与已收盘输入。

ATR上升时为什么手数下降?

固定预算下,较宽ATR下限增加每手计划损失,因此手数向下取整从0.43降至0.31。这针对声明假设下的新仓位,不授权在保留原仓位大小时扩大已有止损。

来源与教学说明

MetaQuotes提供指标概念与MQL4接口。本文的参考平滑、初始值、虚构OHLC路径和观察条件均为明确编写的教学定义,不是经过验证的某个MT4终端副本、商业EA说明或实测交易成绩。CSV包含全部输入与中间计算,另列的报价及手数示例不沿用该价格路径。

教学内容。OHLC历史、指标值和报价情况均为虚构。外汇交易有风险。指标一致和规划预留不保证盈利、成交或最大损失。