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

 
ivanivan_11:

continuer à utiliser le R de mt5 via des béquilles. une bonne chose qu'ils en aient - mt4r.

Excusez-moi. Est-ce que mt4r fonctionne aussi pour 5 ? L'avez-vous vérifié ?
 
Alexey Burnakov:
Désolé. Est-ce que mt4r pour 5 fonctionne aussi ? L'avez-vous vérifié ?
Voir ici, youtz https://www.mql5.com/ru/forum/37931/page10#comment_2945898
Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""
Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""
  • www.mql5.com
Мы создадим индикатор и эксперт, использующие модель глубокой сети и работающих в связке по схеме клиент-сервер и проведем их тестирование.
 
ivanivan_11:
voir ici, youtz https://www.mql5.com/ru/forum/37931/page10#comment_2945898
О. Et c'est tout ce qu'il y a à faire. Je veux épingler un modèle de binning de gradient avec 500 arbres, s'il vous plaît. Je veux une régression robuste avec un régularisateur à filet élastique, s'il vous plaît. Et ces méthodes ne sont pas si fréquentes. Et sous R, il y en a beaucoup.
 
Quantum:

Article "Computing discrete mixtures of continuous distributions" est disponible sur le site de l'auteur.

Les auteurs de l'article affirment que le problème réside dans le critère de convergence de la série.


La mise en œuvre de l'algorithme de récurrence qu'ils proposent 7.2 https://github.com/neurodebian/afni_removeme_eventually/blob/master/nct.c.

Cependant, le calcul de la récurrence comporte des incertitudes. Par exemple, pour la fonction bêta :


#include <Math\Stat\Math.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double a=1;
   double b=1;
   double r_beta=MathBeta(a,b);
   for(int j=0; j<40; j++)
     {
      if(j>0)
        {
         r_beta*=((a+j-1)/(a+b+j-1));
        }
      double beta=MathBeta(a+j,b);
      PrintFormat("%d   error=%5.20e",j,beta-r_beta);
     }
  }

Le calcul de la FCD peut être suffisamment précis, mais pour convertir des quantiles avec une grande précision, sa précision peut ne pas être suffisante.

Par conséquent, nous avons utilisé la sommation directe sans calcul de récurrence dans l'algorithme de calcul des quantiles.

Merci pour l'information !
 
ivanivan_11:

Messieurs, quel est l'argument pour 100 500 pages ? Qui est le meilleur en maths ? Quelle différence cela fait-il pour vous par principe que la fonction soit définie en 0 ou pas, qu'une erreur en R soit écrite dans l'article ou pas ? C'est comme si on discutait ici de votre enfant en lui disant qu'il est un total ... et que vous le défendiez de tout votre torse.

Prenez-le comme acquis et utilisez les fonctionnalités intégrées dans mt5, demandez aux développeurs de nouvelles fonctionnalités, si quelque chose manque, écrivez votre propre fonctionnalité. Vous devez utiliser de nouveaux jetons, écrire vos propres jetons, s'il manque quelque chose, écrivez le vôtre.

Il n'y a pas de différence fondamentale. Nous n'avons aucune différence en principe, et encore moins en pratique.

Mais il existe - une réponse aux clichés catégoriques. Et si ces réponses n'existent pas, vous pouvez pisser sur n'importe quelle norme (y compris l'IEEE - la plus grande communauté scientifique) et écrire ce que vous voulez.

 
Alexey Burnakov:

Il n'y a pas de différence de principe. Il n'y en a pas, et encore moins de pratique.

Il existe une réponse aux clichés catégoriques. S'il n'y aura pas de telles réponses, vous pouvez vous appuyer sur n'importe quelle norme (y compris l'IEEE - la plus grande communauté scientifique) et écrire ce que vous voulez.

Vous n'avez rien pu opposer à l'explication de @Quantum, qui a fait des recherches très approfondies sur le sujet et a montré la racine de l'erreur. Il a écrit la bibliothèque, a fait une recherche approfondie, a montré le raisonnement, alors que vous ne faites que poser des questions et croire en R.

Nos conclusions étaient correctes.

 
ivanivan_11:

Messieurs, quel est l'argument pour 100 500 pages ? Qui comprend le mieux les mathématiques ? Quelle différence cela fait-il pour vous par principe que la fonction soit définie en 0 ou non, que l'article dise qu'il y a une erreur dans R ou non... C'est comme si on discutait ici de votre enfant et qu'on lui disait qu'il est un total... et que vous le défendiez à fond de train.

Alexey Burnakov:

Il n'y a pas de différence de principe. Il n'y a pas de différence en principe, et encore moins en pratique.

Je ne pourrais pas être plus d'accord. Vous ne le rencontrerez peut-être pas dans les calculs pratiques, mais la densité doit être définie correctement.

Un exemple a été trouvé

> dgamma(0,0.5,1,log=FALSE)[1] Inf

ce qui montre qu'on ne peut pas se contenter de renvoyer la valeur limite, sinon la fonction de densité de probabilité devient infinie. Il s'agit d'une erreur.

La façon correcte de le définir est la suivante :

Alors tout est logique et correct.

En Matlab, on procède de la même manière :

>> gamma_pdf(0.5,1,0)

ans =

0.00000000000000e+000

>> gamma_pdf(1,1,0)

ans =

0.00000000000000e+000

 
Renat Fatkhullin:

Vous n'avez rien pu opposer aux explications de @Quantum, qui a travaillé très profondément sur le sujet et montré la racine de l'erreur. Il a écrit la bibliothèque, a fait des recherches approfondies, a montré le raisonnement, et de votre part que des questions et la croyance en R.

Nos conclusions étaient justes.

La voie que vous avez choisie est claire. Construire une boîte à outils qui permettra (comme vous le pensez) de résoudre les mêmes problèmes qu'en R. Peut-être.

Mais vous devez comprendre qu'ICL et R sont des langages de niveau d'abstraction différent.

MCL est un langage d'implémentation avec tout ce que cela implique. Elle constitue le mode de pensée correspondant pour les programmeurs.

R/Python sont des langages algorithmiques, avec un niveau d'abstraction plus élevé, vous permettant de résoudre des problèmes complexes sans avoir à vous soucier du niveau de mise en œuvre. Oui, des goulots d'étranglement apparaissent parfois lors du profilage de calculs complexes. Alors, descendons, écrivons un fichier Cp et continuons. Si cela n'aide pas, parallélisez-le, si cela ne suffit pas - connectez la carte graphique. Et pour tout cela, il existe des solutions toutes prêtes et testées !

Vous suggérez de commencer par le bas. Je ne dis pas que vos outils peuvent être en or aujourd'hui ; vous pouvez même en faire du platine, mais ils resteront des outils. Au sens figuré, si vous avez de bons outils et des mains étourdies dans le garage, vous pouvez construire un vélo, et vous pouvez prendre des unités prêtes à l'emploi et assembler un vélo avec les propriétés requises. Il est inutile d'argumenter pour savoir laquelle de ces approches est la meilleure. Ils sont différents et ont tous deux droit à la vie. Chacun peut choisir en fonction de ses préférences.

Mais ce sont deux routes sur des plans parallèles, je doute qu'elles se croisent dans un avenir proche.

Bonne chance

 
Quantum:

Je ne pourrais pas être plus d'accord. Vous ne rencontrerez peut-être pas ce problème dans les calculs pratiques, mais la densité doit être définie correctement.

Un exemple a été trouvé

ce qui montre que l'on ne peut pas simplement renvoyer une valeur limite, sinon la densité de probabilité est infinie. C'est une erreur.

La façon correcte de le définir est la suivante :

Alors tout est logique et correct.

Matlab fait la même chose :

OK, accepté.

Et pourquoi dites-vous, "...correctement donc..." ? De quelles considérations s'agit-il ? Poke me again à Wolfram, où le statisticien Oncle John a écrit "otherwise 0". Selon vos propres considérations en tant qu'expert, pourquoi est-il correct de définir la densité comme 0 dans zéro ? Et des exemples où définir la densité comme 1 ou inf devient un problème ? Sans évoquer de grands projets logiciels, s'il vous plaît...

Et j'ai déjà donné des exemples de discussions où il y avait des exemples que 1 est plus pratique... Vous pouvez lire mon dernier message en cliquant sur les liens.

Merci.

 
Vladimir Perervenko:

La voie que vous avez choisie est claire. Construire une boîte à outils qui permettra (comme vous le pensez) de résoudre les mêmes problèmes qu'en R. Peut-être.

Vous proposez de tout recommencer depuis le début. Je ne dis pas que vos outils d'aujourd'hui peuvent être en or et que vous pouvez même en faire du platine, mais ils resteront des outils. Au sens figuré, si vous avez de bons outils et des mains étourdies dans le garage, vous pouvez construire un vélo, et vous pouvez prendre des unités prêtes à l'emploi et assembler un vélo avec les propriétés requises. Il est inutile d'argumenter pour savoir laquelle de ces approches est la meilleure. Ils sont différents et ont tous deux droit à la vie. Chacun peut choisir en fonction de ses préférences.

Mais ce sont deux routes sur des plans parallèles et je doute qu'elles se croisent dans un avenir proche.

Notre approche : porter vos développements de R à MQL5 en utilisant nos bibliothèques standard.

Vous verrez que c'est non seulement possible mais facile. Nous nous sommes lancés dans une grande randonnée pour implémenter des fonctions complexes dans les bibliothèques et le langage lui-même.

Aujourd'hui, nous allons publier une bêta et montrer une autre bosse avec des bibliothèques graphiques pour remplacer plot dans R.