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
Où j'ai fait une erreur. Pourquoi ai-je une position élargie.
Il existe un concept appelé "compensation". Selon la philosophie du NETTING, toutes les transactions unidirectionnelles augmentent la position, tandis que les transactions multidirectionnelles la ferment, la diminuent ou l'inversent.
Si nous tirons une conclusion de la ligne, nous comprenons qu'avec une vente existante, une nouvelle position d'achat fermera ou coupera la position existante.
PS
A propos, le TP et le SL dans MT5 sont fixés en fonction de la dernière transaction, ils doivent donc être surveillés également...
Comment puis-je supprimer correctement toutes les commandes avec un certain mode ?
J'ai deux fonctions pour cela, check_orders vérifie les commandes avec un certain mode, et remove_sl les supprime :
Le problème est que dans le journal de mon EA, j'obtiens des lignes comme celle-ci :
2011.05.11 21:40:19 Trades '726238' : échec de l'annulation de l'ordre #4375237 buy 0.00 at 0.00000 [Requête invalide].
C'est-à-dire que des demandes inutiles sont envoyées au serveur commercial avec une demande de suppression de l'ordre qui a déjà été demandé.
Je devrais passer en revue la liste des commandes de haut en bas, par ex :
ЗЫ Если вы знаете инструмент то для поиска позиции совсем не нужно перебирать все позиции, достаточно воспользоваться вот этой функцией:
Merci. Je vais essayer.
Au fait, j'utilise un seul symbole.
Selon la philosophie de ce même NETTING, toutes les transactions unidirectionnelles augmentent la position et les transactions multidirectionnelles ferment, diminuent ou s'inversent.
Exactement !
Nous concluons de la ligne que nous comprenons qu'avec une vente existante, un nouvel achat fermera ou réduira une position existante.
PS
A propos, le TP et le SL dans MT5 sont fixés en fonction de la dernière transaction, ils doivent donc être surveillés également...
D'après vos paroles, M.Intéressant , je comprends que j'ai tout compris correctement.
J'utilise les mêmes lots. J'utilise les mêmes arrêts. Tout est comme il se doit. Mais quelque chose ne va pas !
Ok. J'ai promis de faire deux EA et de montrer la différence. Je vais le faire. Je ne veux pas mettre le meilleur pour que tout le monde le voie.
Alors, qui parmi les experts respectés peut m'envoyer par courriel deux EA pour la même stratégie sur mql4 et sur mql5 ?
J'ai juste besoin de comprendre ce que je fais mal, c'est tout. Eh bien, des statistiques de prix différentes ne peuvent pas changer les résultats du test de 2-3 fois. C'est une question de programmation.
Lizar,Renat,sergeev, aidez-moi. Je peux vous donner tous les experts pour revoir le code. Le conseiller expert est simple mais efficace. Je peux encore l'améliorer, mais je l'ai simplifié au maximum, pour rendre plus clair l'essence du problème.
Je m'excuse également auprès de tous ceux qui ont été intempestifs dans leurs déclarations. Je suis embarrassé. Mais je veux TRES bien tout comprendre !
Il faut parcourir la liste des commandes de haut en bas, par exemple comme ceci :
Cela n'aide pas, apparemment la commande est supprimée avec succès et ensuite une autre demande est envoyée :
2011.05.12 16:42:57 Trades '726238' : annuler l'ordre #4388299 buy stop 0.02 EURUSD à 1.41700 effectué
2011.05.12 16:42:57 Trades '726238' : annuler l'ordre #4388299 buy stop 0.02 EURUSD à 1.41700
2011.05.12 16:42:58 Trades '726238' : échec de l'annulation de l'ordre #4388299 buy 0.00 at 0.00000 [Invalid request] - déjà un achat alors que l'arrêt d'achat était
similaire, mais sur mql4 :
Eh bien, regardez et comparez. J'ai fait une erreur quelque part... La différence est substantielle.
Cela n'aide pas, apparemment la commande est supprimée avec succès et ensuite une autre demande est envoyée :
2011.05.12 16:42:57 Trades '726238' : annuler l'ordre #4388299 buy stop 0.02 EURUSD à 1.41700 effectué
2011.05.12 16:42:57 Trades '726238' : annuler l'ordre #4388299 buy stop 0.02 EURUSD à 1.41700
2011.05.12 16:42:58 Trades '726238' : échec de l'annulation de l'ordre #4388299 buy 0.00 at 0.00000 [Invalid request] - déjà un achat alors que l'arrêt d'achat était
J'ai honte d'admettre que je n'ai toujours pas maîtrisé l'art de la télépathie.
Je vais répéter la question :
Comment supprimer correctement toutes les commandes avec un certain mag ?
J'ai deux fonctions pour cela, check_orders vérifie les commandes avec un certain mode et remove_sl les supprime :
Le problème est que ces lignes apparaissent dans le journal de l'EA :
2011.05.11 21:40:19 Trades '726238' : échec de l'annulation de l'ordre #4375237 acheter 0,00 à 0,00000 [Requête invalide].
C'est-à-dire que des demandes inutiles sont envoyées au serveur commercial pour supprimer l'ordre qui avait déjà été demandé.
Vous avez fait part de ce qui suit :
Vous devez parcourir la liste des commandes de haut en bas, par exemple comme ceci :
J'ai essayé de faire comme vous l'avez dit, mais le problème demeure - l'ordre en attente est d'abord supprimé, puis une autre demande est envoyée pour supprimer le même ordre. Voici un exemple des lignes du journal :
2011.05.12 16:42:57 Trades '726238' : annuler l'ordre #4388299 buy stop 0.02 EURUSD à 1.41700 effectué - suppression réussie de l'ordre
2011.05.12 16:42:57 Trades '726238' : annuler l'ordre #4388299 buy stop 0.02 EURUSD à 1.41700 - Une autre requête est en cours d'envoi
2011.05.12 16:42:58 Trades '726238' : échec de l'annulation de l'ordre #4388299 buy 0.00 at 0.00000 [Invalid request] - c'était un achat pour une raison quelconque.
Cela ne se produit pas à chaque fois, mais parfois, et cela n'affecte pas le fonctionnement du conseiller expert. Je veux juste faire tout correctement, ne pas charger le serveur commercial avec des requêtes vides, et résoudre le problème.
Je vous remercie de vos réponses et de votre volonté d'aider.