Questions d'un "mannequin - page 229

 
Rosh:

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 ?

 
tol64:

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 le moment, les fichiers ne peuvent pas être transférés vers le cloud.
 
lazarev-d-m:


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 :

  • J'ai un fichier compilé de mon conseiller expert en tant que EX5 ;
  • indicateurs et bibliothèques EX5 reliés par les directives #property tester_indicator et #property tester_library (les DLLs sont définitivement interdites dans le cloud)
  • les fichiers de données nécessaires aux tests, qui sont connectés à l'aide de la directive #property tester_file ;
  • les conditions de test/optimisation (nom de la sécurité, intervalle de test, mode de simulation, etc.)
  • l'environnement de négociation (propriétés du symbole, conditions de négociation, etc.)
  • un ensemble de paramètres du conseiller-expert, qui forment l'ensemble des passes - tâches requises.

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 ?

 
tol64:

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 ?
 
lazarev-d-m:
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 ?
Oui, si le fichier ne se trouve pas dans le dossier partagé du terminal, il peut être utilisé dans le nuage.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
 
tol64:

... 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.

 
lazarev-d-m:

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 :

int OnInit()
  {
int cl_ctx;
if((cl_ctx=CLContextCreate(CL_USE_ANY))==-1)
  {
    Print("OpenCL not found! Err: ", GetLastError());
    return(-1);
  }
Print("Ok!!!");
return(0);
  }

void OnTick() {} 
 
MigVRN: Pourquoi ce code ne fonctionne pas 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

 
Yedelkin:
Quel type d'erreur est renvoyé ?

Dans cette variante - 0 :)

OpenCL non trouvé ! Err : 0
 
Yedelkin:

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

C'est là qu' ils disent que ça marche.