Travail réel sur MT5 NDD - page 10

 

Metatrader a une limitation importante, vous ne pouvez pas placer une limite à un prix pire que le prix actuel. Cela empêche de nombreuses stratégies d'être mises en œuvre dans Metatrader.

Par exemple, vous souhaitez pouvoir vendre lorsque le cours acheteur atteint un niveau de prix, mais avec un slippage négatif ne dépassant pas N pips. Ceci est très nécessaire lorsqu'il n'y a pas assez de volume au meilleur prix pour remplir le volume dont vous avez besoin, mais il est nécessaire d'exécuter, parce que la logique de la stratégie est ainsi configurée (dans le testeur, par exemple).

Dans ce cas, dès que le prix Bid dont vous avez besoin apparaît, vous fixez la SellLimit au prix Bid-N, c'est-à-dire de N pips de moins que le prix actuel. En procédant ainsi, vous obtiendrez un remplissage plus important de votre limite au prix moyen pondéré, dont le pire ne sera pas inférieur à N pips du prix d'achat actuel.

C'est en fait un truc d'archives. Et les courtiers compétents disposent de tels ordres à cours limité conditionnels avec un paramètre supplémentaire - le plus mauvais prix parmi ceux qui forment le prix moyen pondéré. Ces limites conditionnelles ne sont pas en mesure de détériorer la vitesse d'exécution du courtier, car elles sont stockées dans la même table que les limites classiques.

 
hrenfx:

Lisez plus attentivement : sur ECN pur et ECN/STP.

Rejet et glissement de la limite positive:

Sur STP, votre ordre limite sera envoyé si le prix de celui-ci est supérieur ou égal à l'ordre limite. De plus, pendant que votre ordre est transmis au STP, le prix peut changer dans n'importe quelle direction : continuer à progresser (slippage positif), sortir de la zone limite (re-jct).

Merci. Mais le point suivant n'est pas clair. D'après votre description, il s'ensuit que l'ECN n'a pas de pile de marché interne et externe commune et que le marché externe n'a pas toujours un glissement de limite et si c'est le cas, c'est au dernier moment où le prix peut glisser quelque part et cela peut même conduire à un rejet, même si le glissement de limite a été envoyé par le trader au préalable et que le prix l'a atteint correctement. Cette description est-elle vraiment vraie, car il semble peu probable que l'ordre limite envoyé à l'avance ne soit pas exécuté parce que l'ECN n'a pas réussi à le placer dans le pool général au dernier moment. Encore plus surprenant est l'explication sur un éventuel slippage positif à ce moment, que l'ECN renverra au trader.
 

Il y a plusieurs enjeux : interne (ECN) et externe (chaque fournisseur de liquidité connecté). Il n'existe pas de marché commun des paris.

Certains courtiers font des "snapshots" pour garantir plus ou moins l'exécution des limiteurs sans les rediriger. Par exemple, un prix n'entre dans le flux que s'il est disponible auprès de trois fournisseurs de liquidités à la fois.

De plus, les ECN n'ont presque rien à voir avec les DC, ils ne traitent pas. Les courtiers transparents renvoient un slippage positif au trader. De plus, si vous placez une limite à un prix inférieur au prix actuel, il y aura toujours un slippage positif. Et il serait assez inconvenant que le courtier ne le rende pas. Il y a, bien sûr, certains courtiers qui ne donnent qu'une partie du slippage positif. Mais il vaut mieux s'en tenir à l'écart.

 
Développeurs : je me demande si nous pouvons compter sur le développement de la plateforme à cet égard (problèmes exprimés dans le fil de discussion, expansion des limiteurs, etc...) ?
 
hrenfx:

Il y a plusieurs enjeux : interne (ECN) et externe (chaque fournisseur de liquidité connecté). Il n'y a pas de cahier des charges commun.

Merci. Dans ce cas, pourquoi les agrégateurs ne peuvent-ils pas regrouper tous les fournisseurs dans une seule tasse commune "propre", en ne sélectionnant que le meilleur prix ? N'est-ce pas ce qu'ils font ?
 
Andrei01:
Merci. Dans ce cas, pourquoi les agrégateurs ne peuvent-ils pas regrouper tous les fournisseurs dans une seule tasse commune "propre", en ne choisissant que le meilleur prix ? N'est-ce pas ce qu'ils font ?

