EA-15219 · 动量

Exp_LeManSignal

该EA使用自定义LeManSignal指标根据动量方向产生买入和卖出信号。它在新K线事件上开仓和平仓,具有可配置的资金管理、止损和止盈。EA包含互斥信号消除逻辑,并在同时允许开仓和平仓时扫描历史K线以确定平仓信号。

打开交互版(权益曲线、切换品种)

基本信息

分类动量
风险中等
爆仓风险低
评分★★☆☆☆
类型交易型 EA
周期H4
指标LeManSignal
作者—

回测结果(H1,约 1 年)

品种盈亏年化最大回撤交易数胜率夏普恢复因子最长连亏每笔期望状态
EURUSD0.00%0.00%0.00%0—————暂不支持转换
GBPUSD0.00%0.00%0.00%0—————暂不支持转换
USDJPY0.00%0.00%0.00%0—————暂不支持转换
XAUUSD0.00%0.00%0.00%0—————暂不支持转换

这个 EA 从未交易的原因:转换后没有留下任何开仓规则。

由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。

爆仓风险: 未发现爆仓模式

代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。

高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →

策略分析

策略概念基于LeManSignal自定义指标的动量信号,该指标通过可调节的周期参数(LPeriod=12)计算多空方向。入场条件为:当指标上轨(UpValue)在指定信号K线上产生非空值时做多,当指标下轨(DnValue)产生非空值时做空。出场条件有两种方式:一是反向信号触发平仓(如持仓多单时出现下轨信号),二是在同时允许开仓和平仓的情况下,通过扫描历史K线寻找最早的反向信号作为平仓依据。仓位管理采用MM参数控制,负值表示固定手数,正值表示基于资金的百分比计算手数。资金管理通过TradeAlgorithms.mqh库中的BuyPositionOpen/SellPositionOpen函数实现,配合止损(1000点)和止盈(2000点)参数进行风险控制。EA还实现了多空信号同时出现时的互相取消机制,避免在矛盾信号下开仓。

优势

  • 具有完整的买卖开仓和平仓独立控制开关,灵活性高
  • 实现了多空信号互斥取消机制,避免矛盾信号同时开仓
  • 使用IsNewBar进行信号检测,避免同一根K线内重复交易
  • 止损止盈参数齐全,基本风险控制到位
  • 历史K线扫描逻辑为平仓提供了更细致的判断依据

劣势

  • LeManSignal指标为自定义黑盒指标,核心逻辑不透明,难以验证信号有效性
  • 历史K线扫描平仓逻辑可能遍历大量K线,存在性能风险且缺乏遍历上限保护
  • 缺乏点差过滤,在波动市场可能因高滑点造成不利成交
  • MM参数为负值表示固定手数的设计不够直观,容易误操作
  • 没有持仓检查逻辑,可能在已有同方向仓位时重复开仓

改进建议

  • 添加持仓检查逻辑,避免同方向重复开仓
  • 为历史K线扫描添加最大遍历K线数限制,防止无限循环

风险评估

总体风险: 中等

  • 缺乏持仓检查可能导致同方向重复开仓,增加风险敞口
  • 历史K线遍历无上限保护,在数据量大的情况下可能导致EA卡顿

评估得分

代码质量3.0
策略逻辑3.0
风险管理3.0
稳健性2.0
创新性2.0
文档1.0
综合2.3

参数

参数默认值说明
MM-0.1资金管理参数,负值为固定手数,正值为账户资金百分比
StopLoss_1000止损点数
TakeProfit_2000止盈点数
Deviation_10最大允许滑点
BuyPosOpentrue是否允许做多开仓
SellPosOpentrue是否允许做空开仓
BuyPosClosetrue是否允许做多平仓
SellPosClosetrue是否允许做空平仓
InpInd_TimeframePERIOD_H4LeManSignal指标时间周期
LPeriod12LeManSignal指标周期参数
SignalBar1用于检测信号的K线编号

同类 EA:动量

回测是历史模拟,不代表未来收益,不构成投资建议。

订阅每周 Arena 周报

每周一封邮件:排名变化、新信号和新研究。不发垃圾邮件,随时可以退订。