revised_self_adaptive_ea
该EA通过检测看涨吞没和看跌吞没K线形态,并结合RSI超买超卖水平进行确认,在图表上绘制信号箭头。它初始化了ATR和MA指标用于计划中的动态止损、止盈和追踪止损功能,但OnTick处理程序不完整,未执行任何实际交易。代码似乎是一个未完成的工作,仅实现了信号检测和可视化组件。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
这个 EA 从未交易的原因:转换后没有留下任何开仓规则。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 未发现爆仓模式
代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于K线形态识别,主要利用吞没形态(Engulfing Pattern)作为反转信号。入场条件为:看涨吞没形态(前一根阴线被当前阳线吞没)且RSI低于30时发出买入信号;看跌吞没形态(前一根阳线被当前阴线吞没)且RSI高于70时发出卖出信号。出场条件方面,代码声明了动态止损、动态止盈和追踪止损变量,但OnTick函数中未实现任何出场逻辑。仓位管理方面,有固定手数参数(0.05)和最大风险百分比参数(1.0%),但未实际使用风险百分比计算仓位大小。资金管理方面,代码中定义了最大点差过滤参数,但未在信号检测中实际应用。整体策略逻辑不完整,信号检测与交易执行之间存在脱节,ATR和MA指标虽已初始化但未被任何逻辑引用。
优势
- 使用吞没形态结合RSI确认,策略逻辑有双重过滤,减少假信号
- 声明了ATR动态止损止盈机制,设计思路合理,适应市场波动
- 包含最大点差过滤和风险百分比参数,考虑了交易成本和资金管理
- 使用魔术号码区分EA订单,避免与其他策略冲突
- 信号可视化(箭头标记)便于回测和策略验证
劣势
- OnTick函数不完整,未实现任何交易执行逻辑,EA实际上无法交易
- ATR和MA指标已初始化但从未使用,dynamicStopLoss等变量声明但未赋值
- MaxRiskPercent和MaxSpread参数未在任何逻辑中调用,形同虚设
- 吞没形态判断逻辑有误:使用shift=1和shift=2比较,但注释和实际比较不匹配(不是真正的吞没形态判断)
- 没有新柱检测机制,每个tick都会重新检测信号,可能产生重复信号
- 缺少持仓检查和重复下单保护,可能开多个同方向仓位
改进建议
- 完善OnTick函数,实现完整的交易执行逻辑,包括入场、止损止盈设置和追踪止损
- 修正吞没形态判断逻辑,确保当前K线实体完全包含前一根K线实体
- 添加新柱检测机制,避免每个tick重复检测和绘制箭头
- 使用MaxRiskPercent动态计算仓位大小,用ATR值设置动态止损止盈
- 添加持仓检查和点差过滤逻辑,防止重复开仓和高点差环境下交易
风险评估
总体风险: 高风险
- EA交易逻辑未完成,存在变量未初始化使用的风险,可能在后续开发中引入严重bug
- 没有持仓检查机制,如果补全交易逻辑后不加保护,可能导致无限开仓
- 没有新柱检测,每个tick都会触发信号检测,可能频繁开仓
- 吞没形态判断逻辑有缺陷,可能产生错误信号导致亏损交易
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
InpAverBodyPeriod | 3 | K线实体平均周期 |
InpMAPeriod | 2 | 移动平均线周期 |
InpPeriodRSI | 6 | RSI指标周期 |
InpPrice | PRICE_CLOSE | 应用价格类型 |
InpLot | 0.05 | 固定交易手数 |
MaxRiskPercent | 1.0 | 每笔交易最大风险百分比 |
MaxSpread | 20.0 | 最大允许点差 |
UseTrailingStop | true | 是否使用追踪止损 |
InpMagicNumber | 121300 | EA魔术号码 |
同类 EA:K 线形态
回测是历史模拟,不代表未来收益,不构成投资建议。