Vous semblez voir des lois de marché délicates, alors qu'en fait tout est très simple.

Lorsqu'on dit qu'une maison de courtage n'est pas orientée vers le marché, c'est presque un mensonge. Si une société de courtage n'exécute presque aucune position, cela ne signifie pas qu'elle n'est pas engagée dans des activités de marché. Ce n'est pas le cas.

Ne pas se retirer et garder les risques sur soi, tout en restant engagé dans la tenue de marché, ou se retirer - tout cela, c'est le marché. Ces deux systèmes sont utilisés par pratiquement tous les bureaux, des petits détaillants aux grands bureaux institutionnels.

Un agrégateur est simplement un regroupement des conditions de négociation par quelqu'un dans un certain nombre de bureaux en même temps. En général, ces entreprises ne savent même pas que quelqu'un les combine quelque part. Par exemple, vous pouvez facilement combiner plusieurs courtiers sur Metatrader en utilisant MQL+WinAPI. Vous aurez une sorte de marché. Mais le problème sera que les courtiers eux-mêmes ne sont pas clients de ce système. Ils n'envoient pas d'ordres à votre marché, mais vous formez un marché virtuel pour vos propres besoins - que ce soit pour la négociation ou pour le courtage.

Par conséquent, le marché ECN réel peut ne pas être un marché virtuel (STP), mais un marché réel uniquement à partir des ordres qui lui sont envoyés. Dans le cas d'un courtier, il peut s'agir uniquement des ordres de ses propres clients, qui sont peu nombreux.

Il y a des avantages et des inconvénients. Par exemple, l'avantage est que personne du monde extérieur ne voit vos limites. Votre stratégie ne peut donc pas être comprise et manipulée. Et vos limites sont dans la pile des limites des autres clients, donc il n'y a rien à voir sur le monde extérieur.

 

hrenfx:

Cela présente des avantages et des inconvénients. Le côté positif, par exemple, c'est que personne de l'extérieur ne peut voir vos limiteurs prédéfinis. Par conséquent, ils ne peuvent pas comprendre votre stratégie pour vous manipuler. De plus, vos limites sont dans la pile des limites des autres clients, il n'y a donc rien à voir avec le monde extérieur.

Pourtant, à partir de cette explication, je ne comprends pas le point suivant concernant l'agrégateur de liquidités, quel qu'il soit. Supposons qu'il existe plusieurs fournisseurs de liquidités avec leurs propres enjeux, que je veux fusionner chez moi en tant que nouvel agrégateur. Pour que cette fusion soit totalement équivalente sans dégradation des conditions de marché avec une erreur de temps d'accès à la pile externe du marché, qui est une fraction de seconde, il suffit apparemment de fusionner les piles à une profondeur suffisante, et les limiteurs et généralement tous les ordres en attente, qui sont dans les piles externes, apparaîtront automatiquement dans la pile externe et par conséquent, dans la pile interne, fusionnée car les ordres en attente et forment n'importe quelle pile.

Mais comme les ordres en attente sont généralement fixés à l'avance, c'est-à-dire bien plus longtemps que le temps de liaison entre les verres, il ne peut y avoir aucune prévision ici, car ils sont déjà agrégés dans le verre interne à partir du verre externe.

 

En gros, le schéma est le suivant :

  1. Vous passez un ordre à l'avance, il passe sur le marché interne à partir des ordres des clients de votre courtier ECN.
  2. Votre courtier, lui, vous montre la pile virtuelle = pile interne (ECN) + piles externes (STP).
  3. Si l'ordre opposé apparaît dans l'ECN interne, les deux sont presque instantanément garantis d'être exécutés au volume min(Limit1, Limit2) (appariés sans aucun slippage), et le courtier reçoit une commission double (pour chaque ordre).
  4. Si un prix qui satisfait votre ordre provient de l'extérieur (par exemple d'un troisième fournisseur de liquidité - LP3), alors
  5. Votre ordre est supprimé (gelé) de la pile ECN interne.
  6. Envoyé à LP3 avec un LiveTime spécifique (généralement quelques dizaines ou centaines de millisecondes).
  7. Votre commande, lorsqu'elle est reçue dans LP3, est généralement à un prix inférieur au prix actuel dans LP3. Par conséquent, il y aura un glissement positif correspondant.
  8. Si votre prix d'offre est meilleur que le prix actuel de LP3 (il peut avoir changé pendant la période d'expédition-livraison), il y aura un rabais si le prix LiveTime n'est pas satisfaisant.
  9. Grâce au LiveTime, le solde (en exécution partielle) de votre ordre est retiré de LP3 et il est placé (dégelé) dans l'ECN interne.
  10. Avec l'exécution externe, le courtier reçoit la même commission moins celle de LP3 (le courtier de LP3 est simplement un client agissant pour le compte de ses clients). Et vous obtenez un glissement positif potentiel ou un rabais.

