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

 
Andrey Koldorkin:

MT5. Ne soyez pas trop sévère, je commence à peine.

Le compilateur ne semble pas jurer.

Jetez un coup d'œil à l'exemple d'iCustom. iCustom renvoie le handle de l'indicateur personnalisé spécifié. Il est renvoyé UNE fois dans OnInit(). Et ensuite, vous récupérez les données en utilisant la poignée avec la fonction Copy**** (selon les besoins) :

 
Alexey Volchanskiy:
Si vous ne devez pas le faire à partir de MQL, regardez AutoIT, vous pouvez tout y faire. Le produit est gratuit, vous n'avez besoin que d'une DLL pour interagir avec MQL.
Il s'agit d'un sujet intéressant. Merci.
 

veuillez m'aider à clarifier l'exécution des ordres dans MT4 - OrderDelete, OrderSelect.

1) Est-ce que je comprends correctement que lorsque ces fonctions/opérations sont appelées, le programme attend une réponse du serveur concernant le succès/l'échec de cette opération, c'est-à-dire qu'il reste immobile au point de code du conseiller expert et continue l'algorithme de code UNIQUEMENT après avoir reçu une réponse ?

2) si un nouveau tick arrive (ou un nouvel événement du timer), qui dans mon code commence par une opération sur un ordre, mais que l'opération du tick précédent n'a pas encore eu le temps d'être exécutée (recevoir la réponse du serveur), alors le programme attendra la réponse à l'opération du tick précédent ou il démarrera sans attendre l'exécution d'un nouveau tick ?

 
loleg1991:

veuillez m'aider à clarifier l'exécution des ordres dans MT4 - OrderDelete, OrderSelect.

1) Est-ce que je comprends correctement que lorsque ces fonctions/opérations sont appelées, le programme attend une réponse du serveur concernant le succès/l'échec de cette opération, c'est-à-dire qu'il reste immobile au point de code du conseiller expert et continue l'algorithme de code UNIQUEMENT après avoir reçu une réponse ?

2) si un nouveau tick arrive (ou un nouvel événement du timer), qui dans mon code commence par une opération sur un ordre, mais que l'opération du tick précédent n'a pas encore eu le temps d'être exécutée (recevoir la réponse du serveur), alors le programme attendra la réponse à l'opération du tick précédent ou il démarrera sans attendre l'exécution d'un nouveau tick ?

Oui, le programme s'arrête et attend une réponse du serveur. Cela prend généralement 100, 150 msec. Au moment de l'arrêt, les ticks entrants sont accumulés dans une file d'attente. Lorsque le programme reçoit une réponse du serveur, il commence à avancer et va jusqu'à sa fin, par exemple jusqu'à la fin de la fonction OnTick. Les ticks accumulés appellent alors à nouveau OnTick. Le programme reçoit cette file d'attente de ticks dans un ordre accéléré.
 
J'ai créé mon signal, je me suis enregistré en tant que vendeur, mais l'abonnement n'est toujours pas autorisé...pourquoi ?
 
Taras Petryliak:
J'ai créé mon signal, je me suis enregistré en tant que vendeur, mais l'abonnement n'est toujours pas autorisé...pourquoi ?

Allez dans votre alarme -> paramètres et vous verrez tous les avertissements.

Ajouté : Vous n'êtes pas un vendeur. Il ne suffit pas de faire une demande - il faut attendre que le statut de vendeur soit approuvé.

 
Vasiliy Sokolov:
Oui, le programme s'arrête et attend la réponse du serveur. Cela prend généralement 100 ou 150 ms. Au moment de l'arrêt, les ticks entrants s'accumulent dans une file d'attente. Lorsque le programme reçoit une réponse du serveur, il commence à avancer et continue jusqu'à ce qu'il atteigne sa fin, par exemple, la fin de la fonction OnTick. Les ticks accumulés appellent alors à nouveau OnTick. Le programme reçoit cette file d'attente de ticks dans un ordre accéléré.

Est-ce également le cas avec la minuterie ? Les événements OnTimer sont-ils également accumulés dans la file d'attente jusqu'à ce que les opérations du tick(et/ou timer) précédent soient exécutées ? p/s J'utilise un timer de millisecondes, qui est exécuté plus souvent que l'attente de 100-150 millisecondes pour les opérations sur les commandes.

Au fait, est-ce que OrderSelect " ralentit " aussi l'exécution de l'algorithme ? Ou bien cette fonction sélectionne-t-elle un ordre uniquement dans le terminal et le temps de son exécution est négligeable ?

Функции обработки событий - Функции - Основы языка - Справочник MQL4
Функции обработки событий - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
Функции обработки событий - Функции - Основы языка - Справочник MQL4
 
Bonjour, je sais approximativement comment écrire un indicateur dans MQL4. Si j'ai enregistré des valeurs dans deux tableaux et que je veux construire un graphique avec une corrélation entre les valeurs d'un tableau et celles de l'autre. Peut-être sous la forme d'un script ou c'est seulement possible comme indicateur ? Merci d'avance
 
fvdtrejder:
Bonjour, je sais plus ou moins comment écrire un indicateur dans MQL4. Si j'ai enregistré des valeurs dans deux tableaux et que je veux construire un graphique avec une corrélation entre les valeurs d'un tableau et celles de l'autre. Peut-être sous la forme d'un script ou c'est seulement possible comme indicateur ? Je vous remercie d'avance.
Vos tableaux sont-ils différents d'un tableau de données historiques ?
 
Je calcule les valeurs dans les tableaux en utilisant mes formules
Raison: