EA-1108 · 机器学习

SelfLearningExperts

该EA使用基于虚拟交易的自学习算法,将价格走势编码为二进制模式并估计方向性概率。它追踪多种delta参数下的价格运动模式,通过虚拟交易学习哪些模式预示上涨或下跌,仅在学到概率超过可配置阈值时才开真实仓位。遗忘因子确保模型能适应不断变化的市场环境。

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

基本信息

风险中等
爆仓风险低
评分★★★☆☆
类型交易型 EA
周期M15, H1, H4
指标Price Action Pattern, Binary Pattern Encoding, Virtual Trade Probability
作者Integer

回测结果(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 都可能亏钱。

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

策略分析

策略概念是基于二进制价格模式的在线学习:将最近NN根K线的价格变化方向编码为0/1二进制序列,再通过位运算转化为唯一模式编号。入场条件为:当某一模式在虚拟交易中累计的上涨概率(PowerUp)或下跌概率(PowerDn)超过Probab阈值(默认0.8),且该模式的虚拟交易次数超过10次时,分别开多或开仓。出场条件包括:止损/止盈触发(与虚拟交易的stop参数一致)、概率反转信号(当前概率比上次保存的概率高0.05以上时平仓)、以及盈利超过半个dstop时的部分平仓信号。仓位管理使用固定手数(Lots参数),止损和止盈相等,由dstop和Nstop参数决定具体点数。资金管理方面没有动态仓位调整,不使用马丁格尔或网格策略,仅有可选的移动止损(Trailing)和止损替换功能(ReplaceStops)。

优势

  • 自学习机制无需预定义指标,通过虚拟交易自动发现有效的价格模式
  • 遗忘因子(forg)使模型能适应市场状态变化,避免过时模式干扰
  • 多种delta参数和止损参数组合提供多维度的模式识别和风险管理
  • 概率阈值和最小交易次数要求过滤了低置信度信号
  • 支持学习历史的保存与加载,可实现跨会话的持续学习

劣势

  • 固定手数缺乏动态仓位管理,无法根据账户风险或波动率调整仓位大小
  • 二进制模式编码丢失了价格幅度信息,仅保留方向信息,信息损失较大
  • 大型三维数组(5000x30x3)消耗大量内存且大部分可能未使用,效率低下
  • 虚拟交易仅使用Ask价格评估,未考虑点差和滑点对实际交易的影响
  • 文件读写缺乏错误处理,文件不存在或读取失败时可能导致崩溃
  • TimeToUpdate函数使用2倍周期作为冷却时间,在高波动时可能错过交易机会

改进建议

  • 引入动态仓位管理,基于账户权益和ATR波动率计算手数,实现更科学的资金管理
  • 在二进制模式基础上增加价格幅度特征(如变化百分比),提升模式识别的信息量和准确性
  • 为所有文件操作添加错误检查和异常处理,并在ReadProbFromFile中处理文件不存在的情况

风险评估

总体风险: 中等

  • 文件操作无错误处理,文件损坏或缺失可能导致EA异常
  • 虚拟交易与真实交易存在点差和滑点差异,实盘表现可能与学习结果偏差
  • 固定手数无风险调整机制,在小账户或高波动时可能过度暴露
  • StopInPointsParameter数组大小为3但Nstop可达更大值,存在数组越界风险

评估得分

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

参数

参数默认值说明
ReadHistoryfalse是否读取已保存的学习历史文件
SaveHistoryfalse是否保存学习历史,测试结束时或账户运行时定期保存
Lots0.1固定交易手数
Nidelt20不同模式参数(delta)的数量
Nstop1虚拟仓位的止损/止盈参数组数
dstop250止损/止盈步进变化点数
forg1.05遗忘率,略大于1,控制旧数据衰减速度
Probab0.8开仓概率阈值,虚拟交易学习到的概率需超过此值
NN10模式长度(最近NN根K线),最大12
delta1模式参数delta的步进值
ReplaceStopsfalse是否用新信号替换止损/止盈,仅沿仓位方向移动
Trailing0移动止损点数,0表示关闭

同类 EA:机器学习

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

订阅每周 Arena 周报

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