Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
La propriété #property tester_file est précisément destinée à éviter de mettre n'importe quoi n'importe où à la main .
fichier_testant
chaîne de caractères
Nom de fichier pour le testeur, en précisant son extension et entre guillemets (comme une chaîne constante). Le fichier spécifié sera transmis au testeur pour être travaillé. Les fichiers d'entrée pour les tests, s'ils sont nécessaires, doivent toujours être spécifiés.
Si un fichier datafile .csv est nécessaire au fonctionnement du programme, et qu'il se trouve dans le répertoire terminal\MQL5\Files, le fichier sera automatiquement déplacé par le testeur vers lerépertoire testing_agent\MQL5\Files (c'est pour cela que la #propriété tester_file datafile.csv doit être spécifiée).
Il en va de même lorsqu'un fichier de test se trouve dans le dossier commun du terminal ?
Si j'ajoute la ligne :
#property tester_file "Test.txt"
...j'obtiens une erreur comme celle-ci :
//---
Je veux transférer un fichier vers le nuage à partir d'un dossier partagé du terminal. Comment je fais ça ?
La même chose s'applique-t-elle lorsque le fichier de test se trouve dans le dossier partagé du terminal ?
Si j'ajoute la ligne :
...j'obtiens une erreur comme celle-ci :
//---
Je veux transférer un fichier vers le nuage à partir d'un dossier partagé du terminal. Comment je fais ça ?
Je pense que ce point a déjà été discuté et qu'il a été constaté que, pour l'instant, les fichiers ne peuvent pas être transférés vers le cloud.
Il faut un lien vers une discussion sur cette question alors. Où cela a-t-il été discuté ?
Pour ma part, je m'appuie sur certaines discussions passées et sur l'article : Le MQL5 Cloud Network accélère les calculs, mais quelque chose ne fonctionne pas.
Vous appuyez sur le bouton "Start" et le processus d'optimisation est lancé. Le terminal prépare la tâche pour les agents du testeur, qui comprend :
Le terminal MetaTrader 5 communique avec les nœuds du MQL5 Cloud Network et donne à chaque nœud un lot distinct de tâches pour l'exécution de passes spécifiques. Chaque nœud est en fait un mandataire, car il reçoit une tâche et un paquet de tâches (passages uniques), puis commence à distribuer ces tâches aux agents qui lui sont connectés. Dans ce cas, le conseiller expert, l'indicateur, la bibliothèque et les fichiers de données eux-mêmes ne sont pas enregistrés sur les disques durs des serveurs du MQL5 Cloud Network.
//---
J'ai déplacé le fichier d'optimisation dans le dossier local du terminal pour le moment. L'erreur ci-dessus ne se produit pas dans ce cas. Les tests dans tous les modes et l'optimisation se déroulent normalement, mais lorsqu'on essaie d'activer l'optimisation dans le nuage, le journal se remplit de messages comme ceux-ci :
//---
Et parfois, aucun résultat d'optimisation n'apparaît. L'attente est assez longue (environ dix minutes), mais rien ne se passe.
//---
J'ai finalement découvert que pour de nombreux personnages, l'optimisation dans le nuage n'est "pas disponible". (EA est multi-devises). J'ai essayé de modifier la liste des symboles manuellement et il s'est avéré que si j'ajoute ces symboles, l'optimisation ne démarre pas (de 2010 au jour actuel) :
NZDUSD,GBPUSD,EURJPY,EURGBP
Dès que je les ai supprimés de la liste, tout fonctionne. Mais je me suis réjoui trop tôt. Dès que j'augmente la quantité d'historique, je constate à nouveau la même situation (zéro résultat). Mon conseiller expert utilise beaucoup de mémoire :
//---
Où chercher, que faire ?
Il faut un lien vers une discussion sur cette question alors. Où cela a-t-il été discuté ?
Pour ma part, je m'appuie sur certaines discussions passées et sur l'article : Le MQL5 Cloud Network accélère les calculs, mais quelque chose ne fonctionne pas.
//---
J'ai déplacé le fichier d'optimisation dans le dossier local du terminal pour le moment. L'erreur ci-dessus ne se produit pas dans ce cas. Les tests dans tous les modes et l'optimisation fonctionnent bien, mais lorsque j'essaie d'activer l'optimisation dans le nuage, le journal se remplit de messages comme ceux-ci :
//---
Et parfois, aucun résultat d'optimisation n'apparaît. L'attente est assez longue (environ dix minutes), mais rien ne se passe.
//---
J'ai finalement découvert que pour de nombreux personnages, l'optimisation dans le nuage n'est "pas disponible". (EA est multi-devises). J'ai essayé de modifier la liste des symboles manuellement et il s'est avéré que si j'ajoute ces symboles, l'optimisation ne démarre pas (de 2010 au jour actuel) :
NZDUSD,GBPUSD,EURJPY,EURGBP
Dès que je les ai supprimés de la liste, tout fonctionne. Mais je me suis réjoui trop tôt. Dès que j'augmente la quantité d'historique, je constate à nouveau la même situation (zéro résultat). Le conseiller expert utilise beaucoup de mémoire :
//---
Où chercher, que faire ?
Si j'ai bien compris, vous parvenez à envoyer d'une manière ou d'une autre le fichier et les dossiers du terminal vers d'autres ordinateurs pour les utiliser dans le travail de l'EA ?
... Les tests dans tous les modes et l'optimisation fonctionnent bien, mais lorsqu'on essaie d'activer l'optimisation dans le nuage, le journal se remplit de messages comme celui-ci :
...
Une erreur d'envoi d'historique a clignoté dans le journal : history send error
Il y a un problème avec l'histoire. Que dois-je faire dans ce cas ? Je veux optimiser les paramètres de l'année 2000 par des caractères multiples.
Prenez la déclaration de variable derrière la fonction OnInit et assignez une valeur bool - tout a fonctionné pour moi dans le testeur et dans le débogage en même temps.
Donnez-vous souvent de tels conseils "utiles" dans cette section ? Et si j'étais un débutant, il chercherait un problème une demi-année après ce conseil :)
Le type bool est destiné à stocker les valeurs logiques true ou false, qui représentent numériquement 1 ou 0 respectivement.
Cela signifie que vous faites délibérément en sorte qu'une variable soit égale à 0 ou 1, puis que vous la comparez à un nombre négatif et que vous en concluez que tout fonctionne.
La question est de savoir pourquoi ce code refuse de fonctionner dans le testeur :
Quel type d'erreur renvoie-t-il ?
Je ne connais rien à OpenCL, mais j'ai déjà vu un fil de discussion sur OpenCL et le testeur. Peut-être le testeur ne prend-il tout simplement pas en charge cette fonctionnalité ? Jetez un coup d'œil au sujet OpenCL : tests d'implémentation interne dans MQL5
Quel type d'erreur est renvoyé ?
Dans cette variante - 0 :)
Je ne connais pas OpenCL, mais je suis tombé sur un fil de discussion concernant OpenCL et un testeur. Peut-être que le testeur ne supporte pas cette fonctionnalité ? Voir le sujet OpenCL : tests d'implémentation interne dans MQL5