Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 212
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Bonjour,
Je recherche les informations suivantes :
1. concernant la mise en œuvre de notifications par SMS lors du traitement d'événements clés dans le travail du conseiller expert.
La réalisation de l'ouverture et de la fermeture du commerce de 12-00 PST à 18-00 PST (avec notification par sms bien sûr :) du début et de la fin d'une session de commerce hebdomadaire).
A propos de la mise en œuvre d'une notification par e-mail après la fin du trade (18-00 PTN) - envoi d'un rapport sur le travail du conseiller pour une session de trading hebdomadaire, dans le testeur, avec un graphique et l'indication des dates d'ouverture, des dates de fermeture, des prix, des profits/pertes après la fermeture des positions. Ou les rapports seront-ils au format txt ?
Veuillez indiquer quelles fonctions ou quels scripts permettront de l'implémenter ? Comment puis-je le faire ? Il existe peut-être un sujet à ce sujet - les notifications et les rapports par SMS et par e-mail.
https://www.mql5.com/ru/articles/1454
Voici quelque chose comme ça, mais pour faire plus simple)))
https://www.mql5.com/ru/forum/53920
L'algorithme des notifications par sms n'est pas mauvais, notre EA nous envoie un email, et l'opérateur email nous envoie le texte de la lettre. Tout est brillamment simple. Il suffit d'enregistrer son téléphone portable. C'est plus facile maintenant.
Je vais aller lire, j'ai trouvé une fonction similaire - SendMail().je me demande si c'est bien compliqué ?
Bonjour à tous !
Faites ce code - supprimez toutes les commandes en une fois.
Le problème est que presque toutes les commandes sont fermées. Mais nous avons encore 1-2 commandes qui ne sont pas supprimées.
Et peu importe le nombre de fois où j'accède à cette fonction, celle-ci ne clôture pas les ordres restants.
Je reçois une erreur indiquant un mauvais prix.
Je pensais que c'était des requotes mais si nous demandons cette fonction 500000 fois déjà, quelles peuvent être les requotes ?
Qu'est-ce qui ne peut pas être le mauvais prix?
Je n'ai jamais eu une telle absurdité avec d'autres EA.
Bonjour à tous !
Faites ce code - supprimez toutes les commandes en une fois.
Le problème est que presque toutes les commandes sont fermées. Mais nous avons encore 1-2 commandes qui ne sont pas supprimées.
Et peu importe le nombre de fois où j'accède à cette fonction, celle-ci ne clôture pas les ordres restants.
Je reçois une erreur indiquant un mauvais prix.
Je pensais que c'était des requotes mais si nous demandons cette fonction 500000 fois déjà, quelles peuvent être les requotes ?
Qu'est-ce qui ne peut pas être le mauvais prix ?
Je n'ai jamais eu une telle absurdité avec d'autres EA.
S'il y a beaucoup de commandes, le prix a le temps de devenir obsolète. Ajoutez RefreshRates() et tout devrait bien se passer.
C'est ça le problème : il reste une ou deux commandes.
J'ai fait un cycle d'appels à cette fonction jusqu'à ce que tous les ordres soient supprimés.
En principe, si l'ordre est d'achat, il doit être clôturé par Bid, et le prix actuel n'a pas d'importance.
Il devrait être fermé par Bid à n'importe quel prix.
Et si nous avons adressé cette fonction plusieurs milliers de fois, le prix devrait se fermer de toute façon.
Ou peut-être que je ne comprends pas quelque chose ?
C'est ça le problème : il reste une ou deux commandes.
J'ai fait un cycle d'appels à cette fonction jusqu'à ce que tous les ordres soient supprimés.
En théorie, si l'ordre est d'achat, il devrait être clôturé par Bid et le prix actuel n'a pas d'importance.
Il devrait être fermé par Bid à n'importe quel prix.
Et si nous avons adressé cette fonction plusieurs milliers de fois, le prix devrait se fermer de toute façon.
Ou y a-t-il quelque chose que je ne comprends pas ?
Y a-t-il des erreurs dans le journal lors de la suppression ?
Le prix peut aller assez loin au cours du cycle. Ask et Bid sont des constantes qui sont mises à jour soit de manière forcée (en appelant RefreshRates()), soit lors du traitement d'un nouveau tick. Ainsi, après chaque tour de boucle, appelez RefreshRates() et voyez ce qui se passe.
C'est le problème, il reste une ou deux commandes.
J'ai fait une boucle d'appels à cette fonction jusqu'à ce que tous les ordres soient supprimés.
En théorie, si l'ordre est d'achat, il devrait être clôturé par l'offre et le prix qu'il atteint à ce moment-là importe peu.
Il devrait être fermé par Bid à n'importe quel prix.
Et si nous avons adressé cette fonction plusieurs milliers de fois, le prix devrait se fermer de toute façon.
Ou peut-être que je ne comprends pas quelque chose ?
Essayez 1) de remplacer Print par Alert pour voir le résultat à l'écran immédiatement - c'est plus rapide 2) Vous obtenez le code d'erreur à cet endroit. Imprimez-le et voyez 3) Obtenez et imprimez le code d'erreur de la fonction OrderSelect et immédiatement OrderSymbol(), OpderType(), OrderTicket()
Essayez 1) de remplacer Print par Alert pour voir le résultat à l'écran immédiatement - c'est plus rapide 2) Vous obtenez le code d'erreur à cet endroit. Imprimez-le et voyez 3) Obtenez et imprimez le code d'erreur de la fonction OrderSelect et immédiatement OrderSymbol(), OpderType(), OrderTicket().
J'ai également essayé RefreshRates(). Rien n'a changé. Alerte - identique à l'impression, donne - paramètres erronés.
Erreur 3.
Je me suis levé le matin et j'ai vu que l'EA s'était déclenché et affichait la fonction de suppression de tous les ordres de toute la nuit.
Le compteur de demandes affiche plusieurs millions de demandes. Cela signifie que les commandes ne sont pas supprimées.
Cet EA vérifie également si tous les ordres sont supprimés, c'est comme une assurance. S'il y a des commandes, nous appellerons le
La fonction d'effacement est sollicitée. Le programme se bloque. Cela signifie que la boucle ne s'arrêtera pas tant que tous les ordres n'auront pas été supprimés.
De tels problèmes se produisent sur 2 paires de devises. J'ai déjà perdu la tête. Que faire ?
J'ai essayé RefreshRates(). Rien n'a changé. Alerte - même chose que pour l'impression, il est dit - mauvais paramètres.
Erreur 3.
Je me suis réveillé ce matin et j'ai vu que l'EA s'était déclenché et affichait un appel pour supprimer tous les ordres de la nuit.
Le compteur de demandes affichait plusieurs millions de demandes. Cela signifie que les commandes ne sont pas supprimées.
Cet EA vérifie également si tous les ordres sont supprimés, c'est comme une assurance. S'il y a des commandes, nous appellerons le
La fonction d'effacement est sollicitée. Le programme se bloque. Cela signifie que la boucle ne s'arrêtera pas tant que tous les ordres n'auront pas été supprimés.
De tels problèmes se produisent sur 2 paires de devises. J'ai déjà perdu la tête. Que faire ?
Et qu'est-ce que la fonction error() ?
C'est peut-être le problème.
Qu'est-ce que la fonction error() ?
Il est possible que le problème vienne de là.
La fonction error() affiche simplement un code d'erreur. Il n'y a aucun problème avec cette fonction, je l'ai dans de nombreux EAs et je ne la modifie jamais.
Donc ce n'est certainement pas le problème.
La fonction elle-même est juste ici :