Par conséquent, dans le schéma ECN/STP, il y a des prix plus favorables en raison de l'ECN interne et du bénéfice de la double commission pour le courtier, et il y a des prix plus favorables lors de l'agrégation (STP) de plusieurs fournisseurs de liquidités, tout en donnant la possibilité de camoufler votre stratégie à ces derniers et de potentiels slippages positifs (et redirections).

P.S. Par souci d'intérêt, vous pouvez essayer d'écrire votre propre agrégateur MT. C'est vraiment très simple. Mais lorsque vous commencerez à négocier à travers elle, vous verrez un grand nombre de pièges, qui ne sont bien sûr pas spécifiés dans le schéma brut ci-dessus.

 
hrenfx:

En gros, le schéma est le suivant

Je vous remercie pour le dispositif, mais il reste des questions qui ont déjà été soulevées auparavant.

1. Est-ce le seul moyen de mettre en œuvre le système d'agrégation ?

2. Pourquoi est-il impossible d'agréger les gobelets en un seul gobelet comme je l'ai décrit ? En effet, dans celui-ci l'interaction avec une pile externe est continue pour former une seule pile, et pas seulement au moment du déclenchement de la demande, ce qui introduit un retard inutile qui doit inévitablement aggraver les conditions d'exécution ? De plus, selon votre schéma, il n'y a pas de différence entre un ordre en attente et un ordre au marché, car tout n'est exécuté qu'au dernier moment et cela n'a aucun sens d'envoyer un ordre en attente à l'avance, car il n'entrera sur le marché externe qu'au tout dernier moment.

 
Andrei01:

1. est-ce le seul schéma permettant de mettre en œuvre un schéma d'agrégation ?

En gros, oui.

2. Pourquoi est-il impossible de mettre en œuvre le schéma d'agrégation que j'ai décrit ?

Parce que tous les fournisseurs de liquidités doivent devenir des clients de votre système ECN. Il existe un tel courtier - LMAX. Il s'agit pratiquement d'un ECN pur (MTF-porteur), dans lequel les fournisseurs de liquidités sont des clients du système créé. C'est-à-dire qu'il y a une sorte d'accord signé avec certaines banques pour qu'elles acceptent ces conditions. J'ai déjà mentionné LastLook ci-dessus, mais il existe d'autres raisons pour lesquelles de nombreuses banques n'optent pas pour de telles conditions.

En effet, dans celui-ci, l'interaction avec la fenêtre de pari externe est continue pour former une seule fenêtre de pari, et pas seulement au moment du déclenchement de l'ordre, ce qui introduit un décalage inutile qui devrait inévitablement détériorer les conditions d'exécution ?

Oui, il n'y a pas de garantie d'exécution avec l'agrégation. Il existe plusieurs façons d'améliorer l'exécution grâce aux instantanés (filtre), mais ce n'est qu'un côté de la médaille. Les avantages de l'agrégation ont déjà été exprimés à plusieurs reprises ci-dessus.

De plus, selon votre schéma, il n'y a pas de différence entre un ordre en suspens et un ordre au marché, car tout n'est exécuté qu'au dernier moment et il n'y a aucune raison d'envoyer un ordre en suspens à l'avance, car il ne parviendra à la vitre extérieure qu'au tout dernier moment.

Il y a une grande différence : un ordre au marché sera exécuté avec slippage dans les deux sens, un ordre à cours limité - uniquement dans le sens positif, ou il sera manqué. La définition d'un ordre en suspens à l'avance (au moins une seconde avant) nous permet d'éviter de dépendre du terminal<->serveur de négociation<->agrégateur, réduisant respectivement le temps consacré à l'exécution et améliorant ainsi l'exécution elle-même.