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

 
kimkarus:

Le testeur de Meta Trader 4 génère une erreur :

i_SAE EURUSD,M30 : array out of range in 'i_SAE.mq4' (140,22)

Rterm démarre correctement, deux instances.

D'après le code, il s'agit de Time[]. J'ai fait tourner l'indicateur par barres, par ticks, initialisé en même temps que l'Expert Advisor. Cela ne sert à rien.

Existe-t-il une solution ?

En règle générale, cela se produit lorsque l'historique à gauche du point de déclenchement est inférieur à "back" (c'est-à-dire moins de 700 barres).

Vous ne pouvez pas diminuer cette valeur. Il s'agit de la valeur minimale.

De telles erreurs ne se sont pas produites depuis longtemps.

Vérifiez l'historique. Et ne lancez pas l'indicateur à la limite de l'historique.

Bonne chance !

 
kimkarus:

Rien de spécial, j'ai juste initialisé l'Expert Advisor et l'indicateur dans la console et dans le studio (projet R, le tout selon les instructions de l'article).

Est-il possible d'obtenir mt4Rb7.dll pour 64 bit et mql5 ?

Il ne fonctionne pas sans, seulement dans metatrader 4.

Je n'ai pas encore réussi à ajouter un testeur (mql4).

R version 3.2.2

MT5 n'a pas été impliqué et ne prévoit pas de l'être. La DLL fonctionne maintenant avec R 64-bit dans MT4 (32p).

D'après ce que j'ai compris, le fonctionnement de la DLL dans MT5 ne devrait pas poser de problème. Bien que je ne connaisse pas les particularités de MT5.

Et en quoi voyez-vous l'avantage d'utiliser MT5 ? Qu'est-ce qui est impossible à faire dans MT4 par rapport à MT5 ? Donc pour le développement général.

Bonne chance

 

Les erreurs semblent avoir disparu. Mais la deuxième instance de Rterm n'est pas lancée lorsque l'on appelle l'indicateur depuis le conseiller expert via iCustom(). Existe-t-il un autre moyen de lancer l'indicateur en même temps que le conseiller expert, si ce n'est en incluant l'indicateur dans le conseiller expert ?

En ce qui concerne MQL5. Je viens de commencer à maîtriser ce langage.

D'après ce que j'ai appris. Il y a un avantage indéniable à créer un Expert Advisor basé sur le vote d'indicateurs (signaux), l'échange de tampons d'indicateurs.

Bien sûr, tout est mis en œuvre dans MQL4, mais à l'aide de "béquilles", et non pas de la boîte. Le transfert du code de MQL4 à MQL5 pose également quelques difficultés en raison de l'absence de fonctions simples de base dans MQL5, qui étaient nécessaires auparavant, mais qui sont maintenant cachées.

En ce qui concerne mt4Rb7.dll. Cette bibliothèque est compilée en tant qu'objet système 32 bits et ne fonctionnera donc pas dans Meta Trader 5, car elle fonctionne comme une bibliothèque 64 bits. Seule la version 32 bits de Meta Trader convient, dont je n'ai pas trouvé la cinquième version. C'est pourquoi je teste la quatrième version.

 
kimkarus:

Les erreurs semblent avoir disparu. Mais la deuxième instance de Rterm n'est pas lancée lorsque l'on appelle l'indicateur depuis le conseiller expert via iCustom(). Existe-t-il un autre moyen de lancer l'indicateur en même temps que le conseiller expert, si ce n'est en incluant l'indicateur dans le conseiller expert ?

A propos de MQL5. Je viens de commencer à maîtriser ce langage.

D'après ce que j'ai appris. Il y a un avantage indéniable à créer un Expert Advisor basé sur le vote d'indicateurs (signaux), l'échange de tampons d'indicateurs.

Bien sûr, tout est mis en œuvre dans MQL4, mais à l'aide de "béquilles", et non pas de la boîte. Le transfert du code de MQL4 à MQL5 pose également quelques difficultés en raison de l'absence de fonctions simples de base dans MQL5, qui étaient nécessaires auparavant, mais qui sont maintenant cachées.

En ce qui concerne mt4Rb7.dll. Cette bibliothèque est compilée en tant qu'objet système 32 bits et ne fonctionnera donc pas dans Meta Trader 5, car elle fonctionne comme une bibliothèque 64 bits. Seule la version 32 bits de Meta Trader convient, dont je n'ai pas trouvé la cinquième version. C'est pourquoi je teste la quatrième version.

