CoensioTrader1V06
该EA基于布林带均值回归信号并结合DEMA趋势方向确认,可同时交易多达6个货币对。在上升趋势中价格刺破布林带下轨后反转向上时买入,在下降趋势中价格刺破布林带上轨后反转向下时卖出。包含权益止盈、移动止损、优化数据挖掘及远程服务器验证功能。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | +1.60% | +1.39% | 6.09% | 142 | 51.80% | 0.38 | 0.26 | 7 | +$0.90 | 可靠 |
| GBPUSD | -3.17% | -2.76% | 9.93% | 142 | 47.50% | -0.52 | -0.32 | 6 | −$2.08 | 可靠 |
| USDJPY | +8.05% | +6.96% | 3.37% | 142 | 59.60% | 1.47 | 2.39 | 5 | +$5.60 | 可靠 |
| XAUUSD | -93.28% | -89.25% | 95.61% | 37 | 48.60% | -1.56 | -0.98 | 5 | −$252.10 | 账户爆仓 |
在 4 个有可信结果的品种中,2 个盈利。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
和同类(均值回归)在同一品种上有可信结果的 EA 相比:EURUSD 好于 70%(共 30 个);GBPUSD 好于 34%(共 32 个);USDJPY 好于 97%(共 32 个);XAUUSD 好于 10%(共 31 个)
按月看
| 品种 | 盈利月份占比 | 最好的月份 | 最差的月份 |
|---|---|---|---|
| EURUSD | 46% | +1.79% 2026-01 | -1.62% 2026-10 |
| GBPUSD | 54% | +2.86% 2026-01 | -3.07% 2026-08 |
| USDJPY | 69% | +3.92% 2026-08 | -1.80% 2026-09 |
| XAUUSD | 15% | +24.91% 2025-12 | -89.20% 2026-02 |
根据回测净值曲线计算(约每两天一个点),只统计可信结果。
爆仓风险: 高
- 在我们的回测中爆仓(净值跌破 10%):XAUUSD
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念是基于布林带的均值回归交易,当价格触及布林带上下轨后回归均值时入场,同时利用DEMA(双指数移动平均线)判断大周期趋势方向作为过滤条件。入场条件为:买入信号需满足前一根K线开盘价低于下轨且收盘价高于下轨(穿回带内)、前一根低点高于再前一根低点(更高低点)、更前一根低点低于再前一根低点(更低低点,即双重底形态),且DEMA呈上升趋势;卖出信号为对称逻辑。出场条件包括固定止盈止损、权益止盈(当权益超过平衡的指定倍数时平掉所有仓位)、移动止损以及信号反向平仓。仓位管理支持三种模式:按风险百分比计算手数、固定手数、按权益与除数比例计算手数。资金管理方面,风险可控但存在不足,如未设置最小止损距离、无点差过滤、且依赖远程服务器验证的代码已过时。
优势
- 多货币对同时交易能力,最多支持6个货币对,分散风险
- 结合布林带均值回归与DEMA趋势过滤,避免逆势交易
- 多种仓位管理模式(风险百分比、固定手数、权益比例),灵活适应不同需求
- 包含权益止盈机制,防止浮盈回吐
- 支持优化数据挖掘和远程结果上传,便于策略回测分析
劣势
- 每次BarLogic调用都重新创建指标句柄(iBands、iDEMA),造成严重资源泄漏和性能问题
- 使用已废弃的MQL4函数如MarketInfo()、StrToDouble()、DoubleToStr(),兼容性差
- 依赖远程服务器验证(coensio.com已失效),EA可能无法启动
- 缺少点差过滤、最大持仓限制和滑点保护,在剧烈行情下风险较大
- 硬编码的URL和访问码存在安全隐患,且版权保护逻辑有误(判断用户名为coensio时反而拒绝)
改进建议
- 将指标句柄创建移至Init()函数中,BarLogic()仅负责CopyBuffer读取数据,避免资源泄漏
- 移除远程服务器验证和wininet.dll依赖,替换为本地许可证验证机制
- 添加点差过滤、最大持仓数量限制和新闻事件时间过滤,提高策略稳健性
- 将所有废弃的MQL4函数替换为MQL5标准函数,修复EACheck中的逻辑反转错误
风险评估
总体风险: 需谨慎
- 指标句柄在每次新K线时重新创建,可能导致内存泄漏和终端崩溃
- 远程服务器验证依赖失效网站,EA可能无法初始化
- 无点差过滤,在流动性差的时段可能以极大滑点入场
- EACheck中用户名验证逻辑反转,默认用户名反而被拒绝
- PositionSelect按symbol选择可能误选其他EA的同品种仓位
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
UserName | coensio | 用户名,用于标识和远程验证 |
TimeFrame | PERIOD_H1 | 基础时间周期 |
NumOfCurrencies | 1 | 交易货币对数量,1到6 |
MarketWatchTimer | 60 | EA循环定时器间隔(秒) |
EquityTakeProfit | 1.2 | 权益止盈倍数,权益超过平衡的此倍数时平仓 |
RiskMax | 0 | 最大风险百分比,0则使用固定手数 |
LotSize | 0 | 固定手数,0则按权益比例计算 |
LotBalanceDivider | 1000000 | 权益除数,用于按权益比例计算手数 |
TrailingStopLossStep | 10 | 移动止损步长(点),0则禁用 |
CloseOnSignal | false | 是否在出现反向信号时平仓 |
Slip | 3 | 滑点容忍度(点) |
TakeProfitPips1-6 | 250/300/100/200/100/300 | 各货币对止盈点数 |
StopLossPips1-6 | 100/200/150/100/150/200 | 各货币对止损点数 |
BPeriod1-6 | 30/40/10/40/50/30 | 各货币对布林带周期 |
BShift1-6 | 1 | 各货币对布林带偏移 |
BDeviation1-6 | 1.5/2/2/2/1.5/1 | 各货币对布林带偏差倍数 |
DemaTimeFrame1-6 | PERIOD_D1 | 各货币对DEMA时间周期 |
DemaPeriod1-6 | 20/40/20/40/10/10 | 各货币对DEMA周期 |
同类 EA:均值回归
回测是历史模拟,不代表未来收益,不构成投资建议。