EA-14229 · K 线形态
Exp_JMACandleSign
该EA基于自定义JMACandleSign指标的信号进行交易,该指标根据JMA平滑的K线形态产生买入/卖出信号。它在上涨信号时开多仓,在下跌信号时开空仓,具有可配置的平仓逻辑和资金管理选项。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
策略概念基于JMACandleSign自定义指标,该指标使用JMA(Jurik移动平均)平滑算法处理K线数据并生成方向性信号。入场条件为:当指标缓冲区1(UpValue)在指定信号K线上出现非零非空值时开多仓,当缓冲区0(DnValue)出现非零非空值时开空仓。出场条件分为两类:反向信号平仓(如上涨信号出现时平空仓,下跌信号出现时平多仓)以及固定的止损/止盈平仓。仓位管理支持五种模式:按自由保证金比例、按余额比例、按减去亏损后的自由保证金比例、按减去亏损后的余额比例、以及固定手数模式。资金管理通过MM参数控制风险比例,MMMode参数选择计算模式,默认使用固定手数模式(LOT)。EA还包含历史数据加载机制和新K线检测逻辑,避免在同一K线内重复交易。当开仓和平仓条件同时启用但未检测到平仓信号时,EA会回溯历史K线寻找最近的反向信号作为平仓依据。
优势
- JMA平滑算法减少了虚假信号,相比普通移动平均线更灵敏且更平滑
- 提供灵活的资金管理模式,支持五种仓位计算方式适应不同交易需求
- 开仓和平仓逻辑可独立配置,允许只开仓不平仓或只平仓不开仓的灵活组合
- 新K线检测机制防止同一K线内重复交易
- 止损止盈参数可配置,提供基本的风险控制
劣势
- 依赖外部自定义指标JMACandleSign,若指标文件缺失则EA无法运行
- 回溯历史K线寻找平仓信号的逻辑效率较低,在K线数量多时可能导致性能问题
- 缺少点差过滤机制,在高点差环境下可能产生不利成交
- 止损1000点和止盈2000点的默认值偏大,可能不适合所有品种
- 代码中大量注释为乱码(编码问题),影响代码可读性和维护
改进建议
- 添加点差过滤和交易时间过滤,避免在高点差和非交易时段开仓
- 优化回溯平仓逻辑,限制最大回溯K线数量或使用缓存机制提高效率
- 增加持仓检查和重复订单防护逻辑,避免在极端情况下重复开仓
风险评估
总体风险: 中等
- 默认止损和止盈点数较大,在波动性较低的品种上可能造成不必要的风险
- 缺少点差过滤,在流动性不足时可能以不利价格成交
- 回溯历史K线平仓逻辑在极端市场条件下可能找不到合适的平仓信号导致延迟平仓
评估得分
代码质量2.0
策略逻辑3.0
风险管理3.0
稳健性2.0
创新性3.0
文档1.0
综合2.3
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理比例或固定手数 |
MMMode | LOT | 仓位计算模式(自由保证金/余额/扣除亏损后的保证金/扣除亏损后的余额/固定手数) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点 |
BuyPosOpen | true | 是否允许开多仓 |
SellPosOpen | true | 是否允许开空仓 |
BuyPosClose | true | 是否允许平多仓 |
SellPosClose | true | 是否允许平空仓 |
InpInd_Timeframe | PERIOD_H4 | JMACandleSign指标的时间周期 |
JLength | 7 | JMA平滑长度参数 |
JPhase | 100 | JMA相位参数(-100到+100) |
SignalBar | 1 | 用于检测交易信号的K线索引 |
同类 EA:K 线形态
回测是历史模拟,不代表未来收益,不构成投资建议。