EA-1397 · 突破
BreakoutBarsTrend_EA
该EA基于自定义指标BreakoutBarsTrend_v2检测趋势反转信号进行交易。当指标发出趋势方向变化信号时入场,可选择在连续出现指定次数的亏损反转信号后才入场。止损和止盈可按点数或百分比模式计算。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
该EA的核心策略是基于BreakoutBarsTrend_v2指标检测趋势突破与反转。入场条件为:指标值从正变负(趋势向下反转)时做空,从负变正(趋势向上反转)时做多。此外,EA提供了一个负信号过滤机制——当InpNegatives大于0时,只有在前N次趋势反转信号均为亏损(即价格未能朝预期方向运动)的情况下才会开仓,这是一种逆向入场思路,试图在连续失败后捕捉成功的反转。出场条件有两种:一是当指标再次发出反向信号时平仓,二是触发止损或止盈。仓位管理采用固定手数(InpLot),仅做成交量边界校验和步长规范化。资金管理方面,止损和止盈可按点数或百分比两种模式设定,同时考虑了经纪商的最小止损水平限制。整体策略逻辑简单直接,缺乏动态仓位调整和风险敞口控制。
优势
- 策略逻辑清晰,基于趋势反转信号入场,易于理解和调试
- 提供负信号过滤机制,可避免在震荡市中频繁假突破入场
- 止损止盈计算考虑了经纪商最小止损水平(SYMBOL_TRADE_STOPS_LEVEL),减少订单被拒风险
- 支持点数和百分比两种模式设置参数,适应不同交易品种和交易者偏好
- 代码结构模块化较好,各功能函数职责单一,便于维护
劣势
- 依赖自定义指标BreakoutBarsTrend_v2,该指标未内嵌于EA中,缺少指标则EA无法运行
- 固定手数无动态调整机制,无法根据账户余额或风险敞口自适应调整仓位大小
- isNegativeSeries函数中使用negatives*100作为历史数据回溯长度,当negatives较大时可能导致数据请求量过大或逻辑不合理
- checkForClose和checkForOpen中prevTime为static局部变量,EA重启后会重置,可能导致同一根K线上重复交易
- 缺乏点差过滤、滑点控制和交易时间限制,在高点差或低流动性时段可能产生不利成交
改进建议
- 增加动态仓位管理,如根据账户风险百分比或ATR自动调整手数,提升资金管理能力
- 添加点差过滤和交易时段控制,避免在不利条件下开仓
- 将isNegativeSeries的回溯逻辑优化为基于实际趋势反转次数而非固定倍数,提高数据效率和逻辑准确性
- EA重启时从持久化存储恢复prevTime状态,防止重复信号处理
风险评估
总体风险: 中等
- 固定手数缺乏风险自适应能力,大资金账户下单手数可能过大导致集中风险
- 负信号过滤机制在negatives设置较大时需要回溯大量历史数据,可能在数据不足时返回false导致错过交易机会
- EA重启后static变量重置,可能在同一K线上产生重复开仓或平仓操作
- 无点差和滑点保护,在新闻事件或低流动性时段可能以极差价格成交
评估得分
代码质量3.0
策略逻辑3.0
风险管理2.0
稳健性2.0
创新性2.0
文档2.0
综合2.3
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
InpReversal | PERCENT | 反转模式:按点数(PIPS)或百分比(PERCENT)计算 |
InpDelta | 1.0 | Delta值,传递给BreakoutBarsTrend_v2指标作为反转阈值 |
InpNegatives | 1 | 需要等待的连续负信号数量,0表示不等待直接入场 |
InpStopLoss | 1.0 | 止损距离,单位取决于反转模式(点数或百分比) |
InpTakeProfit | 4.0 | 止盈距离,单位取决于反转模式(点数或百分比) |
InpLot | 1.0 | 固定交易手数 |
同类 EA:突破
回测是历史模拟,不代表未来收益,不构成投资建议。