L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 2955

 
Aleksey Nikolayev #:

Il semble que Yandex ne réside pas dans la Fédération de Russie et n'y a jamais résidé. Aujourd'hui, il a également déménagé physiquement et semble avoir cessé d'être le principal moteur de recherche en Russie. Il serait surprenant qu'il ne soit pas avalé par Google ou Microsoft dans les prochaines années.

Yandex possède de nombreuses sociétés à responsabilité limitée en Russie, par l'intermédiaire desquelles divers projets sont menés. Nous devons encore étudier la manière dont elles entrent légalement en contact avec la société mère.

 
Aleksey Vyazmikin #:

Je pourrais dire la même chose de n'importe quelle langue, et que les gens qui affichent leurs codes sont des idiots !

Que voulez-vous que je fasse ?
Voulez-vous que j'ouvre l'aide, que je copie l'exemple de code et que je le colle ici pour vous ?
Parce que vous ne pouvez pas le faire vous-même
 
Aleksey Nikolayev #:

Il faudra voir ce que donne l'exemple de Renata.

Son exemple (projet public ONNX.Price.Prediction) produit également des nombres négatifs, mais le tableau des dimensions des paramètres d'entrée est de trois longueurs, et non de deux comme le mien.

PS. J'ai vérifié dans la dernière version de 3605, tout est inchangé.

OnnxTypeInfo otype;
OnnxGetInputTypeInfo(handle, 0, otype);
ArrayPrint(otype.dimensions);                   // -1 -1 4 (у меня: -1 8)
OnnxGetOutputTypeInfo(handle, 0, otype);
ArrayPrint(otype.dimensions);                   // -1 1 (у меня также)
 
mytarmailS #:
Que voulez-vous que je fasse ?
Voulez-vous que j'ouvre l'aide, que je copie l'exemple de code et que je le colle ici pour vous ?
Parce que vous ne pouvez pas le faire vous-même

J'aimerais peut-être que les participants au fil de discussion agissent...

Nous avions l'habitude de poster du code ici, il serait bon de faire revivre cette époque.

 
Aleksey Vyazmikin #:

Yandex possède de nombreuses SARL en Russie, par l'intermédiaire desquelles divers projets sont menés à bien. Nous devons encore étudier la manière dont elles entrent légalement en contact avec la société mère.

Un grand nombre de SARL est toujours un signe évident du sérieux et de la pérennité de l'entreprise.)

 
Aleksey Nikolayev #:

La présence d'un grand nombre de SARL est toujours un signe évident du sérieux et de la pérennité de l'entreprise.)

C'est un signe de travail dans RF....

Même Sber le fait...
 
Ils ont un groupe sur le support du chariot, tous les jours
Les développeurs répondront aux questions les plus délicates.
Je les ai poussés, avec d'autres, à créer une version Mac m1, ils l'ont fait en 6 mois.
 
Maxim Dmitrievsky #:
Est-il nécessaire d'introduire une matrice à 2 dimensions comme dans votre exemple ? Il semble plus logique d'utiliser un tableau unidimensionnel avec des attributs. Il se peut que le programme se plaigne de la mauvaise forme de la matrice. Par exemple, au lieu d'une matrice unidimensionnelle, vous devriez donner une matrice bidimensionnelle, où chaque entrée est dans la deuxième dimension, c'est-à-dire des tableaux imbriqués contenant 1 valeur chacun.
.

Vous aviez raison - dans mon exemple (onnx for busting) il est nécessaire d'entrer un vecteur, pas une matrice. Et il doit s'agir d'un vecteur flottant, et non d'un vecteur double. Le fait qu'en Python il était possible de saisir une matrice (plusieurs lignes à la fois) est probablement le résultat de la vectorisation de Python. Pour le faire en MQL5, il faut apparemment faire tourner le modèle en boucle.

Une version fonctionnelle du script MQL5 pour mon exemple :

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 #:

doit être un vecteur flottant, et non double

Si vous supprimez l'interrupteur ONNX_NO_CONVERSION, vous pouvez entrer un vecteur double. La sortie doit toujours être un vecteur flottant.

 
Et voici ma mise en œuvre de l'EA sur mes propres neurones
Dossiers :