TradeChannel (GO)
该EA计算一个名为GO的复合动量指标,由多条均线(收盘价、开盘价、最高价、最低价)的偏差加权求和后乘以成交量得出。当GO值超过设定的正阈值时开多仓,低于负阈值时开空仓,当GO值反向穿越平仓阈值时平仓。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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 从未交易的原因:转换后没有留下任何开仓规则。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 未发现爆仓模式
- 没有止损,也没有移动止损
单独这一点不算典型的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略核心是GO指标,公式为GO=((C-O)+(H-O)+(L-O)+(C-L)+(C-H))*V,其中C、O、H、L分别为收盘价、开盘价、最高价、最低价的移动平均值,V为信号K线的成交量。该公式本质上是衡量价格相对于开盘价的偏移程度以及收盘价相对于高低价的偏向,再乘以成交量进行加权,从而捕捉带成交量确认的动量信号。入场条件为GO>OpenLevel时买入,GO<-OpenLevel时卖出,OpenLevel默认为0即任何正值开多、负值开空。出场条件为持多仓时GO<(OpenLevel-CloseLevelDif)平多,持空仓时GO>-(OpenLevel-CloseLevelDif)平空。仓位管理支持固定手数和基于自由保证金的风险比例计算两种模式。止损止盈参数默认为0即不设止损止盈,这是该策略的显著风险缺陷。资金管理通过MaximumRisk参数按账户自由保证金的百分比动态计算手数,并进行了手数标准化处理。
优势
- GO指标综合了价格多个维度的偏移和成交量确认,比单一指标更具信息量
- 支持基于风险比例的动态仓位计算,具备基本资金管理框架
- 使用已完成K线(Shift=1)作为信号源,避免未完成K线的反复信号
劣势
- 止损止盈默认为0,持仓完全没有保护,极端行情下可能遭受巨大亏损
- 卖单建仓时错误地调用了SolveBuySL和SolveBuyTP而非SolveSellSL和SolveSellTP,这是严重的代码bug
- GO指标公式中(C-L)+(C-H)与(C-O)等项存在数学冗余,展开后等价于3C-2O-L,含义不够直观
- 没有回撤控制、最大持仓限制或连续亏损保护机制
改进建议
- 修复卖单部分调用错误的SL/TP函数,应使用SolveSellSL和SolveSellTP
- 添加非零默认止损止盈参数,并增加移动止损功能以保护利润
- 简化GO公式或重新定义使其经济含义更清晰,并添加信号过滤条件(如趋势确认、波动率过滤)
风险评估
总体风险: 高风险
- 止损止盈默认为0,持仓无任何保护,单笔亏损无上限
- 卖单SL/TP计算函数调用错误,可能导致止损设在错误方向
- 无最大回撤限制、无日亏损限制、无连续亏损保护
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
Lots | 0.1 | 固定手数,为0时使用动态计算 |
MaximumRisk | 0.05 | 风险比例,当Lots=0时按自由保证金的该比例计算手数 |
Shift | 1 | 指标检查的K线偏移:0为当前未完成K线,1为最近已完成K线 |
MAPeriod | 174 | 移动平均线周期 |
MAShift | 0 | 移动平均线偏移 |
MAMethod | MODE_EMA | 移动平均线方法 |
VolVolume | VOLUME_TICK | 成交量类型(跳价成交量或真实成交量) |
OpenLevel | 0 | 开仓阈值,GO大于该值开多,小于负该值开空 |
CloseLevelDif | 0 | 平仓阈值与开仓阈值的差值,正值使平仓阈值低于开仓阈值 |
ShowGO | true | 是否在图表注释中显示GO值 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。