Questions des débutants MQL5 MT5 MetaTrader 5 - page 443

 
Karputov Vladimir:
Cela vaut donc la peine d'ajouter d'autres impressions et de voir où va l'algorithme.
Ainsi, lorsque vous changez le TF, ils sont là - je ne sais pas où ajouter d'autres imprimantes à cet endroit.....
 

Installation de la version 880 de MT4 - compile sans erreur, mais le terminal se bloque (l'ancienne version fonctionne correctement).

Après avoir démarré un autre terminal et y avoir compilé - sous l'ancien build, je démarre le terminal avec le nouveau build et j'obtiens une erreur en essayant de changer d'EA (invoke editor) 2015.09.19 22:23:11.272 MetaEditor not found - start in terminal mode

Erreurs lors du lancement de l'EA

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15 : erreur OrderSend 4051

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15 : montants invalides pour la fonction OrderSend


 
-Aleks-:

Installation de la version 880 de MT4 - compile sans erreur, mais le terminal se bloque (l'ancienne version fonctionne correctement).

Après avoir démarré un autre terminal et y avoir compilé - sous l'ancien build, je démarre le terminal avec le nouveau build et j'obtiens une erreur en essayant de changer d'EA (invoke editor) 2015.09.19 22:23:11.272 MetaEditor not found - start in terminal mode

Erreurs lors du lancement de l'EA

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15 : erreur OrderSend 4051

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15 : montant de lots invalide pour la fonction OrderSend


А

#property strict
Vous le mettez dans votre code ?
 
Karputov Vladimir:

А

Le mettre dans votre code ?
Oui, bien sûr ! J'ai dû revenir à la version 840 - elle fonctionne plus correctement.
 
Veuillez me dire comment créer une variable globale avec génération de nom de variable - ce devrait être "Nom de la variable_Numéro magique".
 
-Aleks-:
Veuillez me dire comment créer une variable globale avec génération de nom de variable - ce devrait être "Nom de la variable_Numéro magique".
Vous pouvez le faire, ou vous pouvez être guidé par :Variables
 
Karputov Vladimir:
Vous pouvez le faire, ou vous pouvez être guidé par :Variables
Je ne comprends pas la réponse - laissez-moi clarifier ma question. J'ai un code, où il y a une variable externe Magic - sa valeur est fixée par l'utilisateur, j'ai besoin d'assurer la stabilité relative du système après avoir allumé/éteint le terminal, parce qu'il y a un certain algorithme à l'intérieur du programme qui fait le calcul statistique et sa dernière valeur est importante pour exécuter l'algorithme. J'ai décidé de prendre une variable globale pour stocker les données de calcul mais elle doit être liée à un certain EA - il serait logique de la lier par magie - on obtient ainsi le nom de variable "nom de la variable globale+Magie". La question est donc la suivante : comment générer correctement un nouveau nom de variable ?
 
-Aleks-:
Je ne comprends pas la réponse - laissez-moi clarifier la question. J'ai un code, où il y a une variable externe Magic - sa valeur est fixée par l'utilisateur, j'ai besoin d'assurer la stabilité relative du système après l'activation / désactivation du terminal, parce qu'il y a un certain algorithme à l'intérieur du programme qui fait des calculs statistiques et sa dernière valeur est importante pour l'exécution de l'algorithme. J'ai décidé de prendre une variable globale pour stocker les données de calcul mais elle doit être liée à un certain EA - il serait logique de la lier par magie - on obtient ainsi le nom de variable "nom de la variable globale+Magie". La question est donc la suivante : comment générer correctement un nouveau nom de variable ?

La stabilité et une variable externe qui peut être modifiée par l'utilisateur sont déjà des conditions incompatibles. Exemple : la première exécution - l'utilisateur a modifié la variable externe, vous avez lié à ce préfixe dans votre code. Le terminal redémarre et l'utilisateur modifie à nouveau la variable externe. Qu'allez-vous faire ?

Dans votre algorithme, la dernière valeur calculée (celle qui est très importante après le redémarrage) - de quel type est-elle ? Double ? Si ce n'est pas le cas, il y aura des problèmes.

 
Karputov Vladimir:

La stabilité et une variable externe qui peut être modifiée par l'utilisateur sont déjà des conditions incompatibles. Exemple : la première exécution - l'utilisateur a modifié la variable externe, vous avez lié à ce préfixe dans votre code. Le terminal redémarre et l'utilisateur modifie à nouveau la variable externe. Qu'allez-vous faire ?

Dans votre algorithme, la dernière valeur calculée (celle qui est très importante après le redémarrage) - de quel type est-elle ? Double ? Si ce n'est pas le cas, il y aura déjà un problème.

Eh bien, l'utilisateur c'est moi, donc ce n'est pas censé changer quoi que ce soit frénétiquement. Quelles sont les autres options ? Dans init mettre recalcul et recherche de la bonne valeur ?

La variable est int, mais vous pouvez utiliser double - ce n'est pas important - elle stockera les entiers.

 
-Aleks-:
... Parce qu'à l'intérieur du programme, il y a un algorithme qui effectue un calcul statistique et sa dernière valeur est importante pour l'exécution de l'algorithme. J'ai décidé de prendre une variable globale pour stocker les données de calcul mais elle doit être liée à un certain EA - il serait logique de la lier avec la magie - de cette façon, le nom de la variable "nom de la variable globale+Magie" sera généré. La question est donc la suivante : comment générer correctement un nouveau nom de variable ?

Qu'est-ce qu'il y a de mal à ça ? :

   string strText="rezult";
   string strGlobalVariableName=strText+"_"+inpMagic;
Raison: