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
C'est le terminal 1060 et le serveur est toujours 1035.
Bonjour, Renat !
En concevant un mode de suivi des ordres "d'urgence" (au cas où l'événement OnTradeTransaction n'arrive pas),
J'ai détecté qu'un ordre MARKET apparaît dans l'historique en plus de 3 SECONDES :
Le code de l'EA qui a produit ce journal est joint.
D'abord, le temps d'attente était de 1000 ms, puis 2000, 3000 et enfin 4000 ms.
2 commandes ont été envoyées pour chaque période(position ouverte - position fermée)
N'est-ce pas trop long pour une commande MARKET ?
P/S Demo Open (terminal build 1060)
Je n'ai pas encore exécuté le code, mais la source voit l'erreur classique de la date de fin incorrecte dans HistorySelect.
Tout programmeur débutant appelle cette fonction avec une date erronée, mord constamment la fin de l'histoire et trouve "une longue transaction dans l'histoire".
C'est probablement la fonction, car "chaque premier" fait une "erreur classique".
Dans ce fichier, on tente de lire l'historique depuis une date donnée jusqu'au moment présent. Pouvez-vous me dire comment procéder correctement, afin de ne pas "grignoter la fin de l'histoire" ?
L'erreur est que les gens ne pensent pas à l'heure actuelle et mettent une mauvaise date provenant d'une mauvaise source.
Il suffit de spécifier une date lointaine connue comme date de fin, plutôt que l'obsolète serverTime.
L'erreur est que les gens ne pensent pas à l'heure actuelle et mettent une mauvaise date provenant d'une mauvaise source.
Il suffit de mettre la date lointaine connue comme date de fin, et non l'obsolète serverTime.
Peut-être que l'aide, avec l'exemple qu'elle contient, peut être corrigée à ce moment-là aussi ?
https://www.mql5.com/ru/docs/trading/historyselect
Renat, avez-vous déjà travaillé avec OnTradeTransaction() ?
Non, malheureusement, très occupé.
Veuillez l'essayer vous-même sur notre serveur MetaQuotes-Demo.
De la phrase de Renat
Il suffit de spécifier une date lointaine connue comme date de fin, plutôt que l'obsolète serverTime.
J'ai compris que vous deviez spécifier la date de demain (ou une date encore plus lointaine) comme date de fin et vous serez content.
L'erreur est que les gens ne pensent pas à l'heure actuelle et mettent une mauvaise date provenant d'une mauvaise source.
Il suffit de spécifier une date lointaine connue comme date de fin, plutôt que l'obsolète serverTime.
Et comme date de départ, leTimeTradeServer( ) "périmé" convient également ?
Les dates de début et de fin doivent être fixées avec tolérance et avec la marge nécessaire. C'est-à-dire moins N secondes et plus N secondes au minimum.
TimeTradeServer() n'est pas une heure exacte, mais est mis à jour uniquement par les ticks de prix entrant dans l'aperçu du marché.
Si vous n'avez soudainement aucune donnée dans l'échantillon historique, alors 99% de l'erreur se situe dans les limites de la requête.