Limites/enjeux au prix actuel dans le Terminal (pas dans le Testeur)

 

Le sabbat a été discuté sur le forum plus d'une fois. Dites-moi ce qu'il advient de ces commandes dans le Terminal et dans le Testeur. Mais j'ai décidé de créer un fil distinct sur le sujet. Et uniquement sur le Terminal afin de traiter une question douloureuse - les comptes réels.


Par souci de concision, nous appellerons LT les ordres à cours limité et les positions ouvertes au prix actuel.


Dans le terminal, dans tous les cas sauf celui de l'échange et de la compensation, les LT ne sont pas vérifiées pour le respect de leurs conditions de prix avant le prochain tick après avoir été placées.


Par exemple, vous placez une limite de modification au prix actuel. Il sera modifié mais pas accepté. Vous pouvez attendre le prochain tick pendant plusieurs minutes (sur un marché peu liquide, par exemple). Et si le prix se dégrade, la limite restera non exécutée. Et ce malgré le fait que le prix le satisfaisait depuis quelques minutes déjà.


Il en va de même pour les points de prise. Par exemple, vous devez clôturer la position actuelle au prix actuel. Bien sûr, vous pouvez le faire par marché, mais il y a alors une forte probabilité de slippage négatif. Là encore, sur un marché peu liquide ou rapide, par exemple. Donc vous mettez une prise sur le prix actuel. Et ça ne s'exécute pas comme l'ordre limite ci-dessus.


Dites-leur que l'ordre limite dans MT5 n'est pas un ordre limite mais un ordre au marché. Et vous auriez raison. Oui, dans MT5, la fermeture de positions via des ordres limités peut être très dangereuse. Seulement si le logiciel tiers n'est pas configuré de telle manière qu'il rende les positions limites imperceptibles en lui-même. Mais revenons à la tâche de fermer la position actuelle. Cela peut se faire par l'intermédiaire de la limite opposée, puis par la fermeture par CloseBy. Mais cela ne peut pas non plus se faire. Car, comme indiqué ci-dessus, la limite n'est pas acceptée avant le prochain tick.


Ainsi, dans MT5 il est impossible de fermer la position actuelle sans risque de slippage négatif. Pour être exact, sur exchange+netting c'est possible. Mais dans toutes les autres situations - vous ne pouvez pas.


Ce malheur concerne également MT4. Mais ce n'est pas intéressant.


Chers développeurs, allez-vous changer quelque chose dans cette zone ? MT5 ne peut pas faire les choses de base. Les plateformes compétitives n'y pensent même pas quand elles le font avec une légèreté logique. Et MT5 ne peut pas fermer une position!


Voici un autre exemple qui se produit des centaines de fois par jour.


Il existe une limite FOK, le prix l'atteint, il est accepté. L'agrégateur l'envoie à LP1 qui ré-emboîte et MT5 supprime la limite.

Le robot réémet la limite, bien sûr, au prix courant que LP2 donne. Et bummer, rien ne se passe : le limiteur n'est pas accepté pour que l'agrégateur puisse l'envoyer à LP2.


Si un ordre de marché est créé, pas de problème. Limiteur - pas question. En d'autres termes, MT5 indique clairement que vous pouvez soit risquer un slippage négatif, soit espérer qu'un prochain tick atteindra un jour votre limite. Il s'avère que le trading via MT5 est moins rentable que via un terminal faible écrit par soi-même.


Pour appeler les choses par leur nom, c'est une honte. Nous nous creusons les méninges avec les techniciens des agrégateurs pour trouver un moyen de contourner ce problème. Et même les idées des différentes béquilles comportent des risques. Personne ne comprend pourquoi des choses aussi élémentaires ne sont pas faites dans MT5.

 
Pour ceux qui ont besoin de re-limiter le limiteur MT5 FOK/IOC supprimé par eux-mêmes, appeler OnTick dans les fonctions OnTrade peut aider un peu.
 
En effet, d'après ce que j'ai compris, MT5 ne dispose pas du type d'exécution instantanée pour les transactions, ce qui est le cas de MT4.
 
Alexey Navoykov:
En effet, si je comprends bien, MT5 ne dispose pas du type d'exécution instantanée pour les transactions, qui est disponible dans MT4.

C'est un peu hors sujet.

 
fxsaber:

Il existe une limite FOK, le prix l'atteint, il est accepté. L'agrégateur l'envoie à LP1, LP1 redirige et MT5 supprime la limite.

Le fournisseur de liquidité le reçoit-il aussi comme une limite, ou une limite de marché ?

 
Il s'agit d'un problème mondial, qui ne concerne pas uniquement MT5. Et si l'enveloppe, sous la forme de MT5, peut, je pense, être réparée (purement techniquement), si nous creusons plus profondément, nous nous retrouverons au niveau des palmes. Et ils ne peuvent pas être corrigés... de manière purement politique.
Il y aura donc toujours cet écueil.
 
Igor Zakharov:

et le fournisseur de liquidité l'obtient sous la forme d'un plafond également, ou d'un plafond de marché ?

Sous la forme d'une limite. Sinon, il ne s'agirait pas d'une réorientation, mais d'une exécution avec un glissement négatif.

Mais sans l'acceptation de MT5, il ne peut y avoir d'envoi. C'est là le problème. MT5 n'accepte pas. La limite peut briller en jaune dans le terminal pendant des minutes. Et pendant tout ce temps, il n'y aura pas d'acceptation.


Il existe une solution de la part des développeurs d'agrégateurs pour transformer tous les ordres de marché MT5 en ordres à cours limité, car MT5 accepte les marchés en une seule fois. Il s'agit d'une sorte de contournement du problème de MT5.


Mais elle présente un inconvénient de taille. Supposons que nous devions modifier un ordre limite existant en le fixant au prix actuel. Alors nous avons deux options :

  1. Supprimez le limiteur et mettez ensuite en place un marché, dont l'agrégateur fera le limiteur. Mais lorsque vous supprimez le limiteur, le prix peut s'envoler et vous risquez de ne pas arriver à temps.
  2. Placez un marché, puis retirez le limiteur. Mais dans ce cas, lorsqu'un marché est placé, le limiteur peut également être exécuté. Ainsi, le volume de la position va doubler.
Les développeurs d'agrégateurs essaient de contourner cette folle limitation de MT5, mais ils ont des béquilles avec leurs propres inconvénients. Si MQ acceptait les limiteurs/crêtes sur le tick actuel, tout irait bien.
 
fxsaber:


Cette malchance s'applique également à MT4. Mais ce n'est pas intéressant.


L'ensemble de l'industrie du forex de détail est victime de cette escroquerie, avec une méthode d'exécution frauduleuse.
Et ces méthodes sont définies pour vous par les DT comme ils le souhaitent.
Je suis étonné par les personnes qui savent parfaitement cela et qui continuent à l'utiliser.
Et oui, juste au cas où, FOK tout ou rien.

 
Heroix:
Il s'agit d'un problème mondial, qui ne concerne pas uniquement MT5. Et si l'emballage comme MT5, je pense, peut être réparé (purement techniquement), alors si vous creusez plus profondément, vous atteindrez les Lastlukes. Et ils ne peuvent pas être corrigés... de manière purement politique.
Il y aura donc toujours cet écueil.

Vous devez avoir écrit sur un autre sujet. Dans ce cas, le problème est technique - il n'y a pas d'acceptation.

Si MQ n'a pas accepté le mode Exchange+Netting, alors la communauté MOEX, sous la forme de ses détracteurs, aurait une vraie raison de dénigrer MT5. MQ a procédé à l'acceptation (y compris le testeur) et tout y est parfait.

Le sujet nuit considérablement au Testeur, mais je le laisse de côté car j'ai avant tout besoin d'une solution pour les comptes réels.

 
Dans MT4 avec le mode d'exécution instantanée, il n'y a pas de problème de ce genre. Et l'exécution du marché dans la négociation est, a priori, une carte blanche pour le croupier de tricher.
 
Roman:

Ce trouble affecte l'ensemble du secteur du forex de détail, avec une méthode d'exécution farfelue.

S'il vous plaît, pas d'offtops. MT5 est une plateforme de marché. La discussion porte ici sur une grave limitation/défaillance TECHNIQUE.

Il existe d'autres problèmes, mais je ne m'y attarderai pas ici.

Raison: