交易中的机器学习:理论、模型、实践和算法交易 - 页 554

 
Mihail Marchukajtes:

请记住,任何数据的冗余都会延迟模型进入战斗状态。这直接影响到接收信号的质量,....。

我个人选择了以下方法。我把使用买入信号得到的模型反过来,在市场的同一部位测试,但测试的是卖出信号。因此,我不会失去宝贵的时间,并充分估计模型的能力。IMHO

我想尝试用经典的train|valid|test方法来教导和测试这个模型。如果模型有效,那么测试将是一个真实的交易,即我在NS中使用train|valid,并在获得的设置上运行真实的交易。或者,也许一列火车就足够了?这样,培训就会接近真实交易的时间。作为最后的手段,我们可以在火车图之前对数据进行验证。
 

顺便说一句,是的。控制部分也可以在受训者部分之前。我也是这样做的,但我有分类,它并不关心顺序。在预测或回归的情况下,数据的顺序是很重要的。

但在我的案例中,将买入和卖出分开是最重要的,因为控制部分与学习部分属于同一市场时期。只是,数据是截然相反的,但目前所有的法律和新闻对训练和控制部分都是一样的。在这种情况下,交易就在火车部分之后开始,这可能会增加TS的时间。

 
Mihail Marchukajtes:

就个人而言,我选择了以下方法。我把使用买入信号获得的模型反过来,在市场的同一区域进行测试,但测试的是卖出信号。因此,我不会失去宝贵的时间,并充分估计模型的能力。IMHO

为什么不教一个单一的模型,其输出值为买入和卖出,例如从1.0到-1.0,而0.0附近的一切是平的?

 
elibrarius
我想尝试用经典的方法来训练和测试模型,即用train|valid|test。如果该模型有效,那么测试将是一个真实的交易,即我将训练|valid反馈给NS,并根据收到的设置运行一个真实的交易。或者,也许一列火车就足够了?这样,培训就会接近真实交易的时间。作为最后的手段,我们可以在预训练数据上进行验证。
他们在这里争论训练、测试、验证的数量和顺序,但他们没有谈论交叉验证,可能每个人都默认使用它,或者没有人使用它......
 
伊万-内格雷什尼
他们争论的是训练、测试、验证部分的数量和顺序,但没有谈到交叉验证,可能每个人都默认使用它,或者没有人使用它......

我读到,交叉验证是在数据很少的情况下使用的,你至少需要一些东西来验证。在外汇中,有大量的数据--几年来的数百万分钟的条形图。我认为没有人使用它。

 
elibrarius

在交叉验证中,当数据匮乏,你需要一些依靠时,就会用到它。在外汇中,有大量的数据,在几年内有数以百万计的分钟条。我认为没有人使用它。

在我看来,这恰好可以抵消手动洗牌和组合输入数据的效果。
 
伊万-内格雷什尼

为什么不一次教给大家同样的模型,在输出上有买入和卖出的值,例如从1.0到-1.0,而在0.0附近的一切--平坦?


这并不是...不是我们的方法。通过教导买入和卖出一次,检查.... 区域消失了。

 
伊万-内格雷什尼

不错的想法和有用的MT5库,但要将其与Python脚本文件同步,IMHO相当麻烦。

我认为最好是通过本地字典直接将MQL变量与Python变量同步,并直接从EA的代码中的字符串常量执行Python代码片段。

我试过测试,从命令行编译bcc64,在python 3.6中工作正常。

如果能在你的库中加入这个功能就好了,我正准备写我自己的库,但不幸的是,现在我正忙于P-net库,为Python服务。

顺便说一下,我在这里的一个分支中写了这个新的神经网络,通过对有Fisher's Iris的例子的初步测试结果,它的训练速度比TensorFlow中的DNN快三个数量级,测试结果相同。


我会考虑的。从我的库中,你可以运行任何Python脚本并执行其中的任何函数。图书馆并不复杂。我认为这对我和其他许多人来说已经足够了。

 
格里戈里-乔宁

我会考虑的。从我的库中,你可以运行任何Python脚本并执行其中的任何函数。图书馆并不复杂。我认为这对我和其他许多人来说已经足够了。

是的,你的库是完全可用的,但我认为它可以使用一些改进,因为脚本从单独的文件加载,并通过dll中的全局变量 同步其函数的参数和值,并不总是最好的方法。
 

我想是的。图书馆很可能会发生变化。现在我的任务是在高级水平上掌握Python,并掌握数据科学。所有的时间都是为了这个。而当一个可行的模式将被准备好时。我已经在考虑如何把它附在MT上。

Renat在一个相邻的主题中写道,他们将增加Python、R和C#。但我不明白是否可以简单地在MetaEditor中工作或与MQL整合。仅仅在Metaeditor中工作其实并不方便,代码编辑器已经足够了。我认为整合的可能性更大。这将是很酷的。而我在Python集成方面的工作是一个临时解决方案。