【ATR双向对冲源码】ATR突破触发型EA,核心逻辑结合了动态入场阈值、马丁格尔加仓和整体浮动止盈

| 发表于 半小时前 | 显示全部楼层 |复制链接
1. 核心信号生成(入场逻辑)
  • 动态阈值计算:EA不会在固定点位挂单。它计算过去 300根K线(平滑周期)的平均ATR值,得到一个平滑后的波动率数值 x。
  • 触发价格设定:以上一根K线的收盘价为基准。
    • 买入触发价 = 前收盘价 + x × 距离系数(默认1.0)
    • 卖出触发价 = 前收盘价 - x × 距离系数(默认1.0)

  • 触发机制:当市场实时Ask价格向上突破买入触发价时,开多单;当实时Bid价格向下突破卖出触发价时,开空单。
  • 重要限制(每K线单次触发):每根新K线生成时,buyTriggered和sellTriggered标志会重置为false。这意味着每根K线,每个方向最多只开仓1次,防止在剧烈震荡的单根K线内反复开仓。

2. 仓位管理(马丁格尔策略)
  • 当Martingale_Enabled = true时,EA会统计当前Magic Number下,同方向(全部买单或全部卖单)的持仓数量。
  • 新开仓手数 = 基础手数 × (马丁乘数 ^ 同方向持仓数量)。
  • 示例:基础手数0.01,乘数2.0。第一单0.01手,第二单(同方向未平仓时)0.02手,第三单0.04手……以此类推。
  • 如果关闭马丁策略,则每次固定开基础手数。

3. 退出逻辑(动态止盈清仓)
这是该EA唯一的风控出口,它监控所有该Magic号持仓的总浮动盈亏(包含利润、库存费、手续费):
  • 动态目标计算:止盈目标 = 总持仓手数 × (盈利系数 / 2),即每手对应50美元(因为盈利系数=100)。
  • 封顶限制:目标不能超过设定的Max_Target(默认300美元)。
  • 执行动作:当总浮动盈亏 >= 动态目标时,EA会立即循环平掉所有该Magic号的持仓,结束本轮网格交易。

4. 界面显示(GUI)
EA会在图表左上角实时刷新显示:当前平滑ATR值、买卖触发价格、总浮动盈亏、当前动态止盈目标/最大目标、总持仓手数以及持仓数量。
屏幕截图 2026-09-04 165301.png
屏幕截图 2026-09-04 165532.png
filetype

ATR双向对冲.mq4

17.85 KB, 下载次数: 4, 下载积分: 活跃度 -5  [下载]

评分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN    参与人数:0    我的评分:未评 下载时遇到问题?
如果有帮助,就支持一下我呗
举报

评论 使用道具

精彩评论1

123591868
DD
| 发表于 29 分钟前 | 显示全部楼层
看起来很简单。
举报

点赞 评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册