Exp_Fisher_org_v1_Sign
该EA基于Fisher_org_v1_Sign自定义指标的交易信号进行操作,该指标使用Fisher变换结合ATR归一化来识别动量买卖信号。在上升信号时开多仓,下降信号时开空仓,支持可配置的止损止盈水平,并提供包括固定手数和百分比在内的多种资金管理模式。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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的核心策略基于Fisher变换指标的动量信号,Fisher变换将价格数据转换为近似正态分布,从而更清晰地识别价格拐点。入场条件为:当指标上轨(UpValue)在指定信号K线上产生非零且非空值时开多仓,当指标下轨(DnValue)产生非零且非空值时开空仓。出场条件包括:固定点数的止损和止盈(默认1000点止损和2000点止盈),以及反向信号触发的平仓——当持有多仓时出现下轨信号则平多仓,持有空仓时出现上轨信号则平空仓。仓位管理支持五种模式:基于可用保证金、余额、亏损后可用保证金、亏损后余额和固定手数。EA还实现了新K栏检测机制以避免重复交易,并在反向信号未触发平仓时会回溯历史K栏寻找之前的平仓信号,这是一个相对独特的逻辑设计。
优势
- 策略逻辑清晰,基于Fisher变换的动量信号具有良好的统计学理论基础,能有效识别价格拐点
- 资金管理模式丰富,提供五种不同的仓位计算方式,适应不同风险偏好和账户规模
- 实现了新K栏检测机制(CIsNewBar),避免在同一根K线上重复开仓,减少过度交易风险
- 支持独立控制开仓和平仓的开关,灵活性高,可以仅使用信号平仓而用其他方式开仓
劣势
- 缺少持仓检查逻辑,在已有同方向持仓时仍会重复开仓,可能导致仓位叠加过大
- ATR_Period变量未声明为input类型,无法在策略测试器中进行优化,属于代码缺陷
- 止损和止盈使用固定点数而非基于ATR的动态计算,无法适应不同波动率环境
- 回溯扫描历史K线寻找平仓信号的逻辑可能在数据量大时造成性能问题,且没有设置合理的回溯上限
- 缺少点差过滤,在高点差环境下可能频繁触发止损或开仓失败
改进建议
- 添加持仓检查逻辑,在开仓前检测是否已有同方向持仓,避免重复开仓导致风险暴露过大
- 将ATR_Period改为input类型以便策略优化,并考虑使用ATR动态计算止损止盈点数以适应市场波动率变化
- 添加点差过滤和最大持仓限制,提高在不同市场条件下的鲁棒性
风险评估
总体风险: 中等
- 缺少持仓检查可能导致同方向仓位叠加,增加风险暴露
- 固定点数止损止盈无法适应波动率变化,低波动时止损可能过大,高波动时止盈难以达到
- 回溯扫描历史K线逻辑没有上限控制,极端情况下可能导致性能问题或意外信号匹配
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理比例或手数值 |
MMMode | LOT | 资金管理模式(可用保证金/余额/亏损后保证金/亏损后余额/固定手数) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点 |
BuyPosOpen | true | 是否允许开多仓 |
SellPosOpen | true | 是否允许开空仓 |
BuyPosClose | true | 是否允许信号平多仓 |
SellPosClose | true | 是否允许信号平空仓 |
InpInd_Timeframe | PERIOD_H4 | 指标计算的时间周期 |
ATR_Period | 14 | ATR周期(用于指标归一化) |
Length | 7 | Fisher变换的回溯周期长度 |
IPC | PRICE_CLOSE_ | 应用于指标计算的 价格类型 |
UpLevel | +1.5 | 上轨超买水平阈值 |
DnLevel | -1.5 | 下轨超卖水平阈值 |
SignalBar | 1 | 用于读取信号的K线序号(0=当前K线,1=前一根已完成的K线) |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。