Permettez-moi d'ajouter mes cinq cents.

Pourquoi est-ce si difficile avec R ? Quelques indicateurs, des serveurs...

Après tout, tout fonctionne (du moins pour moi) grâce à la bibliothèque incluse. Vous écrivez une variable string en µl, qui est un appel de fonction, vous la passez à R, qui exécute le nombre nécessaire de fonctions R, et le bonheur est venu....

Ou est-ce que quelque chose m'échappe ?

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

Permettez-moi de donner mon avis.

Pourquoi est-ce si difficile avec R ? Quelques indicateurs, des serveurs...

Après tout, tout fonctionne (du moins pour moi) via la bibliothèque fournie. Vous écrivez une variable de type chaîne de caractères dans µl, qui est un appel de fonction, vous la passez à R, qui exécute le nombre nécessaire de fonctions R, et le bonheur est venu....

Ou est-ce que j'ai raté quelque chose ?

Apparemment, il s'agit d'un malentendu.

Je veux exécuter tout cela dans le testeur mql4.

Sans le testeur, tout fonctionne bien, le bonheur est là.

Dans MQL5, cela ne fonctionne pas, à cause de la numérisation différente des objets à exécuter.

Quelle est la différence entre la bibliothèque jointe pour travailler avec R de l'article et celle que vous proposez (le poids est différent) ?

 
kimkarus:

Apparemment, il y a un malentendu.

Je veux exécuter dans le testeur mql4 toutes ces choses.

Sans le testeur, tout fonctionne bien, le bonheur est là.

Dans MQL5 cela ne fonctionne pas, à cause de la numérisation différente des objets à lancer.

Quelle est la différence entre la bibliothèque ci-jointe pour travailler avec R de l'article et celle que vous proposez (le poids est différent) ?

J'utilise actuellement cette bibliothèque.

