Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 400

 
elibrarius:

Descubro cómo funciona cada red por separado. Y lo que se obtiene de sus productos es cuestión de gustos).

Por cierto, mirando el código de su archivo - hay una fórmula diferente, no como en el artículo, es decir, n

Al parecer, el autor ha modificado la fórmula.

Así que quizá no sean 3 entradas (como en la fórmula original), pero sí 8... Todavía no entiendo la esencia de la nueva fórmula.


Estás leyendo el artículo equivocado :) aquí
 

Son trabajos diferentes. No es necesario combinarlos.

en una variable

v0=blah blah blah blah

v1=blah blah blah blah

v2=blah blah blah blah

v3=blah blah blah blah

v4=blah blah blah blah

v5=blah blah blah blah

v6=blah blah blah blah

v7=blah blah blah blah

se registran los valores de las entradas. luego el conjunto se introduce en la función

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 Bosque de decisión de dos clases y regresión logística:

Reshetov gana esta por goleada

Archivos adjuntos:
HARD.txt  7 kb
 
Maxim Dmitrievsky:

Reshetov:

VS Bosque de decisión de dos clases y regresión logística

Bueno, Reshetov gana esta por goleada.


Si usted ejecutó el conjunto de datos Hard, entonces mi resultado es el 72% de generalización, por cierto, tome el modelo que ya he calculado desde el archivo HARD.mql y compárelo. Y qué significa una victoria en seco, admito que es difícil interpretar el resultado.
 
Mihail Marchukajtes:

Si ejecutas el conjunto de datos Hard, entonces mi resultado es de 72% de generalización, por cierto, toma el modelo que subí, ya está calculado desde el archivo HARD.mql y compáralo. Y qué significa "ganar en seco", admito que es difícil interpretar el resultado.

Es un resultado reducido, es lo que he adjuntado. Ver Verdaderos positivos y Verdaderos negativos, es decir, el número de predicciones exitosas para la compra y la venta, R tiene más predicciones exitosas, el 65% frente al 45% de otros modelos. Es decir, su modelo daría beneficios y otros darían pérdidas.
 
elibrarius:

Yo ampliaría la neurona a 10 entradas...
Pero tenemos que añadir las reglas a 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 =


Da miedo :D
Archivos adjuntos:
rnn_10.mq5  115 kb
 
Dr. Trader:

Da miedo :D

Ejem, ejem.... realmente se ve, incluso diría que aterrador.....
 
Dr. Trader:

Da miedo :D
Espero que no haya sido armado a mano. ¿Se hizo por ciclos? Manualmente habría llevado horas...
 
elibrarius:
Espero que esto no haya sido compilado manualmente. ¿Fue de alguna manera en ciclos? Manualmente habría llevado horas...

Manualmente, creo que puedes cometer errores...
 
Dr. Trader:

Da miedo :D

Asusta y es un poco inútil, porque tardará mucho tiempo en el optimizador :) en la nube todavía se puede