Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 400

 
elibrarius:

Eu descubro como cada rede funciona separadamente. E o que obter dos seus produtos é uma questão de gosto).

A propósito, estou olhando para o código do seu arquivo - há uma fórmula diferente, não como no artigo, ou seja, n

Aparentemente, o autor modificou a fórmula.

Portanto, talvez não 3 entradas (como na fórmula original), mas ainda 8... Ainda não entendo a essência da nova fórmula.


Você está lendo o artigo errado :) aqui
 

Estes são trabalhos diferentes. Não há necessidade de combiná-los.

em uma variável

v0=blá blá blá blá blá

v1=blá blá blá blá blá

v2=blá blá blá blá blá

v3=blá blá blá blá blá

v4=blá blá blá blá blá

v5=blá blá blá blá blá

v6=blá blá blá blá blá

v7=blá blá blá blá blá

os valores dos inputs são registados. depois tudo é alimentado na função

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;
}
 

Reshetov:

VS Dois classe decisão florestal e regressão logística:

Reshetov ganha este por um deslizamento de terra

Arquivos anexados:
HARD.txt  7 kb
 
Maxim Dmitrievsky:

Reshetov:

VS Duas classes de decisão florestal e regressão logística

Bem, Reshetov ganha este por um deslizamento de terra.


Se você rodou o conjunto de dados Hard, então meu resultado é 72% de generalização, a propósito, pegue o modelo que já calculei no arquivo HARD.mql e compare-o. E o que significa uma vitória seca, eu admito que é difícil interpretar o resultado.
 
Mihail Marchukajtes:

Se você executar o conjunto de dados Hard, então meu resultado é 72% de generalização, a propósito pegue o modelo que eu carreguei, ele já é calculado a partir do arquivo HARD.mql e compare-o. E o que significa "ganho seco", admito que é difícil de interpretar o resultado.

É um resultado reduzido, é isso que eu tenho anexado. Veja Ver Verdadeiros positivos e Verdadeiros negativos, ou seja, o número de previsões de sucesso para compra e venda, R. tem previsões de maior sucesso, 65% contra 45% de outros modelos. Ou seja, o seu modelo daria lucro e outros dariam prejuízo.
 
elibrarius:

Eu expandia o neurónio para 10 entradas...
Mas precisamos de adicionar as regras ao 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 * p3 A) * 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 =


É assustador :D
Arquivos anexados:
rnn_10.mq5  115 kb
 
Dr. Trader:

É assustador :D

Ahem, ahem.... realmente olha, eu diria até mesmo aterrorizante.....
 
Dr. Trader:

É assustador :D
Espero que não tenha sido feito à mão? Foi feito em ciclos? Manualmente, teria levado horas...
 
elibrarius:
Espero que isto não tenha sido compilado manualmente? Foi, de alguma forma, em ciclos? Manualmente, teria demorado horas...

Manualmente, acho que se pode cometer erros...
 
Dr. Trader:

É assustador :D

Assustador e um pouco inútil, porque vai demorar muito tempo no optimista :) na nuvem você ainda pode