Utilisation des résultats de l'optimisation

Fonctions pour l'organisation du traitement personnalisé des résultats de l'optimisation dans le Strategy Tester. Elles peuvent être appelées lors de l'optimisation des agents de test, ainsi que localement dans les Expert Advisor et les scripts.

Lorsque vous exécutez un Expert Advisor dans le testeur de stratégie, vous pouvez créer votre propre réseau de données sur la base des types simples ou des structures simples(elles ne contiennent pas de chaînes, des classes d'objets ou des objets de tableaux dynamiques). Cet ensemble de données peut être enregistré en utilisant la fonctionFrameAdd() dans une structure spéciale appelée un frame. Au cours de l'optimisation d'un Expert Advisor, chaque agent peut envoyer une série de frames au terminal. Toutes les frames reçues sont écrites dans le fichier *.MQD nommé comme l'Expert Advisor dans le répertoire_du_terminal/MQL5/Files/Tester. La réception d'un frame dans le terminal client d'un agent de test génère l'événement TesterPass.

Les frames peuvent être stockées dans la mémoire de l'ordinateur et dans un fichier avec le nom spécifié. Le langage MQL5 ne fixe aucune limitation sur le nombre de frames.

Limites de mémoire et d'espace disque dans le MQL5 Cloud Network

La limitation suivante s'applique aux optimisations exécutées dans le MQL5 Cloud Network : l'Expert Advisor ne doit pas écrire sur le disque plus de 4 Go d'informations ou utiliser plus de 4 Go de RAM . Si la limite est dépassée, l'agent du réseau ne pourra pas effectuer le calcul correctement et vous ne recevrez pas le résultat. Vous serez cependant facturé pour tout le temps passé sur les calculs.

Si vous avez besoin d'obtenir des informations à chaque passe d'optimisation, envoyez des images sans écrire sur le disque. Pour éviter d'utiliser les opérations sur les fichiers dans les Expert Advisors lors des calculs dans le MQL5 Cloud Network, vous pouvez utiliser la vérification suivante :

   int handle=INVALID_HANDLE;
   bool file_operations_allowed=true;
   if(MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_FORWARD))
      file_operations_allowed=false;
 
   if(file_operations_allowed)
     {
      ...
      handle=FileOpen(...);
      ...
     }

 

Fonction

Action

FrameFirst

Déplace le pointeur du cadre de lecture au début et remet à zéro le filtre précédemment défini.

FrameFilter

Définit le filtre de lecture du frame et déplace le pointeur au début

FrameNext

Lit une frame et déplace le pointeur vers la suivante

FrameInputs

Reçoit les paramètres d'entrée, sur lesquels la frame a été formée

FrameAdd

Ajoute une frame avec des données

ParameterGetRange

Reçoit les valeurs et le pas de changement d'une variable d'entrée lors l'optimisation d'un Expert Advisor dans le Strategy Tester

ParameterSetRange

Spécifie l'utilisation de la variable d'entrée lors de l'optimisation d'un Expert Advisor dans le Strategy Tester : la valeur, le pas du changement, les valeurs initiales et finales

Voir aussi

Statistiques de test , Propriétés d'un programme MQL5 éxecuté