Eugene
该EA基于内包线(Insider Bar)K线形态结合Zigzag突破确认进行交易。当价格突破前一根K线高点且看涨确认条件满足时开多仓,突破低点且看跌确认条件满足时开空仓。仓位管理包含可选的止损止盈,并使用全局变量实现每根K线仅交易一次的过滤机制。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略核心是基于内包线(Inside Bar)形态识别,即当前K线完全被前一根K线包含的形态。入场条件方面,做多需要价格突破前高(Buy_signal)且满足确认条件(Confirm_buy),确认条件包括当前低价触及Zig_level_buy或时间超过8点,同时排除黑鸟形态和白色内包线;做空反之。出场条件是当出现反向信号时平仓,例如持多仓时出现看跌确认信号且价格跌破前高。仓位管理使用固定手数(Lots参数),没有动态仓位或资金管理逻辑。止损止盈为可选参数,以点数计算并根据买卖方向分别基于Ask/Bid价格设置。策略还包含信号反转功能(InvertSignals),可将买卖信号互换使用。时间过滤方面,8点以后自动确认信号有效,作为时间兜底机制。
优势
- 策略逻辑基于经典的内包线形态,具有明确的技术分析依据
- 使用全局变量实现每根K线仅交易一次的过滤,避免同一K线重复开仓
- 止损止盈检查考虑了品种的StopsLevel最小距离限制,符合交易所规范
- 信号反转参数提供了灵活性,可用于测试或适配不同市场环境
- 平仓逻辑与开仓信号联动,形成了相对完整的交易闭环
劣势
- 没有动态资金管理,固定手数无法根据账户余额或风险自动调整
- 默认止损止盈为零,在无止损情况下风险敞口无限
- 使用当前K线(r[0])的数据进行信号判断,尚未收盘的K线数据会频繁变化导致信号闪烁
- 没有点差过滤,在内包线形态这类小波动策略中,高点差可能吞噬利润
- SolveLots函数仅返回固定手数,代码中保留了参数但未实现任何动态计算逻辑
改进建议
- 应实现基于账户风险比例的动态仓位计算,替代固定手数
- 应添加新K线检测逻辑,仅在新K线形成时计算信号,避免信号闪烁和重复交易
- 应增加点差过滤条件,当点差过大时暂停交易以保护利润空间
- 应强制要求设置止损或提供最小止损保护,防止无止损交易导致巨额亏损
风险评估
总体风险: 需谨慎
- 默认无止损止盈,单笔交易风险敞口无限
- 使用未收盘K线数据判断信号,存在信号闪烁导致的反复开平仓风险
- 固定手数无资金管理,大资金账户可能单笔风险过高
- 内包线形态波动较小,高点差环境下可能频繁亏损
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
Lots | 0.1 | 固定交易手数,当MaximumRisk参数为零时使用此值 |
StopLoss | 0 | 止损点数,0表示不设止损 |
TakeProfit | 0 | 止盈点数,0表示不设止盈 |
InvertSignals | false | 是否反转交易信号,将买卖信号互换 |
同类 EA:K 线形态
回测是历史模拟,不代表未来收益,不构成投资建议。