|
一、突破交易系统核心思想:波段高低点识别 EA通过寻找局部最高点和最低点来定义波段(swing points)。具体识别方法: 识别出的波段高点和低点分别存储在swingHighs和swingLows数组中,并按时间排序(最新的在前)。同时为避免过于接近的高低点重复,增加了最小波段距离(MinSwingDistance)过滤。 二、趋势判断与强度评分EA利用最近几个波段高点和低点的相对位置来评估当前趋势强度(GetTrendStrength函数): 趋势强度值用于判断是处于上升趋势(正值)、下降趋势(负值)还是震荡(接近0)。该强度评分影响后续的入场决策。 三、入场模型EA提供两种入场方式,可通过参数独立开启或关闭: 1. 回撤模型(UseRetracementModel)2. 突破模型(UseBreakoutModel) 四、过滤条件为了减少假信号,EA加入了多个过滤层: 趋势过滤:回撤模型要求趋势明确(上升或下降);突破模型至少要求趋势不反向。 波动性过滤(UseVolatilityFilter):要求当前ATR(平均真实波幅)大于最小设定值(MinATR),避免在低波动市场中交易。 ATR过滤(UseATRFilter):动态调整止损距离、突破阈值等,使参数适应市场波动。 时间过滤(UseTimeFilter):可限制交易时段(例如只允许在特定小时内交易),并自动排除周末。 最大订单数限制(MaxOrders):防止过度开仓。
五、风险管理1. 止损与止盈2. 移动止损(Trailing Stop)当订单盈利后,EA会动态调整止损位: 3. ATR出场机制除了移动止损,EA还监控价格从最高点(多头)或最低点(空头)的回撤幅度,若超过ATR的一定倍数(ATRMultiplier),则主动平仓。这是一种基于波动率的利润保护策略。 六、辅助验证 七、整体交易流程 |