交易中的机器学习:理论、模型、实践和算法交易 - 页 1071 1...106410651066106710681069107010711072107310741075107610771078...3399 新评论 Mihail Marchukajtes 2018.09.16 19:49 #10701 Anaxagor:这听起来像是来自这种误解 的制造商的赞美。好吧,趁我好心的时候用吧 :-)我不后悔.....而你不能理解这篇文章的事实,我甚至很高兴。我们越少,我们越多 :-) FxTrader562 2018.09.17 03:10 #10702 嗨,马克西姆。 如果我想增加高价和低价,那么我只需要改变calcsignal()函数。我说的对吗? 下面的代码是否正确?或者我需要在EA代码或库代码中做任何其他改动? 另外,你能在这个代码中给出一个指标代码吗? 空白计算信号()。{sig1 = 0。for (int i = 0; i <ArraySize (ag1.agent); i ++){CopyClose (_Symbol, 0.0, 100, ag1.agent [i] .inpVector) 。normalizeArrays(ag1.agent [i] .inpVector)。} for (int i = 0; i <ArraySize (ag1.agent); i ++){CopyHigh (_Symbol, 0.0, 100, ag1.agent [i] .inpVector) 。normalizeArrays(ag1.agent [i] .inpVector)。} for (int i = 0; i <ArraySize (ag1.agent); i ++){CopyLow (_Symbol, 0.0, 100, ag1.agent [i] .inpVector) 。normalizeArrays(ag1.agent [i] .inpVector)。}sig1 = ag1.getTradeSignal()。} Machine learning in trading: 蒙特卡罗方法在强化学习中的应用 初学者的问题 MQL5 MT5 MetaTrader Maxim Dmitrievsky 2018.09.17 07:19 #10703 嗯......悲伤的编程 FxTrader562 2018.09.17 08:26 #10704 Maxim Dmitrievsky: 姆德...悲伤的编程你是说上面的代码不正确,还是指GMDH的代码实现?GMGH代码只是一个粗略的实现,我很快就找到了。但我现在还不能改进它。我认为可以有更好的方法来编码,我也会尝试。 在你目前的源代码中,有许多代理或变量具有类似的名称和多个点运算符,如"ag1.agent [i] .inpVector",这对我来说是一个困惑,直到我翻阅整个代码... Maxim Dmitrievsky 2018.09.17 08:30 #10705 FxTrader562:你是说上面的代码不正确,还是指GMDH的代码实现?GMGH代码只是我很快找到的一个粗略的实现方法......但我认为可以有更好的方法来做......但我现在不知道。 在你目前的源代码中,有许多代理或变量具有类似的名称和多个点运算符,如"ag1.agent [i] .inpVector",这对我来说是一个困惑,直到我翻阅整个代码...我以前解释过。你有100个预测器, 所以你需要在这个数组中复制25个不同的收盘价,25个不同的开盘价,25个高价,25个低价。共计100 或者做4个预测数组,并复制1个收盘价,1个开盘价,..... 或任何其他不同的指标值或者等待一篇文章,因为论坛交流需要太多的时间(对我来说)。 关于gdmh--有很多不同的实现方式,没有问题。但对于我的任务,需要额外的研究 FxTrader562 2018.09.17 15:09 #10706 马克西姆-德米特里耶夫斯基。我以前解释过。你有100个预测器, 所以你需要在这个数组中复制25个不同的收盘价,25个不同的开盘价,25个高价,25个低价。共计100 或者做4个预测数组,并复制1个收盘价,1个开盘价,..... 或任何其他不同的指标值或者等待一篇文章,因为论坛交流需要太多的时间(对我来说)。 关于gdmh--有很多不同的实现方式,没有问题。但对于我的任务,需要额外的研究是的,我明白。 另外,我有你的源代码,因此,我需要一些时间来理解和改变它,因为其中没有太多的注释。另外,我不是专家级的程序员。所以我只是想在你的帮助下快速推进这个过程 :)) 无论如何,我将等待你的文章,并作出详细解释。 是的,关于GMDH,正如我之前提到的,有多种方法和多种公式,因此,你需要相应地选择一种适用于RDF实施的方法。我只是简单地把维基百科上的GMDH的一般公式翻译或转换为你之前提供给我的MQL5代码。 另外,我在代码里面给出了充分的解释,使其可以理解。在我写MQL5代码之前,我已经试着研究了多个python代码,但没有一个能满足我的需求。这就是为什么我使用一个函数和switch case语句写了最简单的GMDH方法。 Maxim Dmitrievsky 2018.09.18 06:33 #10707 FxTrader562:是的,我明白。 另外,我有你的源代码,因此,我需要一些时间来理解和改变它,因为其中没有太多的注释。另外,我不是专家级的程序员。所以我只是想在你的帮助下快速推进这个过程 :)) 无论如何,我将等待你的文章,并作出详细解释。 是的,关于GMDH,正如我之前提到的,有多种方法和多种公式,因此,你需要相应地选择一种适用于RDF实施的方法。我只是简单地把维基百科上的GMDH的一般公式翻译或转换为你之前提供给我的MQL5代码。 另外,我在代码里面给出了充分的解释,使其可以理解。在我写MQL5代码之前,我已经试着研究了多个python代码,但没有一个能满足我的需求。这就是为什么我使用一个函数和switch case语句写了最简单的GMDH方法。有描述一个线性案例。例如,我们正在为一线、二线等寻找最佳成员。然后将最佳成员添加到公式中的一个(新)变量。在RDF案例中,我们不能这样做,因为它是非线性模型,所以我们必须在每一圈的选择中把所有的线条作为独立变量加入到输入中。 FxTrader562 2018.09.18 07:27 #10708 马克西姆-德米特里耶夫斯基。有描述一个线性案例。例如,我们正在为一线、二线等寻找最佳成员。然后将最佳成员添加到公式中的一个(新)变量。在RDF案例中,我们不能这样做,因为它是非线性模型,所以我们必须在每一圈的选择中把所有的线条作为独立变量加入到输入中。你能不能给我一个示例代码,确切地说是你想实现的地方,这样我才能更好地帮助你? 你说的是w1,w2,w3这样的重量吗....?这些是在训练时必须计算并存储在RDF中的东西,当我们输入x1.w1,x2.w2,x3.w3....。作为单独的输入。 请注意,在现实中考虑函数 时,不存在线性和非线性函数,因为你总是可以把一个非线性函数分解成无限的线性函数。所以我不考虑无缘无故地把事情复杂化。这就是为什么我们使用小块的线性函数作为输入,如果需要,我们可以把它扩展到任何数量。但对于编码部分,我暂时还不能说太多。 请向我提供你卡住的RDF的代码,以便我能够更好地理解。 或者参考我的代码,你可以解释一下你还在寻找什么。因为在我的理解中,我已经把GMDH公式转换成了代码。因此,如果需要,那么我们可以将随机性带入其中,或者简单地将基础函数成分扩展为任何数字,然后随机选择。 Maxim Dmitrievsky 2018.09.18 08:03 #10709 FxTrader562:你能不能给我一个示例代码,确切地说是你想实现的地方,这样我才能更好地帮助你? 你说的是w1,w2,w3这样的重量吗....?这些是在训练时必须计算并存储在RDF中的东西,当我们输入x1.w1,x2.w2,x3.w3....。作为单独的输入。 请注意,在现实中考虑函数 时,不存在线性和非线性函数,因为你总是可以把一个非线性函数分解成无限的线性函数。所以我不考虑无缘无故地把事情复杂化。这就是为什么我们使用小块的线性函数作为输入,如果需要,我们可以把它扩展到任何数量。但对于编码部分,我暂时还不能说太多。 请向我提供你卡住的RDF的代码,以便我能够更好地理解。 或者参考我的代码,你可以解释一下你还在寻找什么。因为在我的理解中,我已经把GMDH公式转换成了代码。因此,如果需要,那么我们可以将随机性带入其中,或者简单地将基础函数成分扩展为任何数字,然后随机选择。为了找到线性系数,我们必须使用线性回归,但也可以直接用RF来做。我现在正在读一本关于它的有趣的书 本书发展了树状结构网络形式的不同多项式,包括代数网络多项式、核网络多项式、正交网络多项式、三角网络多项式、有理网络多项式和动态网络多项式。 FxTrader562 2018.09.18 08:31 #10710 马克西姆-德米特里耶夫斯基。为了找到线性系数,我们必须使用线性回归,但也可以直接用RF来做。我现在正读一本关于它的有趣的书。好吧,如果你想要GMDH的精确实现,并且我们需要用更高的m值进一步扩展我的代码,那么我可以做到。但我想让你做的是,首先用m值3来实现它,并在M1时间框架中进行测试,因为M1时间框架中的蜡烛收盘价非常小,因此,将其分成3部分就足以实现我们的目标了。 因此,以这种方式,如果你能实现GMDH,并且它在M1时间框架中以某种方式工作,那么对于更高的时间框架,我们可以将for循环扩展到更大的m值,如10或15等等。 顺便问一下,在你目前的实现代码中,当你使用以下代码时,你是否使用了内核的技巧? #define _kernel(ker,degree) (cos(MathPow(ker,degree)) 我完全研究过了,但找不到你的代码中使用了哪个内核函数,因为我想在实现我的算法之前测试不同的内核。 http://crsouza.com/2010/03/17/kernel-functions-for-machine-learning-applications/ 你能给我提供一些参考吗,这是哪个核函数,还是这只是你的公式? 另外,我已经成功地在你目前的代码中实现了蜡烛模拟算法。但它可能只在一周的模拟期后发挥作用。所以我只是想在开始模拟之前确认几件事。 1.对我使用的模型是否有限制。我可以使用100万个模型吗? 2.我使用多少个代理是否有限制。我可以使用1000个代理吗? 3.如果训练后的数据量过大,那么在做交易决策时是否会放慢速度?我的意思是,如果".rl "文件太大,那么我们可以预期的交易执行时间延迟大约是多少?你有没有在每秒的迭代次数或for循环等方面做任何计算? 4.基本上,我正在使用你的模型和代理在训练期间创建随机蜡烛,这些蜡烛将被存储在".rl "文件中,用于实时交易。这个版本中的".rl "文件与你以前的版本中的 "Mtrees "文件相似。我说的对吗? 我正计划运行一个总共约1000万到1亿支蜡烛的模拟,这相当于约280年到2800年的优化。但在我进行培训之前,我想检查一下代码和执行速度等多方面的问题。 当你有空闲的时候,请看一下我的上述问题并提供一些答案,以帮助我进一步计算....。 1...106410651066106710681069107010711072107310741075107610771078...3399 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这听起来像是来自这种误解 的制造商的赞美。
好吧,趁我好心的时候用吧 :-)我不后悔.....而你不能理解这篇文章的事实,我甚至很高兴。我们越少,我们越多 :-)
嗨,马克西姆。
如果我想增加高价和低价,那么我只需要改变calcsignal()函数。我说的对吗?
下面的代码是否正确?或者我需要在EA代码或库代码中做任何其他改动?
另外,你能在这个代码中给出一个指标代码吗?
空白计算信号()。
{
sig1 = 0。
for (int i = 0; i <ArraySize (ag1.agent); i ++)
{
CopyClose (_Symbol, 0.0, 100, ag1.agent [i] .inpVector) 。
normalizeArrays(ag1.agent [i] .inpVector)。
}
for (int i = 0; i <ArraySize (ag1.agent); i ++)
{
CopyHigh (_Symbol, 0.0, 100, ag1.agent [i] .inpVector) 。
normalizeArrays(ag1.agent [i] .inpVector)。
}
for (int i = 0; i <ArraySize (ag1.agent); i ++)
{
CopyLow (_Symbol, 0.0, 100, ag1.agent [i] .inpVector) 。
normalizeArrays(ag1.agent [i] .inpVector)。
}
sig1 = ag1.getTradeSignal()。
}
姆德...悲伤的编程
你是说上面的代码不正确,还是指GMDH的代码实现?GMGH代码只是一个粗略的实现,我很快就找到了。但我现在还不能改进它。我认为可以有更好的方法来编码,我也会尝试。
在你目前的源代码中,有许多代理或变量具有类似的名称和多个点运算符,如"ag1.agent [i] .inpVector",这对我来说是一个困惑,直到我翻阅整个代码...
你是说上面的代码不正确,还是指GMDH的代码实现?GMGH代码只是我很快找到的一个粗略的实现方法......但我认为可以有更好的方法来做......但我现在不知道。
在你目前的源代码中,有许多代理或变量具有类似的名称和多个点运算符,如"ag1.agent [i] .inpVector",这对我来说是一个困惑,直到我翻阅整个代码...
我以前解释过。你有100个预测器, 所以你需要在这个数组中复制25个不同的收盘价,25个不同的开盘价,25个高价,25个低价。共计100
或者做4个预测数组,并复制1个收盘价,1个开盘价,..... 或任何其他不同的指标值
或者等待一篇文章,因为论坛交流需要太多的时间(对我来说)。
关于gdmh--有很多不同的实现方式,没有问题。但对于我的任务,需要额外的研究
我以前解释过。你有100个预测器, 所以你需要在这个数组中复制25个不同的收盘价,25个不同的开盘价,25个高价,25个低价。共计100
或者做4个预测数组,并复制1个收盘价,1个开盘价,..... 或任何其他不同的指标值
或者等待一篇文章,因为论坛交流需要太多的时间(对我来说)。
关于gdmh--有很多不同的实现方式,没有问题。但对于我的任务,需要额外的研究
是的,我明白。
另外,我有你的源代码,因此,我需要一些时间来理解和改变它,因为其中没有太多的注释。另外,我不是专家级的程序员。所以我只是想在你的帮助下快速推进这个过程 :))
无论如何,我将等待你的文章,并作出详细解释。
是的,关于GMDH,正如我之前提到的,有多种方法和多种公式,因此,你需要相应地选择一种适用于RDF实施的方法。我只是简单地把维基百科上的GMDH的一般公式翻译或转换为你之前提供给我的MQL5代码。
另外,我在代码里面给出了充分的解释,使其可以理解。在我写MQL5代码之前,我已经试着研究了多个python代码,但没有一个能满足我的需求。这就是为什么我使用一个函数和switch case语句写了最简单的GMDH方法。
是的,我明白。
另外,我有你的源代码,因此,我需要一些时间来理解和改变它,因为其中没有太多的注释。另外,我不是专家级的程序员。所以我只是想在你的帮助下快速推进这个过程 :))
无论如何,我将等待你的文章,并作出详细解释。
是的,关于GMDH,正如我之前提到的,有多种方法和多种公式,因此,你需要相应地选择一种适用于RDF实施的方法。我只是简单地把维基百科上的GMDH的一般公式翻译或转换为你之前提供给我的MQL5代码。
另外,我在代码里面给出了充分的解释,使其可以理解。在我写MQL5代码之前,我已经试着研究了多个python代码,但没有一个能满足我的需求。这就是为什么我使用一个函数和switch case语句写了最简单的GMDH方法。
有描述一个线性案例。例如,我们正在为一线、二线等寻找最佳成员。然后将最佳成员添加到公式中的一个(新)变量。在RDF案例中,我们不能这样做,因为它是非线性模型,所以我们必须在每一圈的选择中把所有的线条作为独立变量加入到输入中。
有描述一个线性案例。例如,我们正在为一线、二线等寻找最佳成员。然后将最佳成员添加到公式中的一个(新)变量。在RDF案例中,我们不能这样做,因为它是非线性模型,所以我们必须在每一圈的选择中把所有的线条作为独立变量加入到输入中。
你能不能给我一个示例代码,确切地说是你想实现的地方,这样我才能更好地帮助你?
你说的是w1,w2,w3这样的重量吗....?这些是在训练时必须计算并存储在RDF中的东西,当我们输入x1.w1,x2.w2,x3.w3....。作为单独的输入。
请注意,在现实中考虑函数 时,不存在线性和非线性函数,因为你总是可以把一个非线性函数分解成无限的线性函数。所以我不考虑无缘无故地把事情复杂化。这就是为什么我们使用小块的线性函数作为输入,如果需要,我们可以把它扩展到任何数量。但对于编码部分,我暂时还不能说太多。
请向我提供你卡住的RDF的代码,以便我能够更好地理解。
或者参考我的代码,你可以解释一下你还在寻找什么。因为在我的理解中,我已经把GMDH公式转换成了代码。因此,如果需要,那么我们可以将随机性带入其中,或者简单地将基础函数成分扩展为任何数字,然后随机选择。
你能不能给我一个示例代码,确切地说是你想实现的地方,这样我才能更好地帮助你?
你说的是w1,w2,w3这样的重量吗....?这些是在训练时必须计算并存储在RDF中的东西,当我们输入x1.w1,x2.w2,x3.w3....。作为单独的输入。
请注意,在现实中考虑函数 时,不存在线性和非线性函数,因为你总是可以把一个非线性函数分解成无限的线性函数。所以我不考虑无缘无故地把事情复杂化。这就是为什么我们使用小块的线性函数作为输入,如果需要,我们可以把它扩展到任何数量。但对于编码部分,我暂时还不能说太多。
请向我提供你卡住的RDF的代码,以便我能够更好地理解。
或者参考我的代码,你可以解释一下你还在寻找什么。因为在我的理解中,我已经把GMDH公式转换成了代码。因此,如果需要,那么我们可以将随机性带入其中,或者简单地将基础函数成分扩展为任何数字,然后随机选择。
为了找到线性系数,我们必须使用线性回归,但也可以直接用RF来做。我现在正在读一本关于它的有趣的书
本书发展了树状结构网络形式的不同多项式,包括代数网络多项式、核网络多项式、正交网络多项式、三角网络多项式、有理网络多项式和动态网络多项式。为了找到线性系数,我们必须使用线性回归,但也可以直接用RF来做。我现在正读一本关于它的有趣的书。
好吧,如果你想要GMDH的精确实现,并且我们需要用更高的m值进一步扩展我的代码,那么我可以做到。但我想让你做的是,首先用m值3来实现它,并在M1时间框架中进行测试,因为M1时间框架中的蜡烛收盘价非常小,因此,将其分成3部分就足以实现我们的目标了。
因此,以这种方式,如果你能实现GMDH,并且它在M1时间框架中以某种方式工作,那么对于更高的时间框架,我们可以将for循环扩展到更大的m值,如10或15等等。
顺便问一下,在你目前的实现代码中,当你使用以下代码时,你是否使用了内核的技巧?
#define _kernel(ker,degree) (cos(MathPow(ker,degree))
我完全研究过了,但找不到你的代码中使用了哪个内核函数,因为我想在实现我的算法之前测试不同的内核。
http://crsouza.com/2010/03/17/kernel-functions-for-machine-learning-applications/
你能给我提供一些参考吗,这是哪个核函数,还是这只是你的公式?
另外,我已经成功地在你目前的代码中实现了蜡烛模拟算法。但它可能只在一周的模拟期后发挥作用。所以我只是想在开始模拟之前确认几件事。
1.对我使用的模型是否有限制。我可以使用100万个模型吗?
2.我使用多少个代理是否有限制。我可以使用1000个代理吗?
3.如果训练后的数据量过大,那么在做交易决策时是否会放慢速度?我的意思是,如果".rl "文件太大,那么我们可以预期的交易执行时间延迟大约是多少?你有没有在每秒的迭代次数或for循环等方面做任何计算?
4.基本上,我正在使用你的模型和代理在训练期间创建随机蜡烛,这些蜡烛将被存储在".rl "文件中,用于实时交易。这个版本中的".rl "文件与你以前的版本中的 "Mtrees "文件相似。我说的对吗?
我正计划运行一个总共约1000万到1亿支蜡烛的模拟,这相当于约280年到2800年的优化。但在我进行培训之前,我想检查一下代码和执行速度等多方面的问题。
当你有空闲的时候,请看一下我的上述问题并提供一些答案,以帮助我进一步计算....。