首页 EA策略库 正文
  • 本文约2363字,阅读需12分钟
  • 18
  • 0

专门为MR4外汇黄金 (XAUUSD) 设计对冲EA,模拟

摘要

黄金对冲EA (GoldHedgingEA) 说明文档 简介 本EA (Expert Advisor) 是一个基于MetaTrader 4 (MT4) 平台的自动化交易程序,专门为黄金 (XAUUSD) 设计,50美元(0.01手)即可开始。 EA目的: 主要目标是通过执行对冲策略来管理黄金交易中的风险,而非追求单一方向的趋势利润。 基本策略: 在没有持仓时...

黄金对冲EA (GoldHedgingEA) 说明文档

简介

本EA (Expert Advisor) 是一个基于MetaTrader 4 (MT4) 平台的自动化交易程序,专门为黄金 (XAUUSD) 设计,50美元(0.01手)即可开始。

  • EA目的: 主要目标是通过执行对冲策略来管理黄金交易中的风险,而非追求单一方向的趋势利润。
  • 基本策略: 在没有持仓时,同时开立一个买单 (Buy) 和一个卖单 (Sell),形成对冲。当持仓的总净盈亏达到预设目标时,进行相应的平仓操作。如果因止损/止盈导致只有单边持仓,EA会尝试重新开立另一方向的订单以恢复对冲状态。

专门为MR4外汇黄金 (XAUUSD) 设计对冲EA,模拟

重要提示

请在使用本EA前仔细阅读以下提示:

  1. 模拟测试: 务必在模拟账户上进行充分测试3个月后,了解其在不同市场环境下的行为和潜在风险。
  2. 风险评估: 高盈利目标通常伴随高风险,请谨慎评估自身的风险承受能力。

下载链接:https://aifx66.com/content/uploadfile/202504/d6981745826457.zip

安装与加载

请按照以下步骤在您的MetaTrader 4平台中安装并加载本EA:

  1. 复制EA文件: 将 GoldHedgingEA.mq4 文件复制到MT4的数据文件夹下的 MQL4\Experts 目录中。
    • 您可以通过在MT4中点击 文件 (File) -> 打开数据文件夹 (Open Data Folder) 来找到此目录。
  2. 刷新导航器: 返回MT4平台,在“导航器 (Navigator)”窗口中找到“EA交易 (Expert Advisors)”列表。右键点击并选择“刷新 (Refresh)”。您应该能在列表中看到 GoldHedgingEA
  3. 加载到图表: 打开您希望运行EA的黄金 (XAUUSD) 图表。从导航器窗口将 GoldHedgingEA 拖拽到该图表上。
  4. 参数设置: 在弹出的EA属性窗口中,检查并根据需要调整“输入参数 (Inputs)”选项卡中的各项参数。确保“常用 (Common)”选项卡中的“允许实时自动交易 (Allow live trading)”已被勾选。
  5. 确认运行: 点击“确定 (OK)”。如果一切设置正确,您应该能在图表的右上角看到EA名称和一个笑脸图标 (😊),表示EA正在运行。

图表时间周期建议

  • 推荐周期: 建议将EA加载到 M1 (1分钟) 图表上。因为EA的核心逻辑在 OnTick() 函数中执行,M1图表能提供最频繁的价格更新,确保EA能及时响应市场变化并执行开平仓逻辑。
  • 其他周期: 虽然推荐M1,但您也可以在其他时间周期(如M5, M15等)上进行测试。请注意,在较高时间周期图表上,OnTick() 的触发频率会降低,可能影响EA对快速市场波动的反应速度以及平仓条件的判断时机。

输入参数详解

用户可以在EA加载到图表时设置以下参数:

  • LotSize: 交易手数 (默认: 0.01)
  • MaxSpread: 最大允许点差 (点) (默认: 30)
  • Slippage: 最大允许滑点 (点) (默认: 3)
  • MagicNumber: EA魔术数字 (默认: 12345)
  • SymbolName: 交易品种 (默认: "XAUUSD")
  • StopLossPoints: 止损点数 (默认: 500)
  • TakeProfitPoints: 止盈点数 (默认: 1000)
  • CloseNetProfit: 平仓净盈利 (账户货币单位) (默认: 20.0)
  • CloseNetLoss: 平仓净亏损 (账户货币单位, 负数) (默认: -10.0)
  • SecureProfitTrailingStopPoints: 盈利保护追踪止损距离 (点) (默认: 200, 0=禁用)。当单边持仓盈利达到 SecureProfitMinProfitPoints 时,激活此追踪止损。
  • SecureProfitMinProfitPoints: 激活盈利保护追踪止损的最小盈利点数 (点) (默认: 100)。
  • RecoverLossCloseProfitPoints: 弥补亏损后关闭剩余订单的盈利点数 (点) (默认: 100, 0=禁用)。当单边持仓盈利达到此点数时,直接平仓。

核心工作逻辑

