Exp_Stochastic_Histogram
该EA基于Stochastic Histogram自定义指标进行交易,支持两种信号模式:基于超买超卖水平和基于交叉信号。当随机指标显示看涨动量时开多仓,显示看跌动量时开空仓,并在反向信号时可平仓。资金管理通过内置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 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于Stochastic Histogram指标的动量信号进行交易决策。入场条件有两种模式:Levels模式下,当柱状图从0区上穿时开多仓,从2区下穿时开空仓;Cross模式下,当上轨线上穿下轨线时开多仓,下穿上时开空仓。出场条件通过反向信号触发,BuyPosClose和SellPosClose参数控制是否在反向信号时平仓。仓位管理采用固定手数(LOT)模式,但也支持基于余额、可用保证金等多种资金管理模式。止损设为1000点,止盈设为2000点,风险收益比为1:2。信号判定使用SignalBar参数指定的K线,默认为前一根已收盘K线,避免了未收盘K线的 repaint 问题。
优势
- 双模式信号系统(水平线/交叉)提供灵活的交易策略选择
- 使用已收盘K线(SignalBar=1)判断信号,避免repaint问题
- 新K线检测机制(IsNewBar)避免同一根K线内重复交易
- 1:2的风险收益比设计合理,长期期望值为正
- 独立的买卖开关允许只做多或只做空,适合趋势过滤
- 多种资金管理模式适应不同风险偏好
劣势
- 止损1000点和止盈2000点固定值过大,未考虑市场波动率(ATR)自适应
- 依赖自定义指标Stochastic_Histogram,增加了部署复杂性和失败风险
- 缺乏点差过滤,在高点差环境下可能产生不利成交
- 没有最大持仓数量限制,可能在震荡市中连续开仓导致过度交易
- Static变量在EA重启后状态丢失,可能导致信号遗漏
- 缺少回撤控制和最大亏损限制机制
改进建议
- 引入ATR动态止损止盈,根据市场波动率自适应调整
- 增加点差过滤和最大持仓数量限制,减少不利成交和过度交易
- 添加回撤控制和资金曲线保护机制,如最大回撤百分比熔断
风险评估
总体风险: 中等
- 固定大止损(1000点)在低波动品种上风险过大,在高波动品种上又可能过小
- 缺乏回撤控制机制,极端行情下可能持续亏损
- 自定义指标加载失败时仅打印日志返回INIT_FAILED,无容错重试机制
- 无点差过滤,在流动性差时段可能遭受严重滑点
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理比例系数 |
MMMode | LOT | 仓位计算模式(固定手数/余额比例/可用保证金比例等) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点 |
BuyPosOpen | true | 是否允许开多仓 |
SellPosOpen | true | 是否允许开空仓 |
BuyPosClose | true | 是否允许反向信号平多仓 |
SellPosClose | true | 是否允许反向信号平空仓 |
InpInd_Timeframe | PERIOD_H4 | 指标计算的时间周期 |
TMode | Cross | 信号模式(水平线/交叉) |
KPeriod | 5 | Stochastic K线周期 |
DPeriod | 3 | Stochastic D线周期 |
Slowing | 3 | Stochastic 慢化周期 |
MA_Method | MODE_SMA | 移动平均方法 |
Price_field | STO_LOWHIGH | Stochastic价格字段(最高最低/收盘) |
HighLevel | 60 | 超买水平线 |
LowLevel | 40 | 超卖水平线 |
SignalBar | 1 | 用于信号判断的K线索引 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。