Prix par tuyau - page 4

 

J'ai vu un courtier ajouter une apostrophe aux symboles pour lesquels il avait activé l'exécution instantanée. Cela s'est produit au cours d'un week-end et a été assez difficile à repérer - d'autant plus qu'ils ont également conservé les anciens noms de symboles pour l'exécution sur le marché uniquement.

CB

 
cloudbreaker:

J'ai vu un courtier ajouter une apostrophe aux symboles pour lesquels il avait activé l'exécution instantanée. Cela s'est produit au cours d'un week-end et a été assez difficile à repérer - d'autant plus qu'ils ont également conservé les anciens noms de symboles pour l'exécution sur le marché uniquement.

Qu'entendez-vous par"exécution instantanée" ? (il est sous-entendu que ce n'est pas la même chose que 'Market Execution')...
 

Ne serait-il pas plus simple d'utiliser Symbol() dans toutes les références au symbole ? Ainsi, même si le serveur du courtier a entré EURUSD sous le nom de mooncheese, cela n'a pas d'importance tant que l'EA sait également que EURUSD s'appelle mooncheese.

 

J'ai remarqué que mt4 s'y réfère en tant que valeur de tick, cela signifie-t-il qu'un tick est toujours égal à un pip ? je pensais que la taille du tick pouvait varier ce qui m'amène à une autre question, on m'a dit qu'on ne pouvait pas trader sur les volumes dans mt4 car les volumes ne font que compter le nombre de ticks par barre, mais si chaque tick est égal à un pip alors il est sûrement tout à fait possible de trader sur les volumes car cela signifierait que le serveur devrait envoyer un nouveau tick à chaque fois que le prix change d' un pip donc quand il y a beaucoup de trading en cours et que le prix change rapidement les volumes seraient élevés et montreraient le niveau d'activité de trading n'est-ce pas ?

 
SDC:

J'ai remarqué que mt4 y fait référence en tant que valeur de tick, cela signifie-t-il qu'un tick est toujours égal à un pip ? [...]

Qu'est-ce qu'un TICK ?

https://www.mql5.com/en/forum/126023

 
SDC:

Ne serait-il pas plus simple d'utiliser Symbol() dans toutes les références au symbole ? Ainsi, même si le serveur du courtier a entré EURUSD sous le nom de mooncheese, cela n'a pas d'importance tant que l'EA sait également que EURUSD s'appelle mooncheese.


C'est ce que fait mon code, je ne sais pas d'où vient la confusion. Un manque de communication de ma part quelque part, je suppose.
 

J'ai lu ce fil avant qu'il ne soit rempli d'informations contradictoires.

BarrowBoy - un changement dans l'offre et/ou la demande.

Rosh - un événement de "nouveau prix".

kminler - chaque tick représente une transaction fermée

puncher - un tick est un pip

Après avoir lu d'autres fils et discussions sur les ticks, je suis arrivé à la conclusion qu'un tick n'a pas de valeur spécifique car tout ce qu'il contient est une nouvelle offre et une nouvelle demande, qui peuvent être différentes d'un pip par rapport au dernier tick, pas de pips différents ou plusieurs pips de différence, donc en soi le tick ne porte aucune différence de prix, seulement un nouveau prix.

Mais maintenant que j'ai cherché comment calculer la valeur d'un pip, je tombe sur MarketInfo MODE_TICKVALUE qui semble être une valeur fixe statique, ce qui en soi contredit ce que la plupart des gens semblent dire à propos d'un tick, à savoir qu'il transmet simplement un changement de prix, sans montant spécifique, alors comment peut-il y avoir une telle chose comme MODE_TICKVALUE, cela n'a aucun sens, à moins que la plupart des gens aient tort et qu'un tick ait en fait une valeur spécifique égale à un pip, mon problème est le manque de documentation appropriée, comment peut-on savoir ce qui est juste et ce qui ne l'est pas, les fils de discussion des forums contiennent quelques informations, dont la plupart sont basées sur des opinions ou des suppositions plutôt que sur des faits, ce qui dans la plupart des cas n'a pas d'importance, mais lorsque l'on essaie d'écrire un programme basé sur des informations aussi sommaires et contradictoires, cela rend la vie très difficile.

 
SDC:

J'ai lu ce fil de discussion avant qu'il ne soit rempli d'informations contradictoires. [...]

Désolé, je ne voulais pas vous embrouiller. Ce fil de discussion, de par sa nature, donne lentement une vue d'ensemble (et comprend de nombreuses opinions, dont certaines ne sont pas tout à fait exactes). L'essentiel est le suivant : un tick est un changement dans l'un des 28 identifiants d'informations de marché (disponibles via la fonction MarketInfo()). Il compromet également l'"événement" qui appelle la fonction start() (pour le symbole auquel l'EA est attaché).


Malheureusement, la dénomination de MODE_TICKSIZE et MODE_TICKVALUE ajoute une deuxième définition à Tick (qui, je suppose, est la source de la confusion...). La définition du Tick dans ce contexte est la suivante : un Tick est la plus petite variation de prix possible pour le symbole en question:

  • MODE_TICKSIZE - la taille de ce changement en termes de prix (la documentation indique "Tick size in points", mais c'est évidemment inexact).
  • MODE_TICKVALUE - la valeur de ce changement dans la devise de dépôt du compte (ceci est calculé côté serveur par le courtier).

Commentaires :

  1. Un 'Point' (MODE_POINT) est la plus petite variation de prix possible sur la taille gauche du point décimal pour le symbole en question. Ce n'est PAS la même chose que MODE_TICKSIZE. Techniquement : MODE_TICKSIZE>=MODE_POINT, bien qu'ils soient presque toujours égaux.
  2. Un "Pip" est une convention, quelque chose sur lequel nous sommes tous d'accord. Il ne s'agit pas d'une propriété mathématique du symbole ou d'une propriété du serveur MT4. Ainsi, par exemple, avec un courtier à 4 chiffres pour EURUSD, un Pip est de 1 point, mais pour un courtier à 5 chiffres, un Pip est de 10 points...
  3. Il y a une bonne discussion sur la façon de déterminer automatiquement la taille d'un Pip en points ici -> https://www.mql5.com/en/forum/124692.
  4. MODE_TICKSIZE peut varier, bien que cela soit extrêmement rare (Point est fixe par contre). CB a une méthode pour gérer ces changements ici -> https://www.mql5.com/en/forum/109552/page3#195878.
 

Oui, MODE_TICKVALUE est la source de la confusion, il est beaucoup plus logique que vous le disiez pour signifier le plus petit changement de prix possible, à partir de maintenant je pense à MODE_MINIMUMTICKVALUE, il semble donc tout à fait possible de calculer avec précision la valeur d'un pip à partir de MODE_TICKVALUE.

 
SDC:

[...] il semble donc tout à fait possible de calculer avec précision la valeur d'un pip à partir de MODE_TICKVALUE.

Le problème est de trouver le pip en points... A partir de là, il est trivial de calculer sa valeur (en utilisant MODE_TICKVALUE). Malheureusement, trouver un moyen universel et complètement automatisé de convertir les pips en points n'est pas trivial (discuté ici -> https://www.mql5.com/en/forum/124692).