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

 
elibrarius

我分别找出了每个网络的工作方式。而从他们的产出中得到什么是一个品味问题)。

顺便说一下,看一下你的文件中的代码--有一个不同的公式,与文章中的不同,即n

显然,作者修改了这个公式。

因此,也许不是3个输入(如原公式中),但仍是8个...我还不了解新配方的本质。


你读错文章了 :)这里
 

这些是不同的工作。没有必要将它们结合起来。

变成一个变量

v0=blah blah blah blah

v1=blah blah blah blah

v2=胡说八道,胡说八道

V3=胡说八道,胡说八道

v4=blah blah blah blah

v5=blah blah blah blah

V6=胡说八道,胡说八道

v7=blah blah blah blah

输入的值被记录下来。 然后整个东西被送入函数

double getBinaryClassificator1(double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7) {

//нормализация данных
   double x0 = 2.0 * (v0 + 1189.0) / 2047.0 - 1.0;
   double x1 = 2.0 * (v1 + 810.0) / 2247.0 - 1.0;
   double x2 = 2.0 * (v2 + 1636.0) / 2155.0 - 1.0;
   double x3 = 2.0 * (v3 + 558.0) / 1252.0 - 1.0;
   double x4 = 2.0 * (v4 + 139.0) / 494.0 - 1.0;
   double x5 = 2.0 * (v5 + 74.97643) / 144.15451 - 1.0;
   double x6 = 2.0 * (v6 + 1026.56016) / 1938.48639 - 1.0;
   double x7 = 2.0 * (v7 + 4167.0) / 7074.0 - 1.0;
   
//полином он же сеть он же ИИ он же ГУРу и т.д. Но данные уже нормализованны.


double decision = 3.162907268170426 * sigmoid(x0)
  -1.0554004772410066 * sigmoid(x1 + x2 + x3)
  + 3.8921930574940347 * sigmoid(x0 + x1 + x4)
  -1.3775531643479957 * sigmoid(x1 + x2 + x3 + x4)
  -0.44704575810784447 * sigmoid(x0 + x5)
  -0.012703915477316044 * sigmoid(x0 + x1 + x5)
  -7.231026668467576 * sigmoid(x2 + x5)
  -0.059339966683175004 * sigmoid(x2 + x4 + x5)
  -2.786314588867378 * sigmoid(x0 + x1 + x2 + x4 + x5)
  + 2.1339726561913768 * sigmoid(x0 + x1 + x6)
  -0.49562529077183975 * sigmoid(x0 + x4 + x6)
  + 5.2147434454399475 * sigmoid(x0 + x3 + x4 + x6)
  -2.890797352663095 * sigmoid(x5 + x6)
  + 0.10933021175693726 * sigmoid(x0 + x5 + x6)
  -1.6844056248405446 * sigmoid(x1 + x2 + x5 + x6)
  -0.18093137034202272 * sigmoid(x1 + x3 + x5 + x6)
  + 0.6607987033451893 * sigmoid(x1 + x7)
  -1.8854921735476415 * sigmoid(x0 + x1 + x3 + x7)
  -1.1169615655906233 * sigmoid(x2 + x5 + x7)
  -0.6844731589452674 * sigmoid(x4 + x6 + x7)
  -0.4231236774571158 * sigmoid(x1 + x2 + x3 + x4 + x6 + x7)
  + 5.763615625891075 * sigmoid(1.0 + x1 + x2 + x3 + x5)
  -0.3138985187519697 * sigmoid(1.0 + x0 + x1 + x4 + x5)
  -1.8910224663455044 * sigmoid(1.0 + x1 + x3 + x4 + x5)
  + 2.1204658352467995 * sigmoid(1.0 + x2 + x3 + x4 + x5)
  + 6.219005597826903 * sigmoid(1.0 + x2 + x3 + x4 + x6)
  -3.740916662914772 * sigmoid(1.0 + x0 + x1 + x3 + x4 + x5 + x6);
   return decision;
}
 

雷舍托夫。

VS 两类决策森林和逻辑回归。

雷舍托夫以压倒性优势赢得了这场比赛

附加的文件:
HARD.txt  7 kb
 
马克西姆-德米特里耶夫斯基

雷舍托夫。

VS 两类决策森林和逻辑回归

好吧,雷舍托夫以压倒性优势赢得了这场比赛。


如果你运行数据集Hard,那么我的结果是72%的泛化率,顺便拿我已经从HARD.mql文件中计算出来的模型进行比较。而干脆的胜利意味着什么,我承认很难解释这个结果。
 
Mihail Marchukajtes:

如果你运行数据集Hard,那么我的结果是72%的泛化率,顺便拿我上传的模型,它已经从HARD.mql文件中计算出来,并进行比较。而 "干赢 "是什么意思,我承认这很难解释这个结果。

这是一个缩小的结果,这就是我所附的内容。见真阳性和真阴性,即成功预测买入和卖出的数量,R.有更多的成功预测,65%对其他模型的45%。也就是说,他的模型会带来利润,而其他人会带来损失。
 
elibrarius

我将把神经元扩大到10个输入...
但我们需要把规则加到1024。

r0 = (1 - A) * (1 - B) * (1 - C) * p0
r1 = (1 - A) * (1 - B) * C * p1
r2 = (1 - A) * B * (1 - C) * p2
r3 = (1 - A) * B * C * p3A) * B * C * p3
r4 = A * (1 - B) * (1 - C) * p4
r5 = A * (1 - B) * C * p5
r6 = A * B * (1 - C) * p6
r7 = A * B * C * p7


.....

r1023 =


这很吓人 :D
附加的文件:
rnn_10.mq5  115 kb
 
交易员博士

这很吓人 :D

咳咳,咳咳....真的看起来,我甚至可以说是可怕的.....。
 
交易员博士

这很吓人 :D
我希望这不是用手拼起来的?它是循环进行的吗?人工操作将花费数小时...
 
elibrarius
我希望这不是手动编译的?它是否以某种方式在循环?手动操作会花费数小时......

手工操作,我认为你可能会犯错......
 
交易员博士

这很吓人 :D

吓人,而且有点无用,因为在优化器中会花很长时间:)在云端,你仍然可以