EA-19940 · 趋势跟踪
SAR RSI MTS
该EA结合抛物线SAR方向变化与RSI动量确认,在新K线形成时生成趋势跟踪交易信号。当SAR翻转到价格下方且RSI上穿50时开多仓,当SAR翻转到价格上方且RSI下穿50时开空仓。仓位管理使用固定保证金风险百分比,并对持仓进行移动止损管理。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
策略概念:该EA是一个典型的趋势跟踪系统,利用Parabolic SAR判断趋势方向翻转,同时用RSI作为动量过滤器确认趋势强度。入场条件:做多需满足四个条件——前一根SAR值低于收盘价(SAR在价格下方)、SAR值从前一根到当前根递增(确认SAR翻转向上追踪趋势)、当前RSI大于50(多头动量确认)、当前RSI大于前一根RSI(动量增强确认);做空条件对称相反。出场条件:采用固定止损和止盈(10点止损/40点止盈),以及移动止损(15点跟踪止损+5点步进),当价格朝有利方向移动超过跟踪止损加步进距离时调整止损。仓位管理:使用CMoneyFixedMargin类根据风险百分比(默认1%)和可用保证金计算开仓手数,同时通过CTrade.CheckVolume进行预检以避免资金不足错误。资金管理:最多允许同时持有6个同策略仓位,止损止盈均以点数输入并自动适配3/5位报价。移动止损对多空仓位分别处理,确保止损只朝有利方向移动。
优势
- SAR与RSI双重确认减少假信号,逻辑清晰合理
- 使用固定保证金风险百分比进行仓位计算,资金管理较为规范
- 移动止损机制能锁定浮盈,保护已有利润
- 新K线检测避免同一K线内重复开仓,减少过度交易
- 最多6个持仓限制提供了一定的仓位上限控制
劣势
- 止损仅10点偏小,在H1周期上容易因市场噪音被扫损
- 止盈止损比率为4:1虽然合理,但10点止损在高波动品种上几乎必被触发
- 缺少点差过滤,在点差较大的品种上开仓可能立即处于亏损
- SAR在震荡市中频繁翻转会产生大量假信号导致连续亏损
- CompareDoubles使用m_symbol.Digits()对RSI比较不合理,RSI是0-100的值而Digits是价格精度
- 6个同时持仓可能导致在震荡行情中积累大量反向仓位
改进建议
- 修复CompareDoubles对RSI的比较逻辑,应使用固定小数位(如2位)而非价格Digits来比较RSI值
- 增加点差过滤和震荡市识别(如ADX过滤),避免在不利条件下开仓
- 止损点数应根据ATR动态计算,而非固定点数,以适应不同波动环境
风险评估
总体风险: 中等
- 止损过小(10点)在H1周期上极易被扫损,导致频繁小额亏损
- CompareDoubles函数对RSI的比较精度使用价格Digits存在逻辑缺陷,可能导致信号判断错误
- 缺少点差过滤,高点差环境下开仓成本侵蚀利润
- 6个同时持仓在震荡市中可能累积较大风险敞口
评估得分
代码质量3.0
策略逻辑3.0
风险管理3.0
稳健性3.0
创新性2.0
文档2.0
综合2.7
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
InpStopLoss | 10 | 止损点数 |
InpTakeProfit | 40 | 止盈点数 |
InpTrailingStop | 15 | 移动止损点数 |
InpTrailingStep | 5 | 移动止损步进点数 |
Risk | 1 | 每笔交易风险占可用保证金百分比 |
m_magic | 16752152 | 魔术编号,用于标识本策略持仓 |
SAR_step | 0.05 | SAR加速因子步长 |
SAR_maximum | 0.5 | SAR加速因子最大值 |
RSI_ma_period | 14 | RSI平均周期 |
RSI_applied_price | PRICE_CLOSE | RSI应用价格类型 |
同类 EA:趋势跟踪
回测是历史模拟,不代表未来收益,不构成投资建议。