简要说明
该专家顾问将基于ADX的趋势强度过滤器与EMA回调入场技术相结合,并利用ATR进行动态止损和止盈设置。它专为交易单一品种设计,每次仅持有一笔仓位。

该代码基于哪些理念?
该策略基于三个公认的概念构建。首先,使用平均方向指数(ADX)来衡量趋势强度:ADX上升并超过预设阈值表明趋势正在形成或增强,而ADX持平或下跌则表明市场疲软或处于震荡区间。 其次,采用指数移动平均线(EMA)作为回调检测的动态参考水平:价格接近EMA后又远离该线,被视为当前趋势中的回调。 第三,使用平均真实波动幅(ATR)根据当前市场波动率(而非固定的点值)来设定止损和止盈距离,并利用ADX指标中的正/负方向指标(+DI / -DI)来确定交易方向。
如何解读这些信号?
所有计算均基于输入设置中选定时间周期的收盘K线进行,每出现一根新K线就会评估一次信号。入场逻辑要求同时满足以下两个条件:
1. 趋势过滤器:前一根K线的ADX值必须高于ADX阈值,且高于前前一根K线的ADX值,表明趋势强度正在增强。
2. 回调事件:价格与EMA之间的距离(以ATR的倍数表示)必须在更早一根K线时达到或高于回调比率,并在上一根K线时跌破该比率。这表明价格曾接近EMA,随后又再次远离。
当两个条件均满足时,交易方向由前一根K线上的+DI和-DI的比较决定:若+DI大于-DI,则产生买入信号;若-DI大于+DI,则产生卖出信号。 交易方向设置可将EA限制为仅买入、仅卖出或双向交易。
止损距离按 ATR 乘以止损系数(SL multiplier)计算,止盈距离则为止损距离乘以风险回报比(risk-reward ratio)。每个交易品种同一时间仅允许持有一笔头寸,且仅在当前无未平仓头寸时才会考虑开立新头寸。
适用交易品种和时间周期
该EA默认配置为H1时间周期,但可通过输入设置独立于图表时间周期更改指标计算所用的时间周期。由于该逻辑依赖于能适应当前波动性的ADX、EMA和ATR值,因此原则上可应用于多种流动性良好的交易品种和时间周期。 建议在实际交易前,先在策略测试器中针对目标交易品种和时间周期进行测试。
所用 #include 文件说明
本代码未使用外部 #include 文件。所有逻辑均包含在一个源文件中。
主要外部变量说明
| 变量 | 默认值 | 描述 |
|---|---|---|
| InpTradeDirection | TRADE_BOTH | 将交易限制为双向、仅买入或仅卖出 |
| InpMagicNumber | 270601 | 用于识别该EA下单的魔术号码 |
| InpLotSize | 0.01 | 每次交易使用的固定手数 |
| InpATR_SL_Multiplier | 1.5 | 止损距离,以上一根K线ATR(14)的倍数表示 |
| InpRR_Ratio | 2.0 | 止盈距离,以止损距离的倍数表示 |
| InpIndicatorTF | PERIOD_H1 | 用于计算ADX、EMA和ATR的时间周期 |
| InpADXPeriod | 14 | ADX指标所用的周期 |
| InpEMAPeriod | 20 | 应用于收盘价的指数移动平均线(EMA)周期 |
| InpATRPeriod | 14 | ATR指标所用的周期 |
| InpADXThreshold | 25.0 | 在ADX呈上升趋势的情况下,允许入场所需的最低ADX值 |
| 回调ATR比率 | 0.5 | 相对于EMA的距离(以ATR的倍数表示),用于定义回调事件 |
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/73958
002 - Inside Bar
用于测试“内部K线”延续假说的专家顾问(EA)。该EA在检测到有效的“内部K线”形态后,会沿主K线方向下达挂单,并提供ATR和形态质量过滤器作为可选功能。
Multi Forex Scanner MT5
您无需逐一对每组进行分析,只需一眼就能根据自己的标准,看出哪些组合最具潜力。
AIS平滑线性趋势
该指标显示线性趋势的平滑值
适用于MT5的TradingView风格MACD指标
一款针对MT5开发的MACD指标,采用TradingView的视觉风格。 4色柱状图,基于SMA的信号线——数值与 TradingView的每根K线完全一致。