欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

SelfLearningExperts - MetaTrader 5 专家

author emer | 390 人阅读 | 0 人评论 |

SelfLearningExperts - expert for MetaTrader 5

作者从 MQL4 重写了 Expert AdvisorLSV,链接到来源 -https://www.mql5.com/ru/code/9431

EA 交易适用于价格变动,无论其在什么时间范围内工作。通过平均当前市场价格的价格模式正在形成。形成具有不同参数的多种图案。 Nidelt 变量中设置的模式数。对于第一个模式,使用 dstop 参数,对于第二个模式,使用 dstop*2,依此类推到 dstop*N,其中 N - 是模式数。如果价格变为 dstop*N 值,则捕获形态的新点。最新的点被删除,因此模式具有固定长度的 Nidelt 点。模式的设置值越多,它捕获的历史就越深。因此,市场同时被追踪到不同的历史深度。

当某些模式发生变化(市场情况发生变化)时,虚拟头寸就会被打开。这里的任务是将仓位与明确的市场情况联系起来。它的产生方式如下:将价格值序列码表示的形态转为二进制序列,如果某一点的值高于前一个值,则为 1,否则为 0。在此序列中计算唯一的形态编号(即二进制数转换为十进制数)。

它可以开设一到三个虚拟仓位,并设有单独的止损/止盈,每个仓位的止损和止盈值相同。止损/止盈值由 dstop 参数定义,一个仓位使用 dstop*1,另一个仓位使用 dstop*2,等等。如果价格在止损/止盈概率值上上涨,它将为该形态的可能上涨增加值,如果下跌 - 它将增加下跌的概率值。其虚拟仓位针对三种模式中的每一种而开立:模式参数、模式编号(其形式)以及止损/止盈的每个值。还针对这些组合中的每一个根据虚拟交易的上涨或下跌概率进行计算。

如果根据三个参数(参数、数量、止损/止盈)的任意组合创建不少于10笔虚拟交易,如果市场上出现相同的情况(自动检测确定的参数和数量模式),在这种情况下可以考虑以基于止损/止盈值统计的概率确定的方向开仓。

收集统计数据将花费很多时间。正如 Expert Advisor 的作者所写:“这可能需要几周的时间”。的 可以使用以下方法加快收集统计数据的过程 测试仪。然而,测试仪和真实市场中的价格变化可能会有很大差异。作者建议这样做:在测试器中教授 EA 交易,然后在模拟账户上运行近一周。如果 EA 交易显示出积极的结果(因此它将进行一些研究),那么就可以在真实账户上使用它。

EA 交易准备工作的第一阶段是优化其参数:Nidel、Nstop、dstop、forg、Probab、NN、delta。在此阶段,通过关闭 ReadHistory 和 SaveHistory 参数来执行优化。找到可接受的参数组合后,需要使用 SaveHistory=true 执行一项测试。然后从 ReadHistory=true 运行账户上的 EA 交易 - EA 交易在测试器中收集到足够的统计数据后立即开始工作。建议在账户中工作时打开 SaveHistory,以便在 EA 交易过度学习并准备好在 EA 交易重新启动时开始工作时自动保存数据。

当在测试器中使用SaveHistory时,运行后测试学习数据保存在文件中,它的名称为FD_[Symbol]。如果 EA 交易针对 EURUSD 文件进行测试,则名称为“FD_EURUSD”,如果针对 GBPUSD,则为“FD_GBPUSD”,等等。文件保存在 Files 文件夹中,该文件夹是所有终端的公共数据文件夹。您可以通过MetaEditor的主菜单找到通用数据文件夹——打开通用数据文件夹。 ReadHistory 通过该文件夹读取数据。

除了保存教学结果外,EA 交易还保存交易过程中必需的两个文件。文件的名称为:FDlast_buy[Symbol][TimeFrame] 和 FDlast_sell[Symbol][TimeFrame]。不要关注这些文件。

EA 交易仅依赖于学习数据保存的周期和虚拟交易之间的最短时间的时间范围。它等于两个柱的密度,因此 EA 交易在不同时间范围内的工作结果存在一些差异。

该图显示了 EA 交易在默认设置下对 EURUSD M15 的学习结果。

SelfLearningExperts - expert for MetaTrader 5 


附件下载

📎 selflearningexperts.mq5 (26.97 KB)

Source: MQL5 #1108

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录