CCI MACD Scalper
该EA是一种剥头皮策略,结合CCI零线交叉信号、MACD柱状图交叉确认以及EMA34趋势过滤来产生买入/卖出入场信号。它基于账户余额百分比的固定风险回报比进行仓位计算,并使用近期摆动高低点设置止损。还包含可选的移动止损和部分获利平仓机制。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | -3.52% | -3.06% | 8.84% | 1 | 0.00% | — | — | — | — | 与其他 EA 结果相同 |
| GBPUSD | +2.68% | +2.32% | 6.56% | 1 | 0.00% | — | — | — | — | 与其他 EA 结果相同 |
| USDJPY | -2.68% | -2.33% | 7.60% | 1 | 0.00% | — | — | — | — | 与其他 EA 结果相同 |
| XAUUSD | -8.50% | -7.07% | 66.13% | 1 | 0.00% | — | — | — | — | 与其他 EA 结果相同 |
这个 EA 在每个品种上的回测都和 EA-1812 一模一样。几乎可以肯定是自动转换丢掉了它与众不同的部分(自定义指标、过滤条件或资金管理),所以这些结果不参与排名和统计。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 未发现爆仓模式
代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
该策略的核心概念是利用CCI指标从超买/超卖区域穿越零线时产生的动量反转信号,同时要求MACD柱状图也出现相应的交叉确认,以确保多指标共振入场。入场条件方面,做多要求价格在EMA34上方(趋势过滤)、CCI从负值穿越到正值(动量反转)、MACD柱状图在零轴下方发生金叉(确认);做空则反之。出场条件包括基于近期5根K线最低/最高价的止损、基于风险回报比计算的目标价,以及可选的移动止损机制(首次移动时平半仓锁定部分利润)。仓位管理使用基于账户风险百分比和止损距离的动态手数计算,并考虑了手数步长和最大成交量限制。资金管理方面,用户可设定每笔交易承担账户余额的2%风险,止损距离过小时拒绝开仓,这提供了一定的保护。
优势
- 多指标共振入场(CCI+MACD+EMA),减少假信号
- 基于账户风险百分比的动态仓位计算,风险可控
- 设置最小止损距离限制,避免过小止损被噪音扫出
劣势
- 移动止损使用NormalizeDouble(sl, SYMBOL_TRADE_TICK_SIZE)是错误的,第二参数应为位数而非价格值
- 未检查CopyBuffer返回值,指标数据可能无效导致错误交易
- 做多的takeProfit计算错误:bid + riskReward * (bid - stopLoss)对于卖出应为bid - riskReward * (stopLoss - bid),代码中第145行用了加号而非减号
- timePassed标志在定时器到期后永久重置为true,但EventSetTimer未在OnDeinit中用EventKillTimer清理
- 没有点差过滤,剥头皮策略在高点差环境下可能亏损
改进建议
- 修复takeProfit计算bug和NormalizeDouble误用,添加CopyBuffer返回值检查
- 添加点差过滤和OnDeinit中的EventKillTimer清理
- 移动止损逻辑应基于ATR或固定点数跟踪,而非简单加减固定单位
风险评估
总体风险: 需谨慎
- 剥头皮策略无点差过滤,高点差环境下止损可能不够覆盖点差成本
- takeProfit计算存在bug,卖出订单的止盈可能设置错误导致亏损
- 移动止损NormalizeDouble误用可能导致止损设置失败
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
magicNumber | 0 | 魔术编号,用于标识EA订单 |
accountRisk | 2 | 每笔交易的账户风险百分比 |
riskReward | 1.5 | 风险回报比 |
emaPeriod | 34 | EMA周期,用于趋势过滤 |
cciPeriod | 50 | CCI指标周期 |
minHour | 0 | EA开始交易的小时 |
maxHour | 24 | EA停止交易的小时 |
minimalStopLoss | 100 | 最小止损点数要求 |
useTrailingStop | false | 是否使用移动止损 |
tslPoints | 100 | 移动止损点数 |
同类 EA:剥头皮
回测是历史模拟,不代表未来收益,不构成投资建议。