Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1185

 
Je n'ai rien changé, avant avec l'ancienne version de MQL il n'y avait pas d'erreurs, EA ne chargeait pas le système, mais maintenant il le fait, donc j'ai remarqué les erreurs. Le testeur et la mise en ligne sont des choses différentes (c'est comme connaître le chemin et le parcourir). J'ai moi-même essayé de supprimer quelque chose de la langue et cela a empiré.
 
bbrisk:

bonjour à tous ! ma construction donne une erreur en travaillant sur les données :

for(int trade = OrdersTotal() - 1 ; trade >= 0 ; trade--)

{

if(OrderSelect(trade, SELECT_BY_POS, MODE_TRADES))

{

if(OrderSymbol() == Symbol() && OrderMagicNumber()==1 && (OrderType() == OP_BUYSTOP)

....


Aucunordre d' achaten attente, il y en a un ouvert et en cours. Quelqu'un a-t-il rencontré ce problème ?

Vous voyez la fonction

Print();

Saisissez vos paramètres et voyez ce qui se passe, afin de savoir où se trouve l'erreur. Les informations sont imprimées dans le journal du conseiller expert (onglet Expert de MT4) et vous pouvez également ouvrir le fichier.


et copier les données pour les comparer (le nom du fichier 20200621 correspond à 2020.06.21). Vous pouvez également utiliser les DeskPins pour avoir un fichier ouvert et un code ou un graphique visible. Notez également que le fichier 20200621 ne doit pas dépasser 4mb, s'il est égal ou supérieur supprimez le fichier l'expert en créera un nouveau.

 
Bonjour à tous, pouvez-vous me dire comment lier une EA à un nom ?
 
DENYS KOSHCHAVETS:
Bonjour à tous, dites-moi comment lier une EA à un nom ?

C'est une tâche délicate, ou plutôt je n'arrive pas à deviner qui doit renommer l'EA, donc je suis à court d'idées et de solutions.


Je ne peux qu'essayer d'utiliser la fonction WindowExpertName(), peut-être cela aidera-t-il :

Renvoie le nom de l'EA, du script, de l'indicateur personnalisé ou de la bibliothèque en cours d'exécution.

UPD : vous pouvez également obtenir le nom de l'EA de cette façon

MQLInfoString(MQL_PROGRAM_NAME)
 
Igor Makanu:

C'est une tâche délicate, ou plutôt je n'arrive pas à deviner qui doit renommer l'EA, donc je suis à court d'idées et de solutions.


Je ne peux qu'essayer d'utiliser la fonction WindowExpertName(), peut-être cela aidera-t-il :

UPD : vous pouvez également trouver le nom d'EA de cette façon

J'ai eu une fois un client qui me torturait : " mais rappelez-vous que la version était xxx et qu'avant cela il y avait aussi... ". Je lui ai demandé d'où venaient ces versions. Eh bien, je les ai renommés. Et elle n'avait pas la source. Et comment j'étais censé savoir et me souvenir de ce qui était là ? C'est alors que j'ai décidé d'interdire le travail si le nom de l'EA était modifié. Ça a aidé. Je n'ai plus sauvegardé de versions différentes, qui comportaient des erreurs ou des imperfections.

 
Alexey Viktorov:

Un jour, un client m'a demandé : "Tu te souviens de la version qui était xxx et avant cela il y avait...". Je lui ai demandé d'où venaient ces versions ? Eh bien, je les ai renommés. Et elle n'avait pas la source. Et comment j'étais censé savoir et me souvenir de ce qui était là ? C'est alors que j'ai décidé d'interdire le travail si le nom de l'EA était modifié. Ça a aidé. Je n'ai plus sauvegardé de versions différentes, qui comportaient des erreurs ou des défauts.

C'est probablement une bonne chose.

Si je travaille avec quelqu'un, j'édite le nom du fichier xxx_1.01.mql4.

et essayez de ne pas oublier de l'éditer.

#property version   "1.01"

En général, cela suffit pour le travail et la communication est plus rapide si vous devez revenir à une version antérieure. Le seul inconvénient est de stocker toutes les versions pendant le travail.

S'il y a du temps pour affiner, je mets la version 2.00.


Je pensais qu'il avait besoin d'une sorte de protection, mais je ne sais pas comment changer le nom de l'EA par programme - c'est pourquoi j'ai été surpris par une telle liaison )))).

 
Alexey Viktorov:

Un jour, un client m'a demandé : "Tu te souviens de la version qui était xxx et avant cela il y avait...". Je lui ai demandé d'où venaient ces versions ? Eh bien, je les ai renommés. Et elle n'avait pas la source. Et comment j'étais censé savoir et me souvenir de ce qui était là ? C'est alors que j'ai décidé d'interdire le travail si le nom de l'EA était modifié. Ça a aidé. Je n'ai plus sauvegardé de versions différentes, qui comportaient des erreurs ou des défauts.

Une personne peut avoir une tâche spécifique, par exemple un robot qui surveille le robot et enregistre ce qu'il fait et modifie certaines variables globales qui sont disponibles dans qui sait où. J'espère vraiment que ce n'est pas le cas. Parce qu'il est très difficile de mettre en œuvre de telles tâches. Mais oui, vous avez raison.

 
Igor Makanu:

alors c'est probablement la bonne chose à faire.

Si je travaille avec quelqu'un, j'édite le nom du fichier xxx_1.01.mql4.

et essayez de ne pas oublier de le changer.

En général, cela suffit pour le travail et la communication est plus rapide si vous devez revenir à une version antérieure. Le seul inconvénient est de stocker toutes les versions pendant le travail.

S'il y a du temps pour affiner, je mets la version 2.00.


Je pensais qu'il avait besoin d'une sorte de protection, mais je ne sais pas comment changer le nom de l'EA par programme - c'est pourquoi j'ai été surpris par une telle liaison )))).

git pour aider)
 
Vladimir Simakov:
git à la rescousse)

Je le prends dans le git, ce qui est intéressant, pas de problème.

Mais le problème avec les utilisateurs est qu'ils sont aussi loin du git que la lune )))).

Dans 4 cas sur 5, ils ne savent pas comment tester les CT dans le testeur, ils appuient simplement sur le bouton "tester/optimiser" et c'est tout ... here we go and here we go.... Je ne sais pas comment télécharger l'historique dans MT4, ou fantasmer sur le fait que l'EA ne suit pas l'indicateur parce qu'ils ne comprennent pas qu'en test visuel vous pouvez mettre un indicateur sur un graphique et voir comment l'EA fonctionne....


ugh, et vous parlez du git, ici nous avons besoin d'un MT de niveau utilisateur pour travailler ;)

 
Igor Makanu:

Je le prends dans le git, ce qui est intéressant, pas de problème.

Mais le problème des utilisateurs est qu'ils sont aussi éloignés du git que la lune )))).

Dans 4 cas sur 5, ils ne savent pas comment tester les CT dans le testeur, ils appuient simplement sur le bouton "tester/optimiser" et c'est tout ... here we go and here we go.... Je ne sais pas comment télécharger l'historique dans MT4, ou fantasmer sur le fait que l'EA ne suit pas l'indicateur parce qu'ils ne comprennent pas qu'en test visuel vous pouvez mettre un indicateur sur un graphique et voir comment l'EA fonctionne....


ugh, et vous parlez de la git, ici MT serait un utilisateur à traiter ;)

Je ne parle pas des clients)))). Je veux dire le projet de contrôle de version. Le client dit qu'il veut revenir à cette version, et vous avez non seulement la possibilité de revenir en arrière, mais aussi de créer une nouvelle branche, et de ne pas encombrer le répertoire d'un tas de versions.