Sur la version précédente de MT4 (jusqu'à 540), j'ai utilisé le testeur sans aucun problème.

La bibliothèque elle-même est écrite en pascal, le code source est disponible. Je ne vois aucun problème à utiliser cette bibliothèque dans mcl4 ou mcl5.

Je pense que le problème se situe au niveau du circuit complexe où le testeur s'arrête.

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

Permettez-moi de donner mon avis.

Pourquoi est-ce si difficile avec R ? Quelques indicateurs, des serveurs...

Après tout, tout fonctionne (du moins pour moi) via la bibliothèque fournie. Vous écrivez une variable de type chaîne de caractères dans µl, qui est un appel de fonction, vous la passez à R, qui exécute le nombre nécessaire de fonctions R, et le bonheur est venu....

Ou est-ce que quelque chose m'échappe ?

Bonjour SanSanych.

La variante client-serveur est intéressante pour plusieurs raisons :

- travailler sur plusieurs outils en même temps.

- Mais l'essentiel est que le serveur permette un échange d'informations bidirectionnel et non bloquant, non seulement entre le client et le serveur (les clients peuvent être au nombre de 128), mais aussi entre les clients et d'autres serveurs. En d'autres termes, l'échange de données avec le serveur et d'autres clients est possible pendant les longs calculs. La seule limitation est que vous ne pouvez pas demander le résultat d'un calcul avant qu'il ne soit terminé, car le Rterm se bloquerait. Cela vous permet de construire un système hiérarchique complexe avec un Rterm contrôlant tous les autres. Bien sûr, si vous en avez besoin.

- Il est possible de transmettre les données à un indicateur, qui dessinera les informations nécessaires sur le graphique. D'après mon expérience, il n'y a pas de contrôle plus fiable que le contrôle visuel. Et le fait de dessiner à partir de l'Expert Advisor est problématique.

Bien sûr, tout peut être collecté dans le conseiller expert, mais lorsque l'on travaille sur plusieurs paires, certains problèmes se posent, qui peuvent bien sûr être résolus par d'autres moyens.

C'est une façon de travailler, mais cela ne veut pas dire que c'est la seule ou l'idéale.

J'essaie de présenter le plus grand nombre possible de variantes de travail dans l'article. L'utilisateur choisira ce dont il a besoin.

Il est facile de simplifier ce qui est complexe, mais l'inverse est difficile. À mon avis, la variante client-serveur proposée n'est pas si compliquée. Regardez la quantité de code sur MKL5 qui est nécessaire pour résoudre un tel problème.

Bonne chance

 
kimkarus:

Apparemment, il y a un malentendu.

Je veux exécuter dans le testeur mql4 toutes ces choses.

Sans le testeur, tout fonctionne bien, le bonheur est là.

Dans MQL5 cela ne fonctionne pas, à cause de la numérisation différente des objets à lancer.

Quelle est la différence entre la bibliothèque jointe pour travailler avec R de l'article et celle que vous proposez (le poids est différent) ?

Puis-je vous demander pourquoi vous avez besoin d'exécuter l'Expert Advisor dans le testeur ?
 
kimkarus:

Les erreurs semblent avoir disparu. Mais la deuxième instance de Rterm n'est pas lancée lorsque l'on appelle l'indicateur depuis le conseiller expert via iCustom(). Existe-t-il un autre moyen de lancer l'indicateur en même temps que le conseiller expert que d'inclure l'indicateur dans le conseiller expert ?

De quel indicateur s'agit-il ? Quel indicateur voulez-vous utiliser via iCustom() ?

En ce qui concerne MQL5. Je viens de commencer à maîtriser ce langage.

D'après ce que j'ai appris. Il y a un avantage certain à créer un Expert Advisor basé sur le vote d'indicateurs (signaux), en échangeant des buffers d'indicateurs.

Tous les calculs, y compris ceux des indicateurs, doivent être effectués en R. Et il n'y a aucune restriction pour vos fantaisies en termes de mathématiques. Seules les citations sont tirées de MT !

Bien sûr, tout peut être mis en œuvre dans MQL4, mais à l'aide de "béquilles", et non pas de la boîte. Le transfert du code de MQL4 à MQL5 pose également quelques difficultés en raison de l'absence de fonctions simples de base dans MQL5, qui étaient nécessaires auparavant, mais qui sont maintenant cachées.

En ce qui concerne mt4Rb7.dll. Cette bibliothèque est compilée en tant qu'objet système 32 bits et ne fonctionnera donc pas dans Meta Trader 5, car elle fonctionne comme une bibliothèque 64 bits. Seule la version 32 bits de Meta Trader convient, dont je n'ai pas trouvé la cinquième version. C'est pourquoi je teste la quatrième version pour l'instant.

Essayez d'écrire à l'auteur. Il a une succursale où il apparaît de temps en temps. Mais d'après mes informations, la bibliothèque n'a pas été remaniée pour MT5.

Il faut que vous réorganisiez un peu vos idées sur la structure du conseiller expert. Un conseiller expert doit faire son travail (exécuter les ordres, surveiller les positions, etc. etc.). Pour réaliser ces tâches, le langage (MKL4 ou MKL5) dans lequel vous l'implémentez n'a pas d'importance. C'est une question de préférence. Les calculs, les analyses et autres tâches complexes doivent être mis en œuvre dans le processus R.

Séparez "l'action" de la "réflexion". Aucun MKL n'est conçu pour "penser". Il est conçu pour "faire".

Vous devez utiliser chaque langage pour ce pour quoi il a été conçu.

Bonne chance !

 

Vladimir Perervenko

Ajouter à l'article des informations supplémentaires sur le travail avec R Studio

  • Pour que tout fonctionne correctement, vous devez vous assurer qu'il n'y a pas d'autres références à "localhost" dans le fichier hosts.
  • Veillez à installer tous les paquets et à les exécuter à l'aide de la commande (dans l'espace de travail R) :

install.packages("R.matlab")
install.packages("deepnet")
install.packages("caret")
install.packages("h2o")
install.packages("TTR")
install.packages("rminer")
install.packages("foreach")
install.packages("doParallel")
install.packages("svSocket")
install.packages("lattice")
install.packages("ggplot2")
install.packages("statmod")
install.packages("kknn")
install.packages("iterators")
install.packages("parallel")

library("R.matlab")
bibliothèque ("deepnet")
bibliothèque("caret")
bibliothèque("h2o")
bibliothèque ("TTR")
bibliothèque("rminer")
bibliothèque ("foreach")
bibliothèque ("doParallel")
bibliothèque ("svSocket")
bibliothèque ("lattice")
bibliothèque ("ggplot2")
bibliothèque ("statmod")
bibliothèque ("kknn")
bibliothèque ("iterators")
bibliothèque("parallel")