Erreurs, bugs, questions - page 2107
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
Il existe une branche sur cette règle.
oui, j'ai lu des extraits de la fonction d'accès à l'historique uniquement lorsque l'environnement est modifié, et j'ai vu vos liens dans d'autres fils de discussion.
pour en venir au fait, l'erreur est apparue après avoir lu votre option.
Cette logique est incorrecte. Après l'échec d'OrderSend et la réussite d'OrderSend, l'environnement commercial actuel doit être relu entièrement. Cette règle devrait toujours être en vigueur.
À propos des codes de retour. Je ne les analyse pas dans mes EA. Je pense que la logique commerciale ne devrait pas en dépendre.
Théoriquement, un dépassement de délai peut se produire lors d'une perte de connexion avec le serveur du courtier.
Dans ce cas, il est préférable de ne rien faire du tout jusqu'à ce qu'il soit restauré et que l'environnement de trading soit entièrement synchronisé avec le serveur.
Comment éviter de se retrouver dans une telle situation sans analyser le code de retour ?
Erreur de compilation.
Fichier Test.mqh.
Code principal
Il s'avère que les inludes répétés sont ignorés. Mais c'est faux dans cette situation !
Nous avons besoin d'une telle construction dans le but suivant. Un conseiller expert est contenu dans un fichier .mqh. Mais j'ai besoin de pouvoir l'exécuter sur un compte réel (premier incloud) et dans mon testeur (deuxième incloud).
Théoriquement, un dépassement de délai peut se produire lors d'une perte de communication avec le serveur du courtier.
Dans ce cas, il est préférable de ne rien faire du tout jusqu'à ce qu'il soit restauré et que l'environnement de trading soit entièrement synchronisé avec le serveur.
Comment éviter de se retrouver dans une telle situation sans analyser le code de retour ?
Nous avons envoyé un OrderSend et n'avons pas attendu de réponse du serveur, obtenant un timeout dans le journal et _LastError. Nous ignorons _LastError et ne recevons que false.
Ensuite, si nous avons une connexion, nous réassemblons l'environnement commercial et prenons une décision.
Bien entendu, il est toujours souhaitable de vérifier l'environnement choisi avant de collecter des informations.
A envoyé OrderSend et n'a pas attendu de réponse du serveur, obtenant un timeout dans le journal et _LastError. Nous ignorons _LastError et ne recevons que false.
Ensuite, si nous avons une connexion, nous réassemblons l'environnement commercial et prenons une décision.
Bien entendu, il est toujours souhaitable de vérifier l'environnement choisi avant de collecter des informations.
Cela est possible si nous travaillons avec OnTick. Et sinon ?
Comment vérifier la connexion ?
Cela fonctionnera si vous travaillez en OnTick. Et sinon ?
Comment vérifiez-vous la connexion ?
Historiquement, je ne lui fais pas confiance. Je vais devoir le tester dans 5...
Le problème des délais d'attente n'est pas qu'il n'y a pas de connexion, mais que la demande a reçu un délai d'attente.
D'un côté, je vois les choses ainsi : il y a un signal pour ouvrir une transaction, nous faisons une demande, nous obtenons un délai d'attente - mais la transaction est ouverte.
bien que le conseiller expert ait reçu une erreur.
vérifier l'environnement commercial - nous voyons un marché ouvert.
mais comment comprendre que la transaction a été ouverte par ce signal ? s'il y avait par exemple 10 signaux ?
c'est-à-dire vérifier si une nouvelle affaire est apparue dans l'historique (dans le terminal).
je n'ai pas encore compris l'idée
@A100
quelle solution voyez-vous ?
Il s'avère que le réincode est ignoré. Mais c'est faux dans cette situation !
J'ai besoin d'une telle construction pour la suivante. Un Expert Advisor est contenu dans un fichier mqh. Mais j'ai besoin de pouvoir l'exécuter sur un compte réel (premier incloud) et dans mon testeur (deuxième incloud).
Tout est correct et il est correctement ignoré.
Les hacks de Cish ne passent pas.
int h = FileOpen("test.bin",FILE_WRITE|FILE_BIN) ; -handle returns, no file in mt
int h = FileOpen("test.bin",FILE_WRITE|FILE_BIN|FILE_COMMON) ; - le fichier existe.
qu'est-ce que j'ai mal écrit