据我所知,在您的管道步骤 1 中,我们需要运行 Research.mq5 或 ResearchRealORL.mq5,详情如下:
如果运行 Research.mq5:
目的:
使用 Encoder (Enc.nnw) 和 Actor (Act.nnw) 预测交易行为(买入/卖出、成交量、TP、SL)。
收集这些行动的轨迹并保存到 TotalBase.dat。
要求
需要先前训练过的编码器 (Enc.nnw) 和执行器 (Act.nnw)。
如果没有这两个文件,EA 将无法运行,因为它需要依靠这两个文件来编码市场状态和预测行动。
输出:TotalBase.dat(二进制轨迹数据)。
如果运行 ResearchRealORL.mq5:
目的:
根据 Signals\Signal1.csv 中的实际历史记录(而非 Actors 中的预测)模拟交易。
收集这些交易的轨迹并保存到 TotalBase.dat。
要求:
需要 Signals\Signal1.csv 文件,其中包含交易历史(打开/关闭时间、类型、交易量、价格等)。
不需要编码器或代理,因为它使用的是 Signal1.csv 中的数据而不是预测。
输出:TotalBase.dat(二进制轨迹数据)。
由于我们没有先前训练好的编码器(Enc.nnw)和行为器(Act.nnw),因此无法 运行 Research.mq5,而且我们 也 没有Signals\Signal1.csv 文件,因此也无法运行ResearchRealORL.mq5, 那么我们如何运行步骤 1 呢?
trungns #:
据我所知,在您的管道步骤 1 中,我们需要运行 Research.mq5 或 ResearchRealORL.mq5,详情如下:
据我所知,在您的管道步骤 1 中,我们需要运行 Research.mq5 或 ResearchRealORL.mq5,详情如下:
如果运行 Research.mq5:
目的:
使用 Encoder (Enc.nnw) 和 Actor (Act.nnw) 预测交易行为(买入/卖出、成交量、TP、SL)。
收集这些行动的轨迹并保存到 TotalBase.dat。
要求
需要先前训练过的编码器 (Enc.nnw) 和执行器 (Act.nnw)。
如果没有这两个文件,EA 将无法运行,因为它需要依靠这两个文件来编码市场状态和预测行动。
输出:TotalBase.dat(二进制轨迹数据)。
如果运行 ResearchRealORL.mq5:
目的:
根据 Signals\Signal1.csv 中的实际历史记录(而非 Actors 中的预测)模拟交易。
收集这些交易的轨迹并保存到 TotalBase.dat。
要求:
需要 Signals\Signal1.csv 文件,其中包含交易历史(打开/关闭时间、类型、交易量、价格等)。
不需要编码器或代理,因为它使用的是 Signal1.csv 中的数据而不是预测。
输出:TotalBase.dat(二进制轨迹数据)。
由于我们没有先前训练好的编码器(Enc.nnw)和行为器(Act.nnw),因此无法 运行 Research.mq5,而且我们 也 没有Signals\Signal1.csv 文件,因此也无法运行ResearchRealORL.mq5, 那么我们如何运行步骤 1 呢?
您好、
在 Research.mq5 中,您可以找到
//--- 加载模型 float temp; //--- if(!Encoder.Load(FileName + "Enc.nnw", temp, temp, temp, dtStudied, true)) { CArrayObj *encoder = new CArrayObj(); if(!CreateEncoderDescriptions(encoder)) { delete encoder; return INIT_FAILED; } if(!Encoder.Create(encoder)) { delete encoder; return INIT_FAILED; } delete encoder; } if(!Actor.Load(FileName + "Act.nnw", temp, temp, temp, dtStudied, true)) { CArrayObj *actor = new CArrayObj(); CArrayObj *critic = new CArrayObj(); if(!CreateDescriptions(actor, critic)) { delete actor; delete critic; return INIT_FAILED; } if(!Actor.Create(actor)) { delete actor; delete critic; return INIT_FAILED; } delete actor; delete critic; } //---
因此,如果您没有预训练模型,EA 将以随机参数生成模型。您可以从随机轨迹中收集数据。
关于 ResearchRealORL.mq5 的更多信息,请参阅文章。
Neural networks made easy (Part 67): Using past experience to solve new tasks
- www.mql5.com
In this article, we continue discussing methods for collecting data into a training set. Obviously, the learning process requires constant interaction with the environment. However, situations can be different.
新文章 交易中的神经网络:状态空间模型已发布:
最段时间,大型模型适配新任务的范式变得越来越普遍。这些模型依据广泛的数据集进行预训练,其中包含来自各种领域的任意原生数据,包括文本、图像、音频、时间序列、以及更多。
尽管这个概念与任何特定的架构选择无关,但大多数模型都基于单一架构 — 变换器及其核心层自注意力。自注意力的效率归因于它能够在情境窗口中密集地引导信息,从而能够为复杂数据建模。然而,该属性有本质上的局限性:无法针对超出有限窗口的任何东西建模,以及相对于窗口长度的二次缩放。
对于序列建模任务,另一种替代方案涉及在状态空间中使用结构化序列模型(空间序列建模,SSM)。这些模型可解释为递归神经网络(RNN)与卷积神经网络(CNN)的组合。这类模型可以遵照序列长度的线性或近线性缩放极其有效地计算。甚至,它还具有固有机制,即针对特定数据模态中的长期依赖关系进行建模。
论文《曼巴(Mamba):配以可选性状态空间进行线性-时间序列建模》中介绍了一种启用状态空间模型进行时间序列预测的算法。该论文提出了一类新的选择性状态空间模型。
作者:Dmitriy Gizlyk