Exp_TSI_MACD
该EA基于自定义TSI_MACD指标的交叉信号进行交易,该指标结合了真实强度指数(TSI)平滑与MACD式信号线逻辑。当指标线上穿信号线时开多仓,下穿时开空仓,支持可配置的仓位管理、止损和止盈。入场和出场由独立的布尔开关控制,允许灵活的信号过滤。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | +8.58% | +7.42% | 1.95% | 112 | 51.80% | 1.80 | 4.40 | 5 | +$7.66 | 可靠 |
| GBPUSD | +5.82% | +5.03% | 3.93% | 113 | 53.60% | 0.94 | 1.48 | 4 | +$5.46 | 可靠 |
| USDJPY | -7.76% | -6.78% | 8.80% | 115 | 46.50% | -1.57 | -0.88 | 5 | −$6.87 | 可靠 |
| XAUUSD | -92.64% | -88.42% | 96.75% | 106 | 41.50% | -1.36 | -0.96 | 6 | −$87.40 | 账户爆仓 |
在 4 个有可信结果的品种中,2 个盈利。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
和同类(动量)在同一品种上有可信结果的 EA 相比:EURUSD 好于 97%(共 68 个);GBPUSD 好于 92%(共 66 个);USDJPY 好于 4%(共 68 个);XAUUSD 好于 28%(共 75 个)
按月看
| 品种 | 盈利月份占比 | 最好的月份 | 最差的月份 |
|---|---|---|---|
| EURUSD | 69% | +2.70% 2026-03 | -0.96% 2025-11 |
| GBPUSD | 54% | +2.48% 2026-04 | -1.24% 2026-03 |
| USDJPY | 38% | +0.94% 2026-03 | -2.88% 2026-09 |
| XAUUSD | 31% | +105.46% 2026-07 | -91.32% 2026-08 |
根据回测净值曲线计算(约每两天一个点),只统计可信结果。
爆仓风险: 高
- 在我们的回测中爆仓(净值跌破 10%):XAUUSD
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略核心是基于TSI_MACD指标的动量交叉系统。TSI(True Strength Index)是一种双重平滑动量指标,通过对价格动量进行两次平滑处理来减少噪音,然后用MACD式的信号线交叉产生交易信号。入场条件为:指标线Ind上穿信号线Sign时开多仓,Ind下穿Sign时开空仓,交叉判断通过比较相邻两根K线的Ind和Sign值大小关系实现。出场条件包括:反向交叉信号触发平仓(多仓在Ind下穿Sign时平仓,空仓在Ind上穿Sign时平仓),以及固定的StopLoss和TakeProfit止盈止损。仓位管理支持多种模式:按自由保证金比例、按余额比例、按净损保证金比例、按净损余额比例,以及固定手数模式。资金管理参数MM控制仓位比例,默认0.1即10%。策略使用IsNewBar机制确保每个K线只计算一次信号,避免重复开仓。
优势
- 使用TSI双重平滑动量指标,相比原始MACD噪音更少,信号更稳定
- 入场和出场信号独立控制,可以只启用开仓或平仓,灵活性高
- 采用IsNewBar机制避免同一K线内重复计算和重复开仓,逻辑严谨
- 支持10种平滑算法选择,策略可定制性强
- 有Recount机制处理指标数据未就绪的情况,增强了健壮性
劣势
- 止损1000点和止盈2000点设置过大,在非大周期或低波动品种上可能导致风险过高或资金利用率低
- 缺少点差过滤和波动率过滤,在高点差或低波动环境下容易产生虚假信号
- 没有多空仓位互斥检查,可能同时持有多空仓位形成对冲,浪费保证金
- 依赖自定义外部指标TSI_MACD和外部头文件,部署依赖较多,不利于移植
- SignalBar=1使用已完成K线信号,但交叉检测逻辑要求比较[1]和[0]两根bar,实际延迟可能大于预期
改进建议
- 增加点差过滤和ATR自适应止损止盈,根据市场波动率动态调整风险参数
- 增加持仓方向检查,避免同时持有多空仓位,或至少提供可选的对冲模式开关
- 增加指标数据有效性校验和错误重试机制,提升在指标加载失败时的容错能力
风险评估
总体风险: 中等
- 止损止盈为固定点数而非ATR自适应,在不同波动率环境下风险敞口不一致
- 缺少点差过滤,高点差品种上可能因滑点导致实际亏损大于预期
- 多空仓位可同时持有形成隐性对冲,占用双倍保证金但不一定有对冲意图
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理比例参数 |
MMMode | LOT | 仓位计算模式(自由保证金/余额/净损保证金/净损余额/固定手数) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大滑点容忍度(点数) |
BuyPosOpen | true | 是否允许开多仓 |
SellPosOpen | true | 是否允许开空仓 |
BuyPosClose | true | 是否允许平多仓 |
SellPosClose | true | 是否允许平空仓 |
InpInd_Timeframe | PERIOD_H4 | 指标计算时间周期 |
XMA_Method | MODE_EMA | 平滑算法类型(SMA/EMA/SMMA/LWMA/JJMA/JurX/ParMA/T3/VIDYA/AMA) |
XFast | 8 | 快速平滑周期 |
XSlow | 21 | 慢速平滑周期 |
MomPeriod | 1 | 动量周期 |
XLength1 | 5 | 第一层平滑周期 |
XLength2 | 8 | 第二层平滑周期 |
XLength3 | 5 | 信号线平滑周期 |
XPhase | 15 | 平滑相位参数(JJMA/VIDYA/AMA适用) |
IPC | PRICE_CLOSE | 应用价格类型 |
SignalBar | 1 | 信号计算K线索引(0=当前bar,1=前一根完成bar) |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。