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

 
Nerd Trader #:
Mais le deuxième robot a besoin d'un délai, vous ne l'avez pas lu attentivement.

Vous l'avez mal écrit. Le deuxième conseiller expert a besoin de l'horizon temporel dans lequel le signal d'entrée (ou d'ouverture d'un ordre) a été reçu. Ensuite, utilisez une variable globale pour enregistrer le délai (dans le premier robot). Et le lire avec le deuxième robot.

Документация по MQL5: Глобальные переменные терминала
Документация по MQL5: Глобальные переменные терминала
  • www.mql5.com
Глобальные переменные терминала - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
En dehors de la création d'un tableau pour stocker les TF des ordres en les lisant d'abord dans le commentaire de l'ordre, y a-t-il un autre moyen facile de transférer les TF à un autre robot ? Et ce robot fonctionne sur un serveur distant. Nous pourrions utiliser une prise de courant mais c'est encore difficile pour moi.
 
Mihail Matkovskij #:

Vous l'avez mal écrit. Le deuxième conseiller expert a besoin de l'horizon temporel dans lequel le signal d'entrée (ou d'ouverture d'un ordre) a été reçu. Ensuite, utilisez une variable globale pour enregistrer le délai (dans le premier robot). Et le lire avec le deuxième robot.

Cela ne fonctionne pas comme ça, parce que le robot fonctionne sur un serveur distant, donc j'écris le TF dans le commentaire, ce serait bien, mais il est écrasé par le ticket quand on ferme une partie du volume.

 
Nerd Trader #:
Donc c'est un bot, pas le sujet.

Comment ça, ce n'est pas le but ? ! Tout programmeur vous dira que l'indicateur ne fait pas de transactions. Étudiez attentivement la documentation avant de commencer à développer des applications.

Nerd Trader #:

Vous ne pouvez pas le faire parce que le robot fonctionne sur un serveur distant, donc j'écris le TF dans le commentaire, ce serait OK, mais il est écrasé par le ticket lorsque vous fermez une partie du volume.

Ensuite, que le 1er robot en parallèle ouvre un ordre de marché ou un ordre en attente avec un volume minimum et on peut y écrire un commentaire, qui ne changera pas.

 
Nerd Trader sur un serveur distant.

Cette option est encore plus facile que ce que j'ai suggéré.

Créer un tableau de pointeurs vers des objets : ticket - info commande. Lorsque la commande est clôturée, supprimez l'objet et supprimez le pointeur du tableau. Il n'y a rien de difficile. Mais vous devrez apprendre à travailler avec des tableaux dynamiques, des pointeurs et des classes. J'ai dû dire quelque chose d'effrayant pour toi. :)
 
Mihail Matkovskij #:

Comment ça, ce n'est pas le but ? ! Tout programmeur vous dira que l'indicateur ne fait pas de transactions. Étudiez attentivement la documentation avant de commencer à développer des applications.

Laissez ensuite le 1er robot ouvrir simultanément un marché ou un ordre en attente avec un volume minimum et vous pouvez y écrire un commentaire qui ne changera pas.

Je me fiche de ce qu'il ne produit pas :) Autant dire que j'ai fait une faute de frappe.


<<Puis laissez le 1er robot en parallèle ouvrir un marché ou un ordre en attente avec un volume minimal et il sera possible d'y écrire un commentaire, cela ne changera pas. >>

oh no thanks :) sauvez Bill Gates de telles manoeuvres.

 
Nerd Trader #:

ça ne fonctionne pas comme ça, parce que le bot tourne sur un serveur distant, donc j'écris le TF dans le commentaire, ce serait bien, mais il est écrasé par le ticket quand on ferme une partie du volume.

Pour inscrire les informations relatives à TF dans l'ordre, nous devons utiliser son numéro magique. Mais cet attribut ne change jamais. Nous devrions numéroter conditionnellement toutes les TF dans l'ordre et générer un nombre magique en considérant ce nombre + laisser de la place pour la fonction ID, les opérations bit à bit sont meilleures.

 
Nerd Trader #:
Je peux dire que j'ai fait une faute de frappe.


Non. Ce n'est pas une faute de frappe. Vous ne comprenez pas la différence entre un robot et un indicateur. Et c'est évident pour tout programmeur. Lisez la documentation: https://www.mql5.com/ru/docs/runtime/running.

Citation de l'article :

Chaque script, service et expert travaille dans son propre fil conducteur. Tous les indicateurs calculés sur un symbole, même s'ils sont exécutés sur des graphiques différents, fonctionnent dans un seul fil. Ainsi, tous les indicateurs d'un symbole partagent les ressources d'un seul fil.
Les fonctions suivantes sont interdites dans les indicateurs :


Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Выполнение программ - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Mihail Matkovskij #:

Cette option est encore plus facile que ce que j'ai suggéré.

Créer un tableau de pointeurs vers des objets : tikets - informations sur les commandes. Lorsque la commande est fermée, supprimez l'objet, et supprimez le pointeur du tableau. Il n'y a rien de difficile. Mais vous devrez apprendre à travailler avec des tableaux dynamiques, des pointeurs et des classes. J'ai dû dire quelque chose d'effrayant pour toi. :)

Tout à fait. J'ai imaginé de créer une structure avec deux tableaux din. tikets et timeframes, où les valeurs sont placées en fonction de leurs noms.

 
Mihail Matkovskij #:

Non. Ce n'est pas une faute de frappe. Vous ne comprenez pas la différence entre un robot et un indicateur. Et c'est évident pour tout programmeur. Lisez la documentation: https://www.mql5.com/ru/docs/runtime/running.

Citation de l'article :

Bon sang, d'accord, d'accord, tu ne dois pas être nerveux.