L'apprentissage automatique dans la négociation : théorie, modèles, pratique et algo-trading - page 2952

 
Sergey Golubev #:

Vous n'avez pas besoin de publier vos flux Telegram ici.

alors bannissez-les, il est grand temps
vous avez un business ici et vous êtes ennuyés que les gens écrivent des choses erronées au lieu de consacrer leurs efforts au développement de MO dans l'environnement MQL5.
 
Evgeny Dyuka #:
Alors bannissez-les déjà, il est grand temps
Vous avez une entreprise ici et vous êtes ennuyé que les gens écrivent des choses erronées au lieu de consacrer leurs efforts au développement de MO dans l'environnement MQL5.
Vous - pourquoi ?
Je n'étais pas en train de discuter avec vous. Ne vous en prenez pas à vous-même.

J'effacerai ce message (et le mien plus haut) plus tard.
 
Evgeny Dyuka #:

Si vous me le permettez, j'aimerais poser une question similaire.
(il ne s'agit pas de vos affaires, mais spécifiquement du sujet du ministère de la défense).

Spécifiquement pour la MO, c'est fait :

  • Plateforme de trading Metatrader 5
  • Langage MQL5
  • mathématiques matricielles en MQL5
  • intégration de Python dans le terminal, y compris la bibliothèque de communication
  • Intégration des modèles ONNX
  • OpenCL/DirectX pour l'utilisation du GPU
  • réseau en nuage, y compris testeur
  • www.mql5.com écosystème en 11 langues

Ces logiciels sont destinés au grand public et sont utilisés massivement dans le monde entier.

Vous voulez comparer cela à quelques scripts copiés (comme c'est souvent le cas pour les adeptes de l'apprentissage automatique) ?

Soyez rationnel et ne vous en prenez pas à ceux qui font le travail et le mettent à la disposition du public.

 

Je voudrais ajouter mes cinq kopecks et séparer les mouches des escalopes, qui, aussi qualitatives soient-elles, ne résolvent pas les problèmes des mouches.

Sur ce fil, un certain nombre de participants ont bien compris que le principal problème des marchés financiers est leur non-stationnarité, et que le problème de la non-stationnarité n'a pas de solution définitive à l'heure actuelle. Toutes ces discussions sur la durée des tests, le temps de réussite des transactions - tout cela est vide et a été réfuté à maintes reprises par la pratique, ruinant les lauréats du prix Nobel qui n'ont pas reconnu le problème de la non-stationnarité. L'existence du problème de la non-stationnarité est parfaitement confirmée par le marché des signaux sur ce site : tous les signaux sont morts, certains plus tôt et d'autres beaucoup plus tard.

On peut distinguer deux approches pour résoudre le problème de la non-stationnarité des marchés financiers :

1. La modélisation de la non-stationnarité, que l'on tente de réaliser dans le cadre des modèles GARCH, dont il existe déjà plus d'une centaine.

2. Essayer de trouver des modèles dans le flux d'entrée non stationnaire dans l'espoir que ces modèles se répètent à l'avenir. C'est ce que l'on tente de faire dans le cadre de ce que l'on appelle l'"apprentissage automatique". Par exemple, le modèle RandomForest trouve un minimum de 50 motifs, 150 motifs épuisant toute période de temps. Mais l'étape suivante peut modifier l'ensemble des motifs, et des efforts particuliers sont nécessaires pour préparer les données d'entrée de manière à ce que ces motifs, s'ils changent, ne changent pas beaucoup.

Malheureusement, le fil de discussion est passé à la discussion sur les modèles eux-mêmes, bien que, d'après mon expérience, il n'y ait aucun problème à utiliser des modèles (Caret shell comprend jusqu'à 200 modèles pour tous les goûts), mais il y a un problème de préparation des données d'entrée pour ces modèles. N'oublions pas le slogan principal des statistiques : "Garbage in - rubbish out".

 
СанСаныч Фоменко #:

Pour vous personnellement, je joins à nouveau un texte complet sur les formules dans un fichier PDF. Ce texte inclut les "dépendances et les sources".

Quant aux nuances des calculs, je ne le fais pas, car je sais pertinemment que les formules n'ont RIEN à voir avec la programmation, c'est un problème indépendant, qui est résolu par d'autres personnes ayant une autre formation et dans d'autres cercles scientifiques.

Lisez donc le PDF.

Merci, j'y jetterai un coup d'œil.

Pour l'instant, j'ai trouvé une réponse directe à ma question ici - https://blog.paperspace.com/gradient-boosting-for-classification/

Gradient Boosting for Classification | Paperspace Blog
Gradient Boosting for Classification | Paperspace Blog
  • blog.paperspace.com
Machine learning algorithms require more than just fitting models and making predictions to improve accuracy. Most winning models in the industry or in competitions have been using Ensemble Techniques or Feature Engineering to perform better. Ensemble techniques in particular have gained popularity because of their ease of use compared to...
 
La référence à la structure de données pour ONNX ne semble pas être vraie. MT version 3602.
Документация по MQL5: ONNX модели / Структуры данных
Документация по MQL5: ONNX модели / Структуры данных
  • www.mql5.com
Структуры данных - ONNX модели - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Et il n'y a rien sur les clés pour OnnxRun() dans l'aide.
Документация по MQL5: ONNX модели / OnnxRun
Документация по MQL5: ONNX модели / OnnxRun
  • www.mql5.com
OnnxRun - ONNX модели - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Dans l'aide ONNX, il n'y a pas d'information sur les fonctions OnnxSetInputShape() et OnnxSetOutputShape(). Ce qu'elles doivent faire n'est pas très clair.
 
Aleksey Nikolayev #:
Dans l'aide ONNX, il n'y a pas d'information sur les fonctions OnnxSetInputShape() et OnnxSetOutputShape(). Ce qu'elles doivent faire n'est pas très clair.


Ces méthodes définissent la dimensionnalité des données d'entrée et de sortie du modèle. Aujourd'hui, nous allons les ajouter à l'aide

//+------------------------------------------------------------------+
//|                                        ONNX.Price.Prediction.mq5 |
//|                                  Copyright 2023, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"

const long  ExtOutputShape[] = {1,1};
const long  ExtInputShape [] = {1,10,4};
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
int OnStart(void)
  {
   matrix rates;
//--- получаем 10 баров
   if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC,2,10))
      return(-1);
//--- на вход модели должен подаваться набор вертикальных векторов OHLC
   matrix x_norm=rates.Transpose();
   vector m=x_norm.Mean(0);               // нормируем цены
   vector s=x_norm.Std(0);
   matrix mm(10,4);
   matrix ms(10,4);

   for(int i=0; i<10; i++)
     {
      mm.Row(m,i);
      ms.Row(s,i);
     }

   x_norm-=mm;
   x_norm/=ms;
//--- создаём модель
   long handle=OnnxCreateFromBuffer(model,ONNX_DEBUG_LOGS);

   if(!OnnxSetInputShape(handle,0,ExtInputShape))
     {
      Print("failed, OnnxSetInputShape error ",GetLastError());
      OnnxRelease(handle);
      return(-1);
     }

   if(!OnnxSetOutputShape(handle,0,ExtOutputShape))
     {
      Print("failed, OnnxSetOutputShape error ",GetLastError());
      OnnxRelease(handle);
      return(-1);
     }
//--- запускаем модель
   matrixf x_normf;
   vectorf y_norm(1);

   x_normf.Assign(x_norm);
   if(!OnnxRun(handle,ONNX_DEBUG_LOGS | ONNX_NO_CONVERSION,x_normf,y_norm))
     {
      Print("failed, OnnxRun error ",GetLastError());
      OnnxRelease(handle);
      return(-1);
     }

   Print(y_norm);
//--- обратно разнормируем цену из выходного значения
   double y_pred=y_norm[0]*s[3]+m[3];

   Print("predicted ",y_pred);
//--- завершили работу
   OnnxRelease(handle);
   return(0);
  }
//+------------------------------------------------------------------+
 
mytarmailS #:
Qu'est-ce que tu veux dire par là ?
Sur mon ordinateur, je suis banni pour 10 ans, mais sur mon téléphone, je ne suis plus banni)))

Tu as probablement un "faux bannissement d'IP" :

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Question à l'administration du site mql5.com

Sergey Golubev, 2022.12.16 17:22

Si vous êtes banni et que vous pouvez poster des messages ici, il s'agit d'un "faux bannissement d'IP".
Vous avez probablement une IP dynamique, et elle est accidentellement "tombée" sur l'IP bannie de quelqu'un.
Lorsque j'"attrape" un tel bannissement, j'éteins simplement mon ordinateur, j'éteins le routeur, puis j'allume le routeur et j'allume mon ordinateur.
En conséquence, mon IP change (et j'ai également une IP dynamique), et l'inscription d'environ 10 ans disparaît.

...

Raison: