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

 
jake89:

Bonjour

Aussi, le code suivant :

Je ne suis pas sûr de le comprendre. Que se passe-t-il si j'ai un nouveau vecteur X et que je veux le prétraiter et exécuter pr.sae<-nn.predict(SAE, X) ;

Comment faire ? Je vous remercie.

newX <- predict(spSign, X)
pr.sae <- nn.predict(SAE, newXX)
# Calculate parameters preprocessing
 spSign <- preProcess(x[t$tr, ], method = "spatialSign")
# Using these parameters (spSign) carry out the actual preprocessing 
x.tr<-predict(spSign, x[t$tr, ])
# Using these parameters (spSign) carry out the actual preprocessing  
x.ts<-predict(spSign, x[t$ts, ]

La description de la fonction preProcess() se trouve dans le package "caret".

Cordialement, je vous prie d'agréer, Monsieur, l'expression de mes salutations distinguées.


 
Vladimir Perervenko:

Description de la fonction preProcess(), voir le paquet "caret".

Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées.


J'ai décidé d'utiliser votre code... Mais je suis bloqué sur l'erreur "No calculation results ! Symbol".

Je vois dans le code qu'un serveur avec un port est référencé. De quel serveur s'agit-il ?

 
jake89:

J'ai décidé d'utiliser votre code ... Mais je suis bloqué sur l'erreur "No calculation results ! Symbol".

Je vois dans le code qu'un serveur avec un port est référencé. De quel serveur s'agit-il ?

Bonjour,

Qu' exécutez-vous qui a été exécuté?

Je ne peux pas lire dans les pensées à distance.

Veuillez décrire votre problème plus en détail.

Meilleures salutations

Vlad

 
Vladimir Perervenko:

Bonjour,

Qu'est-ce que vous exécutez qui a été exécuté?

Je ne peux pas lire dans les pensées à distance.

Veuillez décrire votre problème plus en détail.

Je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées.

Vlad

Ok, désolé. Je vais voir ce que je peux trouver d'autre. J'obtiens le message "No calculation results ! Symbol" et j'installe l'indicateur et j'obtiens toujours l'erreur.

J'ai fait quelques changements mais les marchés sont fermés en ce moment. Je vous tiendrai au courant la semaine prochaine.

 
jake89:

ok désolé . Je vais voir ce que je peux trouver d'autre. J'obtiens le message "No calculation results ! Symbol" et j'installe l'indicateur et j'obtiens toujours l'erreur.

J'ai fait quelques changements mais les marchés sont fermés en ce moment. Je vous tiendrai au courant la semaine prochaine.

Bonjour,

Le problème est apparu après la sortie d' une nouvelle version dupackage svSocket () .

Je n'ai pas trouvé la cause du blocage des données entre le client et le serveur.

J'ai réécrit l'expert, et l'ai attaché à un nouvel article qui doit être publié il y a quelques jours (aujourd'hui à la caisse).

Je vous prie d'agréer, Monsieur, mes salutations distinguées.

Vladimir

 

Rterm a échoué !

Rterm s'est planté !

Rterm s'est planté !

Rterm s'est écrasé !

 
Le moyen le plus efficace de gérer cela est le gestionnaire des tâches de Windows. Lorsque l'EA ou l'indicateur est chargé, si le Rterm n'apparaît pas dans la liste des tâches, c'est que le processeur R a planté. La cause principale de ce problème est une erreur de syntaxe dans le script, où la longueur des vecteurs MQL reçus ne correspond pas à la longueur des vecteurs analysés à partir du Rterm.

Ce problème peut être résolu en déboguant le script ligne par ligne du début à la fin dans Rstudio
 

Donc, après un long débogage et un suivi du travail, il s'est avéré que c'était ceci.

J'ai affiné le script pour qu'il fonctionne dans les tests de stratégie (il faut beaucoup de temps pour les tests !).

J'ai déplacé tout ce qui se trouvait dans la fonction OnTimer() vers action(), j'ai ajouté la fonction OnTick(). J'ai ajouté l'option timer_enable = true/false et la variable switch_count_ticks. Le résultat est à peu près le suivant :

 void OnTimer()
{
   if(timer_enable)
    {
      action();
    }
}
void OnTick()
{
   count_ticks++;
   if(sig == 0  || op == "WAIT")
   {
      CheckForClose(op, magic, sig);
   }

   if(timer_enable) return;
   if(count_ticks >= switch_count_ticks)
   {
      count_ticks=0;
      if(!timer_enable)
      {
         action();
      }
   }
   //action() ;
}

Dans le testeur, nous sélectionnons timer_enable = false et nous fixons switch_count_ticks = 200. Cette valeur s'est avérée optimale pour tester au moins une semaine dans un délai raisonnable. Nous laissons la vitesse du testeur par défaut.

Les meilleurs résultats ont été enregistrés avant l'ouverture des sessions et peu de temps après. La nuit a été désactivée.

 
Insérez le code correctement, s'il vous plaît. Je l'ai corrigé
 
kimkarus:

Donc, après un long débogage et un suivi du travail, il s'est avéré que c'était ceci.

J'ai affiné le script pour qu'il fonctionne dans les tests de stratégie (il faut beaucoup de temps pour les tests !).

J'ai déplacé tout ce qui se trouvait dans la fonction OnTimer() vers action(), j'ai ajouté la fonction OnTick(). J'ai ajouté l'option timer_enable = true/false et la variable switch_count_ticks. Le résultat est à peu près le suivant :


Dans le testeur, nous sélectionnons timer_enable = false et nous fixons switch_count_ticks = 200. Cette valeur s'est avérée optimale pour tester au moins une semaine dans un délai raisonnable. Nous laissons la vitesse du testeur par défaut.

Les meilleurs résultats ont été enregistrés avant l'ouverture des sessions et peu de temps après. La nuit a été désactivée.

Bonjour.

De quel script s'agit-il ?

Pourriez-vous décrire 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 ?