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

 
Aleksey Nikolayev #:

Habrá que ver lo que produce el ejemplo de Renata.

Su ejemplo (proyecto público ONNX.Price.Prediction) también produce números negativos, pero la matriz de dimensiones de los parámetros de entrada tiene tres longitudes, no dos como la mía.

PS. He comprobado en la última versión de 3605, todo está sin cambios.

OnnxTypeInfo otype;
OnnxGetInputTypeInfo(handle, 0, otype);
ArrayPrint(otype.dimensions);                   // -1 -1 4 (у меня: -1 8)
OnnxGetOutputTypeInfo(handle, 0, otype);
ArrayPrint(otype.dimensions);                   // -1 1 (у меня также)
 
mytarmailS #:
¿Qué quieres que haga?
¿Quieres que abra la ayuda, copie el código de ejemplo y lo pegue aquí por ti?
Porque no puedes hacerlo tú mismo

Quizás quiera alguna acción por parte de los participantes en el hilo...

Solíamos postear código aquí, así que sería bueno revivir aquellos tiempos.

 
Aleksey Vyazmikin #:

Yandex tiene muchas LLC en Rusia, a través de las cuales se llevan a cabo diversos proyectos. Cómo se ponen legalmente en contacto con la empresa matriz - todavía tenemos que estudiarlo.

Una gran cantidad de LLC es siempre un signo evidente de lo serio y duradero que es todo).

 
Aleksey Nikolayev #:

Un montón de LLCs es siempre una señal obvia de lo serias y a largo plazo que son las cosas)

Es un signo de trabajar en RF....

Incluso Sber hace esto...
 
Tienen una banda en el carro, todos los días de apoyo
Los desarrolladores responderán a las preguntas más peliagudas.
Les insistí, junto con otros, sobre una versión para Mac m1, lo hicieron en 6 meses.
 
Maxim Dmitrievsky #:
¿Es necesario introducir una matriz bidimensional como en tu ejemplo? Parece más lógico utilizar una matriz unidimensional con atributos. Puede que se queje de la forma incorrecta de la matriz. Por ejemplo, en lugar de una unidimensional, deberías dar una bidimensional, donde cada entrada esté en la 2ª dimensión, es decir, matrices anidadas que contengan 1 valor cada una.
.

Tenías razón - en mi ejemplo (onnx por reventar) es necesario introducir un vector, no una matriz. Y debe ser un vector float, no double. El hecho de que en Python era posible introducir una matriz (varias filas a la vez) es probablemente el resultado de Python vectorización. Para hacer esto en MQL5, usted tendrá que ejecutar el modelo en un bucle, al parecer.

Una versión de trabajo de la secuencia de comandos MQL5 para mi ejemplo:

void OnStart()
  {
   long h = OnnxCreate("model.onnx", FILE_COMMON);
   const long  ExtInputShape [] = {1,8};
   const long  ExtOutputShape[] = {1,1};
   OnnxSetInputShape(h,0,ExtInputShape);
   OnnxSetOutputShape(h,0,ExtOutputShape);
   
   vectorf vx={8.32520000 e+00 f, 4.10000000 e+01 f, 6.98412698 e+00 f, 1.02380952 e+00 f,
               3.22000000 e+02 f, 2.55555556 e+00 f, 3.78800000 e+01 f,-1.22230000 e+02 f};
   vectorf vy={0.0 f};
      
   OnnxRun(h, ONNX_DEBUG_LOGS | ONNX_NO_CONVERSION, vx, vy);
   Print(vx);
   Print(vy);
   OnnxRelease(h);
  }
Машинное обучение в трейдинге: теория, модели, практика и алготорговля - Если у вас динамическое IP, то не получается вывод в MQL5 из ONNX-модели.
Машинное обучение в трейдинге: теория, модели, практика и алготорговля - Если у вас динамическое IP, то не получается вывод в MQL5 из ONNX-модели.
  • 2023.03.07
  • www.mql5.com
либо обучать древесную модель и брать точку первого сплита по этому признаку. при обучении в питоне тестил модель на первых пяти строках датасета. Потом при запуске ONNX в питоне тоже проверил вывод на тех же первых пяти строках
 
Aleksey Nikolayev #:

debe ser un vector float, no double

Si elimina el modificador ONNX_NO_CONVERSION, puede introducir un vector doble. La salida debe seguir siendo un vector float.

 
Y aquí está mi aplicación de la EA en mis propias neuronas
Archivos adjuntos:
 

La ayuda de OnnxTypeInfo carece de explicaciones sobre el campo dimensions[]. Sería bueno explicar el significado de esta matriz al menos en el ejemplo del proyecto ONNX.Price.Prediction, donde (MT5 versión 3621) resulta así:

   OnnxTypeInfo otype;
   OnnxGetInputTypeInfo(handle, 0, otype);
   Print(otype.type == ONNX_TYPE_TENSOR);               // true
   Print(otype.element_type == ONNX_DATA_TYPE_FLOAT);   // true
   ArrayPrint(otype.dimensions);                        // -1 -1 4
   OnnxGetOutputTypeInfo(handle, 0, otype);
   Print(otype.type == ONNX_TYPE_TENSOR);               // true
   Print(otype.element_type == ONNX_DATA_TYPE_FLOAT);   // true  
   ArrayPrint(otype.dimensions);                        // -1 1
 
Bohdan Suvorov #:
Y aquí está mi implementación de la EA en mis propias neuronas

Me pregunto qué tipo de biblioteca es esta?

#import "markettrader.dll"
  void AlertT(string &msg,int len);