EA-32957 · K 线形态
CandlePatternsExample
该EA演示了如何使用MQL5标准库中的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 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
该EA的策略核心是基于经典的日本K线形态识别进行交易决策,利用MQL5标准库中的CCandlePattern及其派生类来检测多种反转和持续形态。入场条件为:当检测到看涨K线形态(如看涨吞没、晨星、锤子线)时开多仓,当检测到看跌K线形态(如看跌吞没、暮星、上吊线)时开空仓。出场条件依赖固定的止损和止盈设置,没有动态追踪止损机制。仓位管理采用固定手数方式,不根据账户余额或风险比例动态调整。资金管理方面较为简单,没有最大持仓限制或回撤控制机制。整体策略属于经典的形态识别交易方法,适合用于学习MQL5的EA开发框架和模式识别类的使用方法。
优势
- 利用MQL5标准库的形态识别类,代码结构清晰规范,是优秀的学习范例
- 涵盖多种经典K线形态,策略逻辑直观易懂,便于理解和扩展
- 基于标准库实现,可复用性强,便于在此基础上开发更复杂的形态识别策略
- 代码模块化程度高,形态检测与交易逻辑分离,架构合理
劣势
- 固定手数没有动态仓位管理,无法根据市场波动或账户风险自适应调整
- 缺乏多重过滤机制,仅依赖单一K线形态信号容易产生频繁的虚假信号
- 没有回撤控制或最大持仓限制,在连续亏损时风险暴露较大
- 止损止盈为固定点数,未考虑ATR等波动性指标进行动态调整
- 作为示例EA,策略实盘效果有限,缺乏足够的实盘验证和优化
改进建议
- 增加多时间框架确认和多指标过滤(如趋势方向、成交量确认),减少虚假信号
- 引入基于ATR的动态止损止盈和根据账户风险比例的动态仓位管理
- 添加回撤控制机制和最大同时持仓限制,提升资金管理安全性
风险评估
总体风险: 中等
- 单一K线形态信号容易产生虚假交易,缺乏多维度确认
- 固定止损止盈未考虑市场波动性,在高波动行情中止损可能过小
- 没有回撤控制或最大持仓限制机制
评估得分
代码质量4.0
策略逻辑3.0
风险管理2.0
稳健性3.0
创新性2.0
文档4.0
综合3.0
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
LotSize | 0.1 | 每笔交易的固定手数 |
StopLoss | 50 | 止损点数 |
TakeProfit | 100 | 止盈点数 |
Expiration | 10 | 信号有效期(柱数) |
CandlePatternType | 0 | 选择使用的K线形态类型 |
同类 EA:K 线形态
回测是历史模拟,不代表未来收益,不构成投资建议。