Exp_Stalin
该EA基于自定义'Stalin'指标进行交易,该指标结合快慢均线和RSI生成动量信号。在向上动量信号时开多仓,在向下动量信号时开空仓,并可选择在反向信号时平仓。EA使用TradeAlgorithms库进行仓位管理,支持多种资金管理模式。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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的核心策略基于自定义Stalin指标,该指标融合了快速均线(Fast=14)、慢速均线(Slow=21)和RSI(周期17)三种技术分析工具,形成复合动量信号。入场条件为:当指标缓冲区1(UpValue)出现非零非空值时触发买入开仓信号,当指标缓冲区0(DnValue)出现非零非空值时触发卖出开仓信号。出场条件分为两种:一是通过止损/止盈参数设定固定点数退出(StopLoss=1000, TakeProfit=2000),二是当检测到反向信号时平仓(通过回溯历史柱确认反向信号的存在性)。仓位管理支持五种模式:自由保证金比例、余额比例、扣除亏损后自由保证金比例、扣除亏损后余额比例、固定手数。资金管理通过MM参数控制风险敞口比例,默认0.1。策略还包含Confirm和Flat参数用于信号确认和横盘过滤,但默认值均为0表示未启用。
优势
- 策略逻辑清晰,结合均线和RSI形成多维度动量判断,减少单一指标误判
- 提供五种资金管理模式,灵活适应不同交易者的风险偏好和账户规模
- 支持独立的买入/卖出开仓和平仓控制,可灵活配置为只开仓不反向平仓或反向平仓模式
- 使用IsNewBar机制避免同一K线内重复交易,减少过度交易风险
- 止损止盈参数明确,默认2:1的盈亏比(1000:2000)符合正期望值交易原则
劣势
- 依赖外部自定义指标Stalin和TradeAlgorithms库,缺乏独立性和可移植性
- 反向信号平仓逻辑存在缺陷:当同时启用买卖开仓和平仓时,反向平仓需要遍历历史柱寻找信号,可能导致延迟平仓或逻辑混乱
- 缺少点差过滤和交易时间过滤,在点差较大或低流动性时段可能产生不利成交
- Confirm和Flat参数默认为0等于未启用,缺少信号确认和横盘过滤机制
- 代码中大量乱码注释(编码问题),严重影响代码可读性和可维护性
改进建议
- 增加点差过滤器,当当前点差超过阈值时暂停交易,避免高成本成交
- 启用Confirm参数并提供合理的默认值(如1-3柱),增加信号确认机制减少假信号
- 增加交易时段过滤,避免在低流动性时段交易
- 优化反向平仓逻辑,避免通过遍历历史柱的方式确认反向信号,改为直接使用最近的信号状态判断
- 修复源代码编码问题,将乱码注释替换为正确的UTF-8编码或英文注释
风险评估
总体风险: 中等
- 缺少点差过滤,在高点差环境下可能产生滑点损失
- 反向信号平仓逻辑需要遍历历史柱,在数据不足时可能导致Recount=true频繁触发,影响执行效率
- 缺少持仓检查逻辑,可能在已有同向持仓时重复开仓
- 依赖外部库和自定义指标,若依赖组件缺失或更新可能造成运行失败
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理比例或固定手数 |
MMMode | LOT | 资金管理模式:自由保证金/余额/扣损自由保证金/扣损余额/固定手数 |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点 |
BuyPosOpen | true | 是否允许买入开仓 |
SellPosOpen | true | 是否允许卖出开仓 |
BuyPosClose | true | 是否允许买入平仓(反向信号) |
SellPosClose | true | 是否允许卖出平仓(反向信号) |
InpInd_Timeframe | PERIOD_H1 | Stalin指标时间周期 |
MAMethod | MODE_EMA | 均线计算方法 |
MAShift | 0 | 均线偏移量 |
Fast | 14 | 快速均线周期 |
Slow | 21 | 慢速均线周期 |
RSI | 17 | RSI指标周期 |
Confirm | 0 | 信号确认柱数 |
Flat | 0 | 横盘过滤柱数 |
SignalBar | 1 | 信号计算使用的K线索引 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。