EA的主要逻辑在 OnTick() 函数中执行,每次市场价格变动时触发:

  1. 检查: 检查交易是否允许、是否有足够历史数据、点差是否过大。
  2. 获取持仓状态: 检查当前是否有由本EA管理的买单 (hasOpenBuy) 和卖单 (hasOpenSell)。
  3. 决策分支:
    • Case 1: 无持仓 (!hasOpenBuy && !hasOpenSell): 调用 OpenHedgingPosition() 开立初始对冲仓位(一个买单和一个卖单)。
    • Case 2: 双边持仓 (hasOpenBuy && hasOpenSell): 调用 ManageHedgingPositions() 管理现有对冲仓位(检查整体盈亏目标)。
    • Case 3: 单边持仓 (hasOpenBuy != hasOpenSell): 调用 ManageSinglePosition() 尝试智能管理剩余的单个订单。
      • 如果 ManageSinglePosition() 未执行任何操作(例如相关功能被禁用或未达到触发条件),则EA会尝试重新开立另一方向的订单以恢复对冲状态(行为类似旧版本)。

OpenHedgingPosition() 函数

  • 计算基于当前买卖价的止损和止盈价格。
  • 使用 OrderSend() 函数分别发送一个买单和一个卖单。

ManageHedgingPositions() 函数

  • 计算当前所有由本EA管理的持仓的总净盈亏 (totalNetProfit)。
  • 重要检查: 如果当前持仓少于2个(即不是完整的对冲状态),则直接返回,不执行此函数的盈亏平仓逻辑(交由 ManageSinglePosition 处理)。
  • 盈利平仓: 如果 totalNetProfit >= CloseNetProfit,则遍历所有持仓,只关闭那些当前处于盈利状态的订单。
  • 亏损平仓: 如果 totalNetProfit <= CloseNetLoss,则调用 CloseAllPositions() 函数,强制关闭所有由本EA管理的持仓。

ManageSinglePosition() 函数 (新增逻辑)

此函数在 OnTick() 检测到只有单边持仓时被调用,用于智能管理剩余的那个订单:

  1. 找到订单: 定位那个单独存在的买单或卖单。
  2. 计算盈利: 计算该订单当前的盈利点数。
  3. 弥补亏损平仓 (Recover Loss): 检查 RecoverLossCloseProfitPoints 是否大于0。如果当前订单盈利点数达到或超过此值,则立即平仓该订单。如果成功平仓,函数返回 true,阻止后续的重新对冲。
  4. 盈利保护追踪止损 (Secure Profit Trailing Stop): 如果上述平仓逻辑未触发,检查 SecureProfitTrailingStopPoints 是否大于0 且当前订单盈利点数达到或超过 SecureProfitMinProfitPoints
    • 计算新的追踪止损位 (盈利方向回撤 SecureProfitTrailingStopPoints 点)。
    • 条件: 只有当新的止损位优于当前止损位(更高对于买单,更低对于卖单)并且已经越过开仓价(即保证盈利)时,才会尝试修改订单的止损位。
    • 修改: 如果满足条件且新止损位与当前止损位差异大于1个点,则修改订单止损。修改成功或无需修改(因为变化太小或新SL不优)时,函数返回 true,表示已接管此订单管理,阻止后续的重新对冲。
  5. 返回 false: 如果以上所有智能管理条件都不满足或相关功能被禁用,函数返回 false。这会使得 OnTick() 函数继续执行,尝试开立另一方向的订单以重新建立对冲。

CloseAllPositions() 函数

  • 遍历所有订单,找到属于本EA的订单(通过 MagicNumberSymbolName 识别),并使用 OrderClose() 函数逐一平仓。

风险提示与优化建议

  • 回测与优化: 至关重要! 使用MT4的策略测试器,选择XAUUSD,测试不同的参数组合(特别是 StopLossPoints, TakeProfitPoints, CloseNetProfit, CloseNetLoss, 以及新增的 SecureProfitTrailingStopPoints, SecureProfitMinProfitPoints, RecoverLossCloseProfitPoints),找到在历史数据上表现稳健的参数设置。
  • 市场适应性: 对冲策略在震荡市场中可能表现较好,但在强烈的单边趋势市场中可能因不断重新对冲而产生亏损。新增的单边订单管理功能旨在改善趋势行情下的表现,但仍需仔细测试。
  • 成本考虑: 交易成本(点差、手续费、隔夜利息)对对冲策略的盈利能力有显著影响,尤其是在持仓时间较长的情况下。
  • 参数调整: 根据回测结果和个人风险偏好,仔细调整各项输入参数。特别注意新增参数之间的相互影响。
  • 模拟先行: 在投入真实资金前,务必在模拟账户上运行足够长的时间,观察其实际表现。

免责声明: 本文档及EA仅供研究和学习使用,不构成任何投资建议。交易有风险,入市需谨慎。开发者不对使用本EA可能造成的任何损失负责。

标签:EA下载
评论
友情链接