【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值、买卖触发价格、总浮动盈亏、当前动态止盈目标/最大目标、总持仓手数以及持仓数量。
看起来很简单。 下载看看... 实际用途不大,学习学习可以 源码哦,必须点赞一个[玫瑰]
页:
[1]