Erreurs, bugs, questions - page 2185
![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
Question sur MT4.
J'ai rencontré ce problème une fois auparavant et je suis tombé sur ce bogue à nouveau lors d'un test HFT.
Je fixe une limite d'achat, le prix la casse et reste à la baisse pendant plusieurs minutes. Au même moment, BuyLimit est allumé en jaune mais "non exécuté".
Les tentatives pour le modifier échouent
Quand je l'ai vu, je me suis souvenu de cette situation qui remonte à loin. La recette, à l'époque et aujourd'hui, est toujours la même : se reconnecter. Après le contact, il s'avère que BuyLimit est depuis longtemps (depuis le moment du croisement) une position d'achat.
Au même moment, avant la reconnexion, nous pouvions négocier d'autres ordres et tout allait bien avec eux, seule la BuyLimit était en suspens.
Il s'avère qu'il n'y a pas de notification dans le terminal MT4 que BuyLimit est devenu une position d'achat. Et, par conséquent, c'est une déception jusqu'à ce que vous vous reconnectiez.
Je dois me rappeler comment j'ai résolu cette situation. Mais je suis sûr à 99% qu'en cas d'erreurs ou de bizarreries, j'étais simplement obligé de me reconnecter via WinAPI.
Est-il utile d'écrire à SD à ce sujet, puisqu'il s'agit de MT4 après tout ? Je n'ai rien remarqué de tel en 5 ans.
Il s'agit probablement d'un appareil de cuisine - mes TSs fonctionnent avec des limites dans MT4, mais je n'ai jamais vu quelque chose comme ça.
Ce qui manque cruellement, c'est le mode Optimisation, où les symboles de Market Watch sont recherchés séquentiellement et où les paramètres d'entrée de chaque symbole sont optimisés.
Ce mode est très demandé lors de la recherche du bon symbole pour un TS. Et il est particulièrement utile lorsque des symboles personnalisés existent - vous créez différents symboles personnalisés et regardez leurs propriétés dans l'Optimiseur.
Bon point - il est particulièrement important de faire fonctionner la génétique séparément pour chaque symbole !
C'est probablement un ustensile de cuisine - mes CTs fonctionnent avec des limiteurs dans MT4, mais je n'ai jamais vu cela.
C'est un bug du terminal, pas un bug du DC. Vous pouvez ouvrir un deuxième terminal et voir que la soi-disant "BuyLimit" est Buy.
C'est un bug du Terminal, pas un bug du DC. Vous pouvez ouvrir un deuxième terminal et voir que la soi-disant "BuyLimit" est Buy.
Hmm, c'est un argument. Bien qu'encore une fois - je n'ai pas rencontré...
Avez-vous attendu longtemps, vous savez, un jour ou plus ! Par simple curiosité, peut-être que j'ai un tel bug et que je ne le remarque pas ...
Le produit ne peut pas être téléchargé depuis le marché, que puis-je faire ?
Suis-je le seul à voir le site se bloquer ?
il y a ça.
Pourquoi la mention Backtest apparaît-elle lors de la sauvegarde du rapport de transaction ?
Question sur MT4.
J'ai rencontré ce problème une fois auparavant et je suis tombé sur ce bogue à nouveau lors d'un test HFT.
Je fixe une limite d'achat, le prix la casse et reste à la baisse pendant plusieurs minutes. Au même moment, BuyLimit est allumé en jaune mais "non exécuté".
Les tentatives pour le modifier échouent
Quand je l'ai vu, je me suis souvenu de cette situation qui remonte à loin. La recette, à l'époque et aujourd'hui, est toujours la même : se reconnecter. Après le contact, il s'avère que BuyLimit est depuis longtemps (depuis le moment du croisement) une position d'achat.
Au même moment, avant la reconnexion, nous pouvions négocier d'autres ordres et tout allait bien avec eux, seule la BuyLimit était en suspens.
Il s'avère qu'il n'y a pas de notification dans le terminal MT4 que BuyLimit est devenu une position d'achat. Et, par conséquent, c'est une déception jusqu'à ce que vous vous reconnectiez.
Je dois me rappeler comment j'ai résolu cette situation. Mais je suis sûr à 99% qu'en cas d'erreurs ou de bizarreries, j'étais simplement obligé de me reconnecter via WinAPI.
Est-il utile d'écrire à SD à ce sujet, puisqu'il s'agit de MT4 après tout ? Je n'ai rien remarqué de tel en 5 ans.
Il semble que ce soit la même idée :
Bonjour, Dans MT4, lorsque vous supprimez un ordre limite placé dans le spread, vous obtenez souvent une situation d'erreur - l'ordre à supprimer se bloque, ce qui ne peut être résolu qu'en rechargeant le terminal. Pour autant que j'aie compris le mécanisme , il se produit de la manière suivante :
1 ) Nous fixons une limite à l'intérieur du spread, proche du prix Ask (pour les ordres d'achat Limit) ou Bid (pour les ordres devente Limit) et après un certain temps nous essayons de la supprimer.
2 ) Nous envoyons une commande OrderDelete(), pendant que cette commande va au serveur, l'ordre peut déjà être exécuté sur le serveur (il est à l'intérieur du spread, très proche du prix d'activation). Il semble que lorsque la commande atteint le serveur, elle sera appliquée à l'ordre de marché et nous obtiendrons une erreur dans le terminal et un ordre gelé. Dans ce cas, l'ordre dans le terminal reste un ordre à cours limité (également défini comme un ordre à cours limité par la fonction OrderType()) et n'apparaîtra comme un ordre au marché qu'après un redémarrage du terminal. Si vous continuez à le supprimer en tant que limite un , vous verrez une erreur dans le journal de l'Expert Advisor avec le code : 3, et dans le journal du terminal :[Paramètres non valides]. En fait, aucune action n'est possible avec un tel ordre suspendu - c'est un ordre à cours limité dans le terminal du client et un ordre au marché sur le serveur . L'ordre ne peut pas non plus être supprimé manuellement.
Je joins un EA simplifié (seulement pour Buy Limit), pour la reproduction de l'erreur et un profil avec 8 EAs installés en parallèle (l'erreur apparaît plus rapidement, que si l'erreur est capturée par un EA - bien qu'elle se produise aussi avec un EA installé). Lalimite de l' ordre d'achat est fixée à 1 point à cinq chiffres en dessous du cours vendeur et est supprimée après 1 seconde après avoir été fixée. Si vous placez un ordre même 5 points en dessous du prix Ask et que vous le supprimez après un nombre quelconque de secondes/minutes/heures, l'erreur se produira encore de temps en temps, mais moins fréquemment car le mécanisme de son apparition ne change pas.
Vous devez démarrer le terminal et attendre que l'ordre en attente apparaisse. En général, vous ne devriez pas attendre plus d'une heure, selon l'activité du marché.
Demande ouverte, Démarré : 2017.06.06.12:37, #1766459
En octobre 2017, servicedesk m'a écrit qu'ils avaient réussi à reproduire cette situation et qu'ils s'occupaient du problème. Et depuis lors, il y a eu un silence...