Exp_TEMA
这是一个多货币智能交易系统,利用TEMA(三重指数移动平均线)指标同时交易最多12个货币对。当TEMA斜率从负转正时产生买入信号,从正转负时产生卖出信号,并在反向斜率信号时平仓。每个货币对独立运行,拥有各自可配置的周期、止损、止盈和手数参数。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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 从未交易的原因:开仓条件要求一次不可能发生的交叉(比如基于价格的指标穿越 0)。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 未发现爆仓模式
代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
该EA使用三重指数移动平均线(TEMA)作为核心趋势跟踪指标。入场条件为:当TEMA斜率从正转负时触发卖出信号(DnSignal),当TEMA斜率从负转正时触发买入信号(UpSignal),具体通过比较相邻两根K线的TEMA差值(dtema1和dtema2)的正负变化来判断。出场条件为:当TEMA斜率为正时触发多头止盈/止损信号(UpStop),当斜率为负时触发空头止盈/止损信号(DnStop),同时也设置了固定点数的止损和止盈。仓位管理方面,每个货币对使用固定手数(默认0.1手),没有动态仓位调整或资金管理逻辑。该EA仅在新K线开始时计算信号(IsNewBar检查),避免逐tick重复交易。支持最多12个货币对同时运行,每个货币对有独立的指标句柄和状态数组。然而,该策略缺乏对市场波动性、点差和交易时间过滤的考量,止损止盈使用固定点数而非根据ATR等动态调整。
优势
- 多货币对同时运行,分散单一货币对风险,提高交易机会
- 使用TEMA指标比普通EMA响应更快、滞后更小,更适合趋势跟踪
- 仅在出新K线时计算信号,避免逐tick重复交易,逻辑清晰
- 每个货币对参数独立可配置,灵活性较高
- 有止损止盈保护,且会检查品种的最小止损水平(stoplevel)
劣势
- 固定手数无资金管理,无法根据账户余额动态调整仓位大小
- 止损止盈使用固定点数而非动态计算(如ATR),不同货币对波动性差异大
- 没有点差过滤,高波动或低流动性时段可能因大点差导致不利成交
- 使用ORDER_FILLING_FOK填充模式,部分经纪商不支持,可能导致订单被拒
- 代码大量重复,12个货币对的参数和调用均为手动复制,维护性差
- PositionSelect仅按symbol选择,在hedging账户下可能出错
改进建议
- 引入动态资金管理模块,根据账户余额和风险百分比自动计算仓位大小
- 使用ATR或波动率指标动态调整止损止盈,替代固定点数,适应不同货币对的波动特性
- 添加点差过滤和交易时段过滤,避免在高点差或低流动性时段交易
- 将重复的货币对参数重构为结构体数组,使用循环处理,大幅提升代码可维护性
- 支持多种订单填充模式(IOC/Return),自动检测经纪商支持的填充类型
风险评估
总体风险: 中等
- 固定止损止盈未考虑不同货币对的波动性差异,可能导致频繁止损或止盈过远
- 无点差过滤,在市场波动大或流动性差时可能因大点差产生不利入场
- ORDER_FILLING_FOK硬编码可能导致某些经纪商拒绝订单
- PositionSelect按symbol选择在hedging账户下存在多仓位选择错误风险
- 无交易时段过滤,可能在市场休盘或低流动性时段发出交易信号
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
Symb0-Symb11 | EURUSD,USDCHF,USDJPY,USDCAD,AUDUSD,AUDNZD,AUDCAD,AUDCHF,AUDJPY,GBPUSD,GBPJPY,EURJPY | 12个货币对名称 |
Trade0-Trade11 | true | 各货币对是否启用交易 |
Per0-Per11 | 15 | TEMA指标周期 |
ApPrice0-ApPrice11 | PRICE_CLOSE | TEMA应用价格类型 |
StLoss0-StLoss11 | 1000 | 止损点数 |
TkProfit0-TkProfit11 | 2000 | 止盈点数 |
Lots0-Lots11 | 0.1 | 交易手数 |
Slippage0-Slippage11 | 30 | 允许滑点 |
同类 EA:趋势跟踪
回测是历史模拟,不代表未来收益,不构成投资建议。