Discussion de l'article "Réseaux de neurones de troisième génération : Réseaux profonds" - page 14

 
Rashid Umarov:
Insérez le code correctement, s'il vous plaît. Je l'ai corrigé
Je vous remercie. Je n'ai pas réalisé tout de suite de quel bouton il s'agissait.
 
Vladimir Perervenko:

Bonjour.

De quel script s'agit-il ?

Pourriez-vous décrire un peu plus en détail ce qu'il contient ?

J'ai cru comprendre que vous aviez réussi à exécuter le script avec le processus R dans le testeur ?

Si c'est le cas, c'est intéressant.

Prenez votre temps et décrivez-le de la manière la plus détaillée possible. Le processus R est-il exécuté dans un bundle client-serveur ou dans un seul Rterm ?

Oui, il s'exécute dans une liaison client-serveur.

Comment puis-je l'expliquer aussi simplement que possible ?

J'ai repris le code de la fonction OnTimer() dans une fonction commune pour OnTick() et OnTimer(). La seule chose que j'ai ajoutée est un commutateur de mode personnalisé et un compteur de tic-tac.

Toutes les autres procédures de démarrage restent les mêmes. Un peu plus tard, j'implémenterai la fonction dans le script joint au forum et je le posterai.

PS : La documentation MQL4 indique que la fonction OnTimer() ne fonctionne tout simplement pas dans le testeur.

 
kimkarus:

Oui, c'est du client-serveur.

Comment puis-je l'expliquer aussi simplement que possible ?

J'ai repris le code de la fonction OnTimer() dans une fonction commune pour OnTick() et OnTimer(). La seule chose que j'ai ajoutée est un commutateur de mode personnalisé et un compteur de tic-tac.

Toutes les autres procédures de démarrage restent les mêmes. Un peu plus tard, j'implémenterai la fonction dans le script joint au forum et je le posterai.

PS : la documentation MQL4 indique que la fonction OnTimer() ne fonctionne tout simplement pas dans le testeur.

Je comprends OnTimer().

Avez-vous fait des progrès supplémentaires dans la connexion client-serveur ?

Je n'ai toujours pas réussi à la faire fonctionner. Et je ne suis pas le seul, à en juger par les messages sur le fil anglophone.

Bonne chance

 

Comme promis, j'ai joint le SAE local à MQL4 pour qu'il fonctionne dans le testeur de stratégie.

i_SAE

e_SAE

Remplacez les originaux, recompilez *.ex.

Démarrez le testeur, sélectionnez e_SAE, réglez Enable timer = false et Count ticks = 120 (pour moi c'était optimal). Démarrer.

Nous ajoutons de la vitesse, attendons le message magique "OPP = CLOSE...." sur le côté gauche, et réduisons la vitesse. Ensuite, on ajoute i_SAE au graphique avec Send to server = true. Ajouter un peu de vitesse. Nous attendons que les résultats soient finalisés.

Mon R était la version 3.2.2. Veillez à comparer votre version dans les deux fichiers !

Bonne chance pour vos expériences !

e_SAE

 
Bonjour, avez-vous trouvé un moyen de résoudre le problème avec le socket du serveur ?
 

Bonjour, En annexe de l'article, un expert mis à jour.

En annexe de l'article, un expert mis à jour .

Sortez de là.

Sortez de là.

Vladimir

 

Bonjour.

C'est une bonne question. Je vous remercie.

Vérifions maintenant comment cela fonctionne dans le testeur et dans les prochains exemples avec R, j'inclurai cette fonctionnalité.

Une version remaniée de ce DNSAE EA avec auto-apprentissage, mais sans serveur, est jointe au nouvel article sur le DNRBM.

N'hésitez pas à la tester.

Je vous souhaite bonne chance.

 
Bonjour, je vois que vous avez utilisé 11 indicateurs oscilator pour l'entrée, j'ai quelques indicateurs dans Mt4 et ils ne sont pas oscilator, comment puis-je ajouter ou remplacer ces indicateurs comme dans votre article ?

RBM empilé (DN_SRBM) https://www.mql5.com/fr/articles/1628

Deep neural network with Stacked RBM. Self-training, self-control
Deep neural network with Stacked RBM. Self-training, self-control
  • 2016.04.26
  • Vladimir Perervenko
  • www.mql5.com
This article is a continuation of previous articles on deep neural network and predictor selection. Here we will cover features of a neural network initiated by Stacked RBM, and its implementation in the "darch" package.
 
Fascinant.

Il est intéressant de noter que si un être humain est immergé dans une tâche, il s'améliorera
alors que si une machine fait de même, elle risque de s'en tenir à un optimum local.

L'immersion algorithmique pourrait peut-être évoluer d'un paradigme d'"étude" à un paradigme d'"exécution".

Excellent article. Props.
 
Vladimir Perervenko:


Une fois de plus, nous avons une phase rentable d'environ 5 semaines jusqu'à ce que le modèle se détériore.

C'est normal. Le modèle peut et doit être réappris périodiquement.

Je pense que la division en données de test et de formation n'est pas nécessaire : nous pouvons utiliser toutes les données pour la formation.

Les données peuvent être utilisées pour la formation. Il est important de se rappeler quelques points importants:
1. les ensembles de formation et de test ne doivent pas être croisés.
2. L'ensemble de formation doit être mélangé

3. Si le ratio des classes est déséquilibré , il faut procéder à un ajustement.

Je suis heureux qu'il y ait des collègues qui utilisent R.

Meilleures salutations

Vladimir

Bonjour,

aidez-moi à clarifier certains de mes préjugés négatifs sur les réseaux neuronaux (RN).

  1. Est-il exact qu'il faut d'abord optimiser les indicateurs à introduire dans le réseau neuronal ?
  2. Ensuite, vous optimisez les paramètres du réseau neuronal ?
  3. Ou bien faut-il optimiser les paramètres du réseau neuronal et les indicateurs en même temps ?
  4. N'est-il pas vrai que plus il y a de variables à optimiser, plus le risque de suradaptation est grand ?
  5. Si les ensembles de données pour 1. et 2. sont les mêmes, cela ne me conduirait-il pas à une sorte de suradaptation à l'ensemble de données ?
  6. N'est-ce pas exactement ce qu'indique laphrase "Une fois de plus, nous avons une phase rentable d'environ 5 semaines jusqu'à ce que le modèle se détériore" ?
  7. a) Supposons que nous ayons un ensemble d'indicateurs optimisés par le testeur et maintenant
    b) nous effectuons une seconde optimisation par le testeur uniquement pour vérifier quels sont les indicateurs optimisés dont nous avons besoin (*)
    c) de sorte que nous ayons un ensemble plus petit de nos indicateurs optimisés
    d) pour quelle raison ai-je besoin du NN ?
  8. Connaissez-vous une estimation de la taille de l'ensemble de données nécessaire pour un NN en raison du nombre d'entrées, de couches et de perceptrons ?


(*) Malheureusement, si vous exécutez l'optimiseur mt4' en mode génétique et que vous voulez essayer de contourner certains ensembles de paramètres (par exemple, ne pas tester si l'"indicateur-A" est "on") en retournant de OnInit() avec"INIT_PARAMETERS_INCORRECT", l'algorithme génétique compte toujours cela comme une passe valide et cela réduit le nombre de passes réellement exécutées avant que l'algorithme ne s'arrête en raison du nombre de passes qui est l'un des critères de terminaison.