Réseau neuronal sous forme de script - page 5

 
Blast:

Comment puis-je l'utiliser ? J'ai mis un script sur le tableau, des piles de chiffres ont commencé à se réécrire... Que disent ces chiffres ?

Les nombres qui sont écrasés (faits pour la clarté) sont les poids des neurones qui s'ajustent dans le processus d'apprentissage (voir ci-dessus sur la branche).

Voici un exemple d'indicateur utilisant la toute première version de la grille postée au début de la branche .

Entrées

               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 2 )) test_pat[0] = 0.1 ; else test_pat[0] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 3 )) test_pat[1] = 0.1 ; else test_pat[1] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 4 )) test_pat[2] = 0.1 ; else test_pat[2] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 5 )) test_pat[3] = 0.1 ; else test_pat[3] = 0.9;

Sortie

               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 1 )) desired[0] = 0.1 ; else desired[0] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 1 )) desired[1] = 0.1 ; else desired[1] = 0.9;

L'entrée et la sortie ne sont données qu'à titre d'exemple. Ce n'est pas la meilleure option.

La meilleure variante doit être recherchée et essayée.

Dossiers :
 
sprite:

L'entrée et la sortie ne sont qu'un exemple. Comme ce n'est pas la meilleure option.

La meilleure option doit être recherchée et essayée.

Avez-vous essayé d'obtenir la probabilité d'une direction prédite comme sortie, au moins dans l'option simple haut/bas ?

 
SK. писал (а):
sprite:

L'entrée et la sortie ne sont qu'un exemple. Comme ce n'est pas la meilleure option.

La meilleure option doit être recherchée et essayée.

Avez-vous essayé d'obtenir la probabilité d'une direction prédite comme sortie, au moins dans l'option simple de haut/bas ?

Comment le codez-vous(probabilité de la direction prédite) ?
 
sprite:
Comment peut-on la coder(probabilité de la direction prédite) ?

Ça doit être possible d'une manière ou d'une autre. Vous obtenez une sorte de 0 et de 1 dans la sortie.

Par exemple, 01 = 50%, 10 = 50%, 00 = -100%, 11 = +100%.

Si vous essayez un peu plus fort, vous pouvez prescrire une sorte de retour d'information - pour vérifier la direction réelle.

 

La fonction cible pour l'entraînement de la grille est une question intéressante !

Elle est traitée dans le livre d'Ezhov, Shumsky "Neurocomputing and its applications in economics and business".

 
Mes amis, oubliez ce MQL. C'est lent. Vous devriez écrire un réseau en C++, l'apprendre, puis introduire les coefficients préparés dans le programme mql. Les gens essaient même de charger la carte vidéo pendant la formation, aussi tordue soit-elle, pour gagner du temps, alors que vous en perdez.
 
Wisard писал (а) >>
Mes amis, oubliez ce MQL. C'est lent. Vous devriez écrire le réseau en C++, l'apprendre et ensuite coller les coefficients préparés dans un programme mql. Les gens essaient même de charger une carte vidéo pendant la formation, n'importe comment, ils le déforment pour gagner du temps, alors que vous en perdez.

c'est évident... bien sûr que c'est lent

mais cela n'a pas empêché (le bon programmeur a MIEUX fait de l'implémenter dans le code MQL4)

ce n'est pas la question

J'ai donné un exemple simple ici, une grille simple : en C, la grille prend quelques secondes pour s'entraîner, alors qu'en MQL cela prend jusqu'à plusieurs minutes ou même des heures

et que celui qui a été formé fonctionne à une vitesse acceptable - c'est-à-dire que si vous ne le ré-entraînez pas à chaque étape

le réseau PNN est très rapide ! en C, il est soit dans MQL4, soit dans le script le plus lent - dans un travail réel, il n'apparaîtra pas.

parce que vous n'avez pas à prendre de décisions comme si vous attrapiez des puces - la vitesse de la machine est suffisante

mais je préférerais créer et écrire le réseau en C. Cela permet de l'entraîner rapidement, de le modifier, d'ajouter de nouvelles fonctionnalités et de le tester.

La migration vers MQL4 n'a aucun sens... sauf pour le CHAMPIONNAT.

 
SK. писал (а) >>

Avez-vous essayé d'obtenir la probabilité d'une direction prédite comme sortie, au moins dans une version simple haut/bas ?

Sergei, je pense que la tâche ici est juste de montrer la direction actuelle et d'informer rapidement quand elle change.

plutôt qu'une prédiction de ce qui va arriver, c'est une indication de ce qui se passe en ce moment,

c'est une tentative de maintenir une position ouverte dans la bonne direction sans la laisser aller à l'encontre des instructions

l'ouverture elle-même peut se faire sur la base de différents filtres et d'autres indicateurs, par exemple une divergence pour une divergence dans un délai plus court

Il se peut que le réseau de quelqu'un soit si bon qu'il ne nécessite aucune manipulation supplémentaire.

 
YuraZ писал (а) >>

c'est évident... bien sûr que c'est lent

mais cela n'a pas empêché (le bon programmeur a MIEUX fait de l'implémenter dans le code MQL4)

ce n'est pas la question

J'ai donné un exemple simple ici, une grille simple : en C, la grille prend quelques secondes pour s'entraîner, alors qu'en MQL cela prend jusqu'à plusieurs minutes ou même des heures

et que celui qui a été formé fonctionne à une vitesse acceptable - c'est-à-dire que si vous ne le ré-entraînez pas à chaque étape

le réseau PNN est très rapide ! en C, il est soit dans MQL4, soit dans le script le plus lent - dans un travail réel, il n'apparaîtra pas.

parce que vous n'avez pas à prendre de décisions comme si vous attrapiez des puces - la vitesse de la machine est suffisante

mais je préférerais créer et écrire le réseau en C. Cela permet de l'entraîner rapidement, de le modifier, d'ajouter de nouvelles fonctionnalités et de le tester.

La migration vers MQL4 n'a aucun sens... sauf pour le CHAMPIONNAT.

Peut-être aller dans le sens de la connexion d'une DLL en C++ pour accélérer MQL. Écrire des fonctions universelles de gabarits en C++, bien que ce soit un peu la même chose que NSDT. D'ailleurs, BETTER a tout écrit en C++ et a traduit le résultat final en MQL.
 
YuraZ писал (а) >>

CE RÉSEAU

LE MÊME RÉSEAU mais écrit en Microsoft Visual C++ 6.0

La vitesse est supérieure de plusieurs ordres de grandeur à celle de MQL4.

l'algorithme n'a pas été modifié, le transfert de MQL4 vers C++ est aussi simple que possible, sans utiliser de classes d'objets.

Je n'ai pas trouvé de fichier DLL. Si vous le pouvez, dites-moi comment en créer un.

Raison: