FJ Universe ADX Regime
- 专家
- 版本: 1.0
- 激活: 5
概述
FJUNIVERSE ADX REGIME EA 是一款适用于 MetaTrader 5 的全自动交易专家顾问,使用平均趋向指标 (ADX) 和方向运动指标 (+DI / -DI) 作为核心信号引擎。EA 检测当前市场状态——趋势、震荡或过渡——并相应调整交易逻辑。每次入场都需要在 bar[1] 和 bar[0] 之间确认 +DI / -DI 交叉,同时配合可配置的 ADX 强度和动量过滤器,所有条件必须同时满足。该方法消除了震荡市场中的虚假入场信号,确保仅在市场展现真实方向动能时开仓。
EA 包含七种交易策略模式:精确的动态(DYNAMIC)模式切换引擎、美元成本平均(DCA)系统、自动手数恢复计算器、实时图表监控面板,以及覆盖每个交易事件的 Discord 和 Telegram 实时通知。本版本引入了动态策略切换,通过 ADX 将市场分为三个阶段,自动在纯趋势交易、谨慎灰色区域交易和完全停止震荡交易之间切换。
信号引擎 — ADX 和 DI 交叉条件
每个交易决策的核心是 +DI 和 -DI 的交叉。当 +DI 上穿 -DI 时触发买入,当 -DI 上穿 +DI 时触发卖出。交叉必须在 bar[1] 和 bar[0] 之间检测到。附加过滤器:
- ADX 趋势过滤器 (andIsADXTrending) — 要求 ADX 值超过设定阈值 (adxTrendingThreshold),排除弱势市场环境。
- ADX 上升过滤器 (andIsADXRising) — 要求 ADX 值上升,确认市场动能增强。
- 最小 DI 值 (minDIValueForSignal) — 交叉 DI 线必须不低于此阈值。
- 最小 DI 间距 (minDIGapForSignal) — DI 线之间的差值必须不小于此值。
所有条件采用逻辑与(AND)门控。每个启用的过滤器都必须满足才能开仓。
ADX 模式框架
DYNAMIC 策略使用两个可配置的 ADX 阈值将市场状况分为三种模式:
- 趋势区域 — ADX 高于上限阈值。市场显示强方向动能。EA 使用标准手数交易。
- 灰色区域 — ADX 介于下限和上限阈值之间。市场不确定。EA 使用减小的手数谨慎交易。
- 震荡区域 — ADX 低于下限阈值。无方向动能。EA 停止开新仓位。
切换逻辑完全自动化。每个 tick 或蜡烛收盘时,EA 重新计算 ADX 值,确定当前模式并应用相应交易逻辑。
交易策略
| 策略 | 描述 |
|---|---|
| CLASSIC | 标准 DI 交叉交易。+DI 上穿 -DI 买入,-DI 上穿 +DI 卖出。无模式逻辑。止盈止损按配置执行。 |
| CLASSIC_EXTREME | 与 CLASSIC 相同,但增加过滤器:仅在 ADX 低于 extremeADXThreshold 时入场,针对趋势衰竭或反转点入场。 |
| DYNAMIC | 完整的 ADX 模式切换系统。趋势区域使用标准 DI 交叉逻辑。灰色区域谨慎交易。震荡区域停止开仓。 |
| DYNAMIC_EXTREME | 结合 DYNAMIC 模式系统与 EXTREME 过滤器。仅在趋势或灰色区域中 ADX 低于阈值时入场。 |
| DYNAMIC_GRAY_ZONE_ONLY | 仅在 ADX 灰色区域中以减小手数交易。ADX 超出范围时阻止入场。 |
| CLASSIC_EXTREME_SMART | 首笔交易使用标准 DI 逻辑。后续入场需要 DI 信号且当前价格优于所有现有仓位的 DCA 均价。防止在不利水平上加仓。 |
| CLASSIC_EXTREME_SMART_PLUS | 与 SMART 相同逻辑,但将当前价格与最近一笔入场价格比较,而非 DCA 均价。更严格的过滤器。 |
止盈和止损
止盈和止损通过百分比参数配置。百分比 TP 和 SL 基于入场价格计算,适用于所有品种:外汇、贵金属、加密货币、指数、大宗商品。无需点值转换。两个系统独立运行。
手数管理
交易规模由 costOfSingleOrder 参数设定。支持四种模式:
- LOT — 固定手数
- CURRENCY_AMOUNT — 按存款货币金额
- PERCENT_OF_BALANCE — 按余额百分比
- PERCENT_OF_EQUITY — 按净值百分比
所有模式与 DCA 和手数恢复完全兼容。
美元成本平均 (DCA)
启用 DCA 后,EA 在出现新信号时向同一方向开设额外仓位,直到达到 maxOpenTrades 限制。每次 DCA 入场都需要新的 DI 交叉信号。activateSLWithDCA 选项延迟止损激活直到首个 DCA 仓位开设。DCA 可与任何策略模式组合使用。
自动手数恢复
手数恢复系统计算增大的下一笔交易规模以弥补之前的亏损。两种方法:
- FROM_PAST_TRADES_BY_MAGIC_NUMBER — 基于指定幻数的历史交易计算。
- FROM_EQUITY_BALANCE_DRAWDOWN — 基于当前净值与余额之间的回撤计算。
恢复乘数 (costRecoveryMultiplier) 缩放调整后的手数。与 DCA 和所有手数模式兼容。
净值目标自动退出
当净值达到指定目标值 (equityTargetValue) 时,EA 可自动平仓所有仓位并停止交易。
最后周期模式
启用 lastCycleMode 后,EA 完成当前交易周期但不再开设新仓位。
执行时间
由 executeOn 参数控制。ON_TICK 在每次价格变动时评估策略。ON_CANDLE_CLOSE 在新蜡烛开始时评估。ON_CANDLE_CLOSE 推荐用于较高时间周期。ON_TICK 推荐用于低时间周期和剥头皮交易。
图表监控面板
实时监控面板显示在图表右上角,以颜色指示器显示每个入场条件的通过/未通过状态。面板显示当前策略、ADX 过滤器状态、DI 交叉状态、市场模式、有效手数、持仓数量和恢复指标。通过显示绿色,未通过显示红色。
Discord 和 Telegram 通知
EA 为每个交易事件发送结构化通知:开仓、平仓、修改、DCA 变更和手数恢复触发。每条消息包含交易品种、方向、手数、价格和时间戳。
输入参数
ALGO 条件
| 参数 | 默认值 | 描述 |
|---|---|---|
| andIsADXTrending | true | 要求 ADX 高于阈值以确认趋势 |
| adxTrendingThreshold | 20 | ADX 趋势过滤器最小值 |
| andIsADXRising | false | 要求 ADX 上升以确认动能增强 |
| minDIValueForSignal | 0 | DI 交叉确认最小值 |
| minDIGapForSignal | 0 | DI 线间最小间距 |
ADX 指标设置
| 参数 | 默认值 | 描述 |
|---|---|---|
| adxPeriod | 14 | ADX 计算周期 |
| adxAppliedVolume | VOLUME_TICK | 成交量类型:VOLUME_TICK 或 VOLUME_REAL |
| adxTimeframe | PERIOD_CURRENT | ADX 计算时间周期 |
策略设置
| 参数 | 默认值 | 描述 |
|---|---|---|
| strategyMode | DYNAMIC | 活动策略模式 |
| dynamicTrendZoneADXThreshold | 25 | DYNAMIC 趋势区域 ADX 阈值 |
| dynamicFlatZoneADXThreshold | 20 | DYNAMIC 震荡区域 ADX 阈值 |
| grayZoneLotPercentage | 50 | 灰色区域基础手数百分比 (1-100) |
| extremeADXThreshold | 40 | EXTREME 模式 ADX 上限阈值 |
| executeOn | ON_CANDLE_CLOSE | 执行时间:ON_TICK 或 ON_CANDLE_CLOSE |
| enableBuy | true | 允许买入 |
| enableSell | true | 允许卖出 |
| takeProfitPercent | 2.0 | 止盈百分比(基于入场价格) |
| stopLossPercent | 1.0 | 止损百分比(基于入场价格) |
| maxOpenTrades | 1 | 每方向最大持仓数 |
| costOfSingleOrder | 0.01 | 基础交易规模 |
| costFormat | LOT | 交易规模格式 |
DCA 和恢复设置
| 参数 | 默认值 | 描述 |
|---|---|---|
| useDCA | false | 启用美元成本平均 |
| activateSLWithDCA | false | 延迟止损至首个 DCA 仓位 |
| useAutoLotRecoveryByFJU | FALSE | 手数恢复方法 |
| recoveryRangeForPastTrades | 100 | 恢复计算的历史交易数量 |
| costRecoveryMultiplier | 1.0 | 手数恢复乘数 |
EA 通用设置
| 参数 | 默认值 | 描述 |
|---|---|---|
| magicNumber | 260413 | EA 标识符,每个图表实例必须唯一 |
| useFillingPolicy | true | 自动检测经纪商填充策略 |
| orderComment | FJUNIVERSE | ADXR | TRADE | 附加到每个订单的备注 |
通知
| 参数 | 默认值 | 描述 |
|---|---|---|
| brandLinkName | (空) | 通知中的品牌链接显示名称 |
| brandLinkURL | (空) | 通知中的品牌链接 URL |
| discordNickName | ANONYMOUS | Discord 消息中的昵称 |
| discordWebhookLogs | (空) | Discord webhook URL |
| telegramBotToken | (空) | Telegram Bot API 令牌 |
| telegramChatID | (空) | Telegram 聊天 ID |
安装
- 将 FJUNIVERSE_ADX_REGIME 放入 MQL5 Experts 文件夹
- 打开 MetaEditor 编译文件(按 F7)
- 重启 MetaTrader 5 或刷新导航面板
- 将 EA 拖到图表上并启用自动交易
EA 适用于所有交易品种和时间周期。如需 Discord 和 Telegram 通知,请在 MetaTrader 5 中允许相关 URL:工具 > 选项 > 智能交易 > 允许 WebRequests:https://discord.com 和 https://api.telegram.org。
注意事项
- 所有信号条件采用 AND 门控。每个启用的条件必须同时满足才能开仓。
- DYNAMIC 策略覆盖 andIsADXTrending 和 andIsADXRising 参数。
- CLASSIC_EXTREME_SMART 和 SMART_PLUS 设计用于 DCA 且 maxOpenTrades 大于 1 的场景。
- 在多品种或多时间周期运行时,幻数必须唯一。
- 百分比 TP 和 SL 适用于所有品种,无需点值转换。
- 图表监控面板在移除 EA 时自动清除。
- 更多文档和社区讨论请参见产品评论区。
风险提示:
交易涉及重大风险,过往表现不代表未来结果。FJUNIVERSE ADX REGIME EA 使用自动化交易策略,可能放大潜在利润和亏损。市场波动、经济变化和不可预见事件可能影响表现。不保证盈利,您可能损失部分或全部投资资金。DCA 和手数恢复策略在持续不利市场条件下可能放大亏损。请始终进行自主研究,评估风险承受能力,并考虑在使用本 EA 前咨询财务顾问。FJUNIVERSE 不对用户的任何损失承担责任。
