Caractéristiques du langage mql5, subtilités et techniques - page 191
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
Est-ce un bug ou une puce qui provoque cette erreur ?
Le C++ s'en accommode très bien. Et les tableaux dans MQL ont leurs propres tableaux. Ainsi, certains std::array pourraient être gérés par cette construction également.
Le fait qu'il jette cette erreur est un bug ou une anomalie ?
Pas un bug. Une surcharge de modèles ne peut qu'aider.
Existe-t-il un moyen de savoir rapidement s'il n'y a pas d'historique pour un instrument (que ce soit localement ou sur le serveur) ?
Toute requête CopyXXX attend 30 secondes pour récupérer les données, et cela prend un temps déraisonnable pour parcourir un grand nombre d'instruments.
Pour certains outils, il est utile de vérifier s'il existe un Bid (il est vide), mais pas pour tous les outils.
Vous pouvez le vérifier sur ICMarkets-MT5, outilWheat_U0.
Existe-t-il un moyen de savoir rapidement s'il n'y a pas d'historique pour un instrument (que ce soit localement ou sur le serveur) ?
Toute requête CopyXXX attend 30 secondes pour récupérer les données, et cela prend un temps déraisonnable pour parcourir un grand nombre d'instruments.
Pour certains outils, il est utile de vérifier s'il existe un Bid (il est vide), mais pas pour tous les outils.
Vous pouvez le vérifier sur ICMarkets-MT5, instrumentWheat_U0.
Cela a déjà été écrit de nombreuses fois à ce sujet et voici la première chose que j'ai trouvée https://www.mql5.com/ru/forum/285631/page35#comment_9431199.
Alternativement, ces symboles ont Ask et Bid == 0.
Existe-t-il un moyen de savoir rapidement s'il n'y a pas d'historique pour un instrument (que ce soit localement ou sur le serveur) ?
Toute requête CopyXXX attend 30 secondes pour récupérer les données, et cela prend un temps déraisonnable pour parcourir un grand nombre d'instruments.
Pour certains outils, il est utile de vérifier s'il existe un Bid (il est vide), mais pas pour tous les outils.
Vous pouvez le vérifier sur ICMarkets-MT5, instrumentWheat_U0.
dans l'indicateur n'attendra pas le résultat de CopyXXX
comme option dans le timer de l'indicateur pour traiter CopyXXX et appeler cet indicateur depuis EA
Ce sujet a été abordé plus d'une fois, et c'est le premier que j'ai trouvé sur https://www.mql5.com/ru/forum/285631/page35#comment_9431199.
Comme variante de ces symboles Ask et Bid == 0
Environ zéro Bid écrit en une fois, parfois ce n'est pas zéro.
dans l'indicateur n'attendra pas le résultat de CopyXXX
une variante de timer dans l'indicateur pour traiter CopyXXX et appeler cet indicateur depuis EA
Ça, c'est une idée ! Merci, je vais l'essayer.
La raison pour laquelle cela se produit. Après le premier envoi d'ordre, un ordre au marché apparaît et si un nouveau tick arrive avant son exécution, il n'y a pas encore de position et le deuxième envoi d'ordre est effectué.
De ce fait, un modèle MT5 apparemment normalne fonctionnera pas correctement et, par conséquent, la plupart des conseillers experts MT5 de la base de code. Dans le même temps, le modèle MT4, presque identique, continuera à fonctionner sans aucun problème.
L'idée apparemment bonne de PositionsTotal est quelque peu éclipsée par la nécessité, dans MT5, d'analyser également OrdersTotal pour les ordres au marché.
Faites attention !
Merci de l'avoir souligné. Je l'avais en tête. Mais j'en suis venu à écrire un conseiller expert et je me suis demandé s'il était utile de vérifier les demandes envoyées à un serveur. Hypothétiquement, vous l'avez décrit correctement, mais en fait le serveur répond rapidement aux demandes, et une telle condition ne se produira pas dans la plupart des cas (99%, je pense). Mais la vitesse de l'algorithme en souffrira à chaque fois. Lequel est le plus important, selon vous ?
Entrez une fois sur le marché avec 2 lots au lieu de 0,1, et la réponse est immédiatement évidente).
Entrez une fois sur le marché avec 2 lots au lieu de 0,1, et la réponse est immédiatement évidente).
Si vous avez un algorithme pour conclure 0,1 lot, alors il y a une probabilité de le faire deux fois pour 0,1, et comme je pense que cette probabilité tend vers zéro, et trois fois, je pense que c'est impossible. Encore moins 20 fois. Après tout, nous parlons d'applications. En règle générale, le serveur répond probablement dans la limite de 10minsec (est-ce exact ? Je n'en suis pas sûr). Quelle est la probabilité de saisir une deuxième transaction, à votre avis ? Faites-vous ce contrôle vous-même ? Est-il possible que le serveur mette beaucoup de temps à répondre ?
D'après les statistiques : environ 200 à 300 transactions par jour. Même avec des contrôles normaux, mais sans contrôles vraiment délicats, en moyenne 2 à 3 fois par semaine j'ai attrapé une ouverture de lot double. Calculez la probabilité et évaluez si vous avez besoin ou êtes prêt à accepter cette probabilité. Personnellement, j'ai fait mes chèques au maximum.