ATR Trade Assistant
- 专家
- 版本: 1.0
- 激活: 10
ATR Trade Assistant 基于波动率的 MetaTrader 5 动态交易管理系统
ATR Trade Assistant 是一款专为 MetaTrader 5 设计的动态交易管理智能交易系统(EA),用于管理从入场到最终出场的全过程。无论您喜欢使用交易图表上的自定义 BUY 和 SELL 按钮手动进场,还是使用内置的示例策略进行自动交易,该 EA 都能提供一个完整的基于波动率的框架,用于管理仓位手数、初始止损、止盈、追踪止损和部分平仓分批止盈。
核心理念非常简单:让市场波动率来决定如何管理交易。该 EA 全面使用基于 ATR 的计算来驱动其交易管理引擎,而不是完全依赖固定的点数距离。这使得保护水平、仓位手数和追踪止损行为能够自动适应不断变化的市场环境。
核心功能
图表手动交易
该 EA 在图表画布上集成了专用的 BUY 和 SELL 按钮,允许交易员直接开仓。一旦交易开启,EA 将根据所选设置自动接管后续的管理流程。根据您的配置,EA 可以自动管理初始止损、初始止盈、仓位手数计算、基于 ATR 的追踪止损、渐进式追踪止损缩减以及部分平仓止盈。同时,它还支持基于波动率的仓位调整和自动示例策略入场。这非常适合那些希望自己控制进场,同时将重复的交易管理工作自动化的交易员。
该 EA 在图表画布上集成了专用的 BUY 和 SELL 按钮,允许交易员直接开仓。一旦交易开启,EA 将根据所选设置自动接管后续的管理流程。根据您的配置,EA 可以自动管理初始止损、初始止盈、仓位手数计算、基于 ATR 的追踪止损、渐进式追踪止损缩减以及部分平仓止盈。同时,它还支持基于波动率的仓位调整和自动示例策略入场。这非常适合那些希望自己控制进场,同时将重复的交易管理工作自动化的交易员。
全 ATR 交易管理框架
系统围绕平均真实波幅(ATR)这一核心波动率指标构建。初始保护水平基于当前 ATR 计算,而非使用固定的点数。
例如,如果黄金的当前 ATR 值为 3.00,当止损倍数设置为 2.0 时,初始止损距离计算为距入场价 6.00。当止盈倍数设置为 4.0 时,初始止盈距离为 12.00。这基于所选的 ATR 倍数建立了一个经典的 1:2 初始风险回报比。这种具备波动率感知能力的逻辑同样延伸到了追踪止损和仓位手数计算引擎中。
动态仓位手数计算
系统提供了多种手数计算方法,供交易员自由选择:
LOT_FIXED 动用每笔交易使用固定的交易量。
LOT_DYNAMIC_COMPLEMENT 动态低余额模式,旨在根据可用账户余额和保证金要求自动调整交易量。
LOT_DYNAMIC_VOLATILITY 推荐使用的基于波动率的动态手数模式。该模式根据市场波动率的变化调整计算出的仓位量。当波动率扩大时,手数模型可根据配置的扩大系数增加敞口;当波动率收缩时,模型可根据配置的收缩系数减少敞口。
LOT_DYNAMIC_RISK 根据配置的账户风险百分比和止损距离计算所需的仓位量。这允许交易员建立一个始终如一的风险模型,其中仓位量由账户权益、风险百分比和止损距离之间的关系共同决定。
三种追踪止损管理模式
- STEP REDUCTION 渐进式 ATR 追踪系统。追踪引擎在达到配置的激活盈利里程碑后启动,并随着交易进一步走向盈利而逐步减小 ATR 追踪倍数。这使得交易在移动的早期阶段能够获得更多的呼吸空间,同时在实现额外的利润里程碑时逐步收紧保护。配置的最小倍数下限可防止追踪距离缩减至定义的底线以下。
- STANDARD ATR TRAILING 常规 ATR 追踪机制。一旦达到配置的激活阈值,止损将使用基于波动率的缓冲距离跟随市场价格移动。
- AGGRESSIVE ATR TRAILING 激进追踪模式。专为希望保护性止损极快跟随市场走势的交易员设计。该激进模式根据配置逻辑立即激活,并在当前市场价格周围保持一个基于 ATR 的安全缓冲。当资金保护优先于容忍更大回撤时,此模式非常有用。
渐进式步进缩减引擎
步进缩减系统让交易员能够完全控制对获利交易的保护力度。您可以配置的参数包括:追踪开始的利润水平、初始 ATR 追踪倍数、每个步骤中倍数的缩减量、利润步骤之间的 ATR 距离以及允许的最小追踪倍数下限。例如,当设置激活点为 1.5 ATR、初始倍数为 1.4、步进缩减量为 0.2、步长为 1.5 ATR 且最小倍数为 1.2 时,EA 可以在头寸达到连续的利润里程碑时逐步收紧追踪距离,同时严格遵守配置的最小追踪缓冲。
自动 50% 部分平仓分批止盈
一旦达到配置的部分利润里程碑,EA 可以自动将持仓量减少 50%。该里程碑按照原始止盈目标的百分比进行计算。例如,如果止盈目标为 4 ATR,且部分利润因子设置为 0.5,则 EA 将锁定原始止盈距离的一半作为部分平仓的目标点。这允许交易员锁定一部分头寸利润,减少剩余风险敞口,同时允许剩余的仓位继续参与更大的市场行情。该功能可以与 ATR 追踪引擎结合使用,也可以独立启用或禁用。
内置示例策略
EA 附带了一个内置的示例策略,可用于策略测试器实验、自动化交易、展示交易管理能力以及测试集成的内部指标计算。该策略结合了趋势、动量和资金流条件。
EMA 趋势结构:策略使用较快的 EMA 参考线配合长期趋势过滤器。默认的 200 EMA 作为主要方向过滤器。当价格高于 200 EMA 时允许买入设置,价格低于 200 EMA 时允许卖出设置,旨在减少逆势交易。
Volume Momentum Distribution(VMD):内部 VMD 计算为成交量和动量行为提供了额外的确认层。
Money Flow Index(MFI):MFI 组件在设置被视为有效之前提供额外的资金流确认条件。
自适应点差保护:示例策略包含自动点差管理选项。启用后,EA 可根据经纪商服务器参数和市场特征自动调整点差上限。这在操作指数、加密货币和贵金属等点差行为与传统外汇交易对显著不同的品种时特别有用。同时提供手动备用点差限制。
无 iCUSTOM 外部依赖
示例策略所需的所有自定义指标计算都直接嵌入在 EA 内部。EA 不需要单独的外部自定义指标文件来通过 iCustom 呼叫执行这些计算。这简化了部署流程,并有助于保持完整的策略计算框架内置于 Expert Advisor 之中。
手动或自动运行模式
您可根据个人工作流程配置不同的操作模式:
手动模式:禁用示例策略,使用图表上的 BUY 和 SELL 按钮手动发起交易。随后 EA 将根据您选择的 ATR 设置提供自动化交易管理。
自动模式:启用示例策略,允许集成的策略引擎根据其内部条件自动识别并执行交易。
混合工作流程:EA 还可以作为交易管理助手,由交易员控制手动进场,并在需要时开启自动策略功能。
输入参数手册
INITIAL TRADE SETTINGS
InpStopLossAtrMult (默认值: 2.0) 基于当前 ATR 值设置初始保护性止损的距离。
InpTakeProfitAtrMult (默认值: 4.0) 基于当前 ATR 值设置初始止盈的距离。默认设置下初始目标结构为 1:2 的风险回报比。
RISK & LOT SIZING SETTINGS
InpLotMethod (默认值: LOT_DYNAMIC_VOLATILITY) 选择头寸交易量计算方法。可选:LOT_FIXED、LOT_DYNAMIC_COMPLEMENT、LOT_DYNAMIC_VOLATILITY 或 LOT_DYNAMIC_RISK。
InpLotSize (默认值: 0.01) 当选择固定手数模式时的标准交易量,也可作为其他模式的基准启动手数。
InpRiskPercent (默认值: 1.0) 定义单笔交易风险模型中使用的账户权益百分比。
InpVolUpMultiplier (默认值: 1.25) 用于动态波动率手数模式。当引擎检测到 ATR 扩大时,根据此系数调高手数模型。
InpVolDownMultiplier (默认值: 0.75) 用于动态波动率手数模式。当引擎检测到波动率收缩时,根据此系数调低持仓量。
InpVolATRPeriod (默认值: 14) 定义波动率手数引擎用于评估市场波动率变化的 ATR 回溯周期。
GLOBAL TRAILING CONTROLS
InpTrailingMethod (默认值: TRAIL_STEP_REDUCTION) 选择激活的追踪止损算法。可选:TRAIL_STEP_REDUCTION、TRAIL_STANDARD_ATR 或 TRAIL_AGGRESSIVE_ATR。
InpUseTrailing (默认值: true) 启用或禁用后台追踪止损管理引擎。
InpAtrRiskPeriod (默认值: 14) 定义用于计算标准和激进追踪模式下波动率缓冲距离的 ATR 回溯周期。
STEP REDUCTION PARAMETERS
InpTrailingActivation (默认值: 1.5) 定义步进缩减追踪引擎激活所需的最低利润距离,以 ATR 倍数衡量。
InpStartMultiplier (默认值: 1.4) 定义步进缩减首次激活时使用的初始 ATR 追踪倍数。
InpTrailingStep (默认值: 0.2) 定义在每个新利润步骤中追踪倍数的缩减量。数值越大,追踪距离收紧越快。
InpStepSizeATR (默认值: 1.5) 定义触发另一个追踪缩减步骤所需的额外利润距离,以 ATR 倍数衡量。
InpMaxCapMultiplier (默认值: 1.2) 定义步进缩减引擎允许的最小追踪倍数下限,防止追踪距离过度缩减。
STANDARD & AGGRESSIVE TRAILING PARAMETERS
InpTrailingStartMult (默认值: 1.5) 定义标准 ATR 追踪激活所需的利润距离,以 ATR 倍数衡量(此参数不用于激进模式)。
InpTrailingStepMult (默认值: 1.5) 定义在相应追踪模式下,当前市场价格与追踪止损之间维持的基于 ATR 的波动率缓冲距离。
SAMPLE STRATEGY SETTINGS
InpEnableSampleStrategy (默认值: true) 启用或禁用集成的自动化示例策略。
InpEmaPeriod (默认值: 20) 定义示例策略用于信号生成过程的较快 EMA 计算周期。
InpEmaFilterPeriod (默认值: 200) 定义主趋势过滤器 EMA 周期。默认价格在其上方允许买入,在其下方允许卖出。
InpVmdPeriod (默认值: 14) 定义内部交易量动量分布组件使用的计算周期,提供额外的动量确认。
InpMfiPeriod (默认值: 14) 定义内部资金流量指数组件的计算周期,提供额外的资金流确认。
InpAutoAdjustSpread (默认值: true) 启用自适应点差限制处理,允许 EA 根据经纪商服务器信息和市场特征自动确定合适的点差上限。
InpMaxSpreadPips (默认值: 15) 定义禁用自动点差调整时使用的手动最大点差限制。
InpMagicNumber (默认值: 123456) 定义分配给由自动化示例策略生成的交易的魔术编码,以便与手动持仓及其他 EA 区分。
PARTIAL TAKE PROFIT SETTINGS
InpUsePartialTP (默认值: true) 启用或禁用自动部分仓位平仓引擎。
InpPartialProfitFactor (默认值: 0.5) 将部分平仓触发点定义为原始止盈距离的比例。
重要风险提示
ATR Trade Assistant 仅作为交易辅助工具,不保证任何利润。金融市场涉及重大风险,自动化或半自动化交易可能导致资金亏损。仓位手数和风险参数应根据您的经纪商、具体交易品种和账户环境进行仔细选择和审慎测试。始终在投入真实资金之前进行您自己的测试和优化。历史表现和策略测试器结果并不保证未来的实际交易表现。
请将此文本复制到 MQL5 页面中,看看是否能够成功保存而不再提示长度超限 。如果有任何部分还需要精简或修改 ,请随时告诉我。
