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

 
Сергей Таболин:

Je peux me tromper, mais je ne pense pas que vous ayez la moindre idée du fonctionnement de l'EA. Que voulez-vous dire par "le programme est en cours d'exécution" ?

Un conseil : tout d'abord, découvrez ce que sont OnInit, OnTick et OnDeinit. Je pense que tout va se mettre en place ))))

En général, à en juger par votre réponse, vous ne comprenez pas vraiment comment le programme fonctionne. Puisque cela semble être une question idiote. Oui, tout comme le commentateur précédent pense que ça s'arrête. D'après mon expérience de programmation dans d'autres langages, je pense qu'il exécute son corps dans une boucle, et lorsqu'un événement survient, il s'y plonge. Si le programme exécute son corps dans une boucle, cela explique pourquoi le programme est écrit de cette façon.
 

Bonjour à tous, je teste un Expert Advisor dans MT4.
Pouvez-vous me dire quel langage ou quelle fonction de MQL4 doit être utilisée pour que la fonction Print() n'imprime qu'une seule fois dans le journal du testeur MT4 et uniquement la valeur de la dernière heure. Voici un code simple.

int g;
void OnTick()
{
if (Hour()>g)
{
Print("------------------------------------=",Hour());
g=Hour();
}
}

Print() est imprimé dans le fichier journal МТ-4 à chaque heure.

2020.06.24 15:54:12.250 2010.01.04 06:00:00  ОПТИМ КОДА EURUSD,M1: ------------------------------------=6
2020.06.24 15:54:12.249 2010.01.04 05:00:00  ОПТИМ КОДА EURUSD,M1: ------------------------------------=5
2020.06.24 15:54:12.249 2010.01.04 04:00:00  ОПТИМ КОДА EURUSD,M1: ------------------------------------=4
2020.06.24 15:54:12.248 2010.01.04 03:00:00  ОПТИМ КОДА EURUSD,M1: ------------------------------------=3
2020.06.24 15:54:12.247 2010.01.04 02:00:00  ОПТИМ КОДА EURUSD,M1: ------------------------------------=2
2020.06.24 15:54:12.247 2010.01.04 01:00:00  ОПТИМ КОДА EURUSD,M1: ------------------------------------=1
2020.06.24 15:54:12.214 2010.01.01 00:00:00  ОПТИМ КОДА test started
2020.06.24 15:54:12.196 TestGenerator: spread set to 2
2020.06.24 15:54:09.838 Expert ОПТИМ КОДА EURUSD,M1: loaded successfully
2020.06.24 15:54:09.827 Expert ОПТИМ КОДА EURUSD,M1: removed

Mais j'ai besoin que Print() soit imprimé dans le Logger MT-4 une seule fois avec la dernière valeur de l'heure. Il serait logique de supprimer l'avant-dernière entrée Print ( ), c'est-à-dire la précédente, après l'apparition de la dernière dans le journal. Je sais comment supprimer une commande, un objet graphique. Mais je ne sais pas encore comment supprimer l'entrée Print() du journal de bord.

Merci pour votre aide.

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Данные типа double выводятся с точностью до 16 десятичных цифр после точки, при этом данные могут выводиться либо в традиционном либо в научном формате – в зависимости от того, как запись будет наиболее компактна. Данные типа float выводятся с 5 десятичными цифрами после точки. Для вывода вещественных чисел с другой точностью либо в явно...
 
Valeriy Yastremskiy:
Non. La tique n'est pas coupée par l'examinateur. Si l'EA est en cours d'exécution, les ticks entrants sont ignorés. Lorsqu'il est terminé, le tic-tac suivant le fera repartir en mode veille.
Selon votre logique, il semble que le programme ne passera jamais à la fonction de réglage du lot. Mais c'est ainsi que le programme est écrit chez l'éditeur officiel. J'ai écrit l'ordre des fonctions dans des posts précédents.
 
Je vous le redemande, j'ai des doutes par rapport aux commentateurs précédents. L'exemple officiel suggère de compter le volume du lot dans le corps du programme, mais n'est-il pas logique de le calculer à chaque tick? A quoi sert-il dans le corps du programme ?
 
Je n'arrive pas à installer un EA. Que dois-je faire ? Le bouton d'installation ne clique pas. Pour être plus précis, rien ne se passe lorsque j'appuie sur la touche
 
Сергей Таболин:

Kalash ou Maxim ? ))))))))))))


Question :

Il y a un script. Il ne peut pas être lancé depuis l'EA en utilisant les moyens standards. Nous devons donc l'ajouter à l'Expert Advisor comme une fonction. Mais je ne veux pas faire les mêmes changements dans l'Expert Advisor lors de l'édition du script. Comment faire ? Par le biais d'inclusions ?

Classes) et objets
Ou par collage)
 
Ivan_Invanov:
Selon votre logique, il en ressort que le logiciel ne passera jamais à la fonction de réglage du lot. Mais c'est ainsi que le programme est écrit par l'éditeur officiel. J'ai écrit l'ordre des fonctions dans les posts précédents.
L'initialisation et la désinitialisation ne fonctionnent qu'une fois. Au début et à la fin.
 
Ivan_Invanov:
En général, à en juger par votre réponse, vous ne comprenez pas vraiment comment le programme fonctionne. Il semble donc que ce soit une question idiote. Tout comme le commentateur précédent pense que ça s'arrête. D'après mon expérience de programmation dans d'autres langages, je pense qu'il exécute son corps dans une boucle, et lorsqu'un événement survient, il s'y plonge. Si le programme exécute son corps dans une boucle, cela explique pourquoi le programme est écrit de cette façon.

À en juger par votre commentaire, vous ne comprenez pas cela non plus. (((

Ce n'est pas "d'autres langues", c'est MQL !

Un conseil pour vous aussi : découvrez exactement comment fonctionne ce groupe.

Toutes les autres fonctions sont dérivées.

Débrouillez-vous.

 
Ivan_Invanov:
Oui, je ne comprends pas, alors je demande. Je sais que le ontick est un événement, mais je ne comprends pas où va l'EA après. Il ira dans le corps du programme et calculera le volume du lot, ou il n'ira pas... Pourquoi l'EA de l'éditeur officiel a-t-il été écrit de cette façon ?

Et vous pensez que quelqu'un ici va commencer à réécrire la documentation pour vous personnellement ? Juste pour vous ? Ici ? Grattez cela vous-même....

 
Ivan_Invanov:
Oui, je ne comprends pas, c'est ce que je demande. Je sais que l'ontick est un événement, mais je ne vois pas très bien où va ensuite l'EA. Pourquoi l'éditeur l'a-t-il rédigé de cette façon ?

Vous montrerez le code (mais vous devez comprendre que si vous montrez le code, le droit d'auteur est bien en vue) et les gars regarderont le schéma de l'EA et diront ce qui est appelé et ce qui n'est pas ouvert un accord ou non.