Exp_JFatl_Digit_System
该EA基于自定义指标JFatl_Digit_System的信号进行交易,该指标结合了JMA平滑和数字滤波器。指标发出上升趋势信号时开多仓,下降趋势信号时开空仓,支持配置止损、止盈和资金管理方式。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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使用JFatl_Digit_System自定义指标作为核心信号源,该指标基于JMA(Jurik Moving Average)平滑算法并叠加数字滤波器来识别趋势方向。入场条件:当指标颜色缓冲区(buffer 6)的值大于2且另一缓冲区值小于3时,产生买入信号开多仓;当颜色缓冲区值小于2且另一缓冲区值大于1时,产生卖出信号开空仓。出场条件:买入信号触发时同时平卖仓,卖出信号触发时同时平买仓,实现了趋势反转时的反向平仓逻辑。仓位管理支持五种模式:固定手数、基于余额百分比、基于净值百分比、基于可用保证金百分比和基于亏损后保证金百分比。资金管理通过MM参数和MMMode枚举控制每笔交易的风险比例,止损和止盈分别默认设为1000和2000点。EA在新K线形成时才计算信号(IsNewBar机制),避免逐tick重复计算,但SignalBar为0时会在每个tick计算。
优势
- 使用JMA数字滤波器,信号平滑性较好,能有效减少虚假信号
- 支持多种资金管理模式,灵活度高,适应不同交易风格
- 新K线机制避免逐tick重复计算,降低计算负担
- 止损止盈参数可配置,风险控制有一定保障
- 买卖开关独立控制,可以只做多或只做空,策略灵活
劣势
- min_rates_total在第72-73行被重复赋值,第一次赋值被覆盖,存在明显的代码错误
- 没有点差过滤,在高点差品种上可能产生不利成交
- 依赖自定义指标JFatl_Digit_System,指标文件缺失时EA无法运行
- 信号逻辑基于指标缓冲区的魔数常量(1、2、3),可读性差且缺乏注释
- 没有持仓检查逻辑,可能在同一信号上重复开仓
改进建议
- 修复min_rates_total重复赋值问题,保留正确的最小K线数计算逻辑
- 增加点差过滤和持仓检查,防止高滑点成交和重复开仓
- 将指标缓冲区魔数常量替换为有意义的枚举或命名常量,提升代码可读性
风险评估
总体风险: 中等
- min_rates_total变量被错误覆盖,可能导致指标数据未充分加载时就开始交易
- 没有持仓检查,可能在已有持仓的情况下重复开仓导致仓位过重
- 没有点差过滤,在非流动性时段或高点差品种上可能产生不利成交
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理参数,控制每笔交易的风险比例或手数 |
MMMode | LOT | 仓位计算模式:固定手数、余额百分比、净值百分比等 |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点 |
BuyPosOpen | true | 是否允许开多仓 |
SellPosOpen | true | 是否允许开空仓 |
BuyPosClose | true | 是否允许平多仓 |
SellPosClose | true | 是否允许平空仓 |
InpInd_Timeframe | PERIOD_H4 | 指标计算的时间周期 |
JLength | 5 | JMA平滑长度参数 |
JPhase | -100 | JMA相位参数,范围-100到+100 |
Shift | 2 | 指标相对当前K线的偏移量 |
Digit | 2 | 数字滤波器的位数设置 |
SignalBar | 1 | 用于获取交易信号的K线索引 |
同类 EA:趋势跟踪
回测是历史模拟,不代表未来收益,不构成投资建议。