La balise [tp] supprimée chez certains courtiers ? - page 3

 
cameofx:

[...] Pourquoi MT4 & MT5 introduisent-ils OrderCloseReason() ou quelque chose comme ça ?

Je ne sais pas... Mais c'est soluble, donc ce n'est pas un gros problème.
 
gordon:
Je ne sais pas... Mais c'est soluble, donc ce n'est pas un gros problème.

Oui... où puis-je garder une mise à jour de SL & TP alors, OrderComment() ?

Beaucoup de nouveautés dans MT5, btw, plus de félicitations que de plaintes dans l'ensemble.

 
cameofx:

Ouais ... où puis-je garder une mise à jour de SL & TP alors, OrderComment() ?

Na, je ne le recommanderais pas (IMHO). Voir ma remarque précédente sur l'écrasement des commentaires par le serveur(https://www.mql5.com/en/forum/123668/page2#267154). Depuis que j'ai écrit ce post, j'ai trouvé des cas où plus de 6 caractères sont écrasés par le serveur (par exemple -> https://www.mql5.com/en/forum/124167), donc je ne ferais pas totalement confiance à cette méthode.


S'il s'agit de TP/SL virtuels, il suffit de conserver leurs valeurs dans un tableau. Mais il faudrait intégrer des capacités de persistance dans l'EA, sinon ces valeurs seront perdues en cas de panne totale (redémarrage du terminal, coupure de courant, etc.).

 
gordon:

Na, je ne le recommanderais pas (IMHO). Voir ma remarque précédente sur l'écrasement des commentaires par le serveur(https://www.mql5.com/en/forum/123668/page2#267154). Depuis que j'ai écrit ce post, j'ai trouvé des cas où plus de 6 caractères sont écrasés par le serveur (par exemple -> https://www.mql5.com/en/forum/124167), donc je ne ferais pas totalement confiance à cette méthode.


S'il s'agit de TP/SL virtuels, il suffit de conserver leurs valeurs dans un tableau. Mais il faudrait intégrer des capacités de persistance dans l'EA, sinon ces valeurs seront perdues en cas de panne totale (redémarrage du terminal, coupure de courant, etc.).

"...Si c'est un TP/SL virtuel..." nous sommes toujours sur le sujet de vérifier si un ordre est fermé par un SL/TP/Autre n'est-ce pas ? S'il s'agit d'un virtuel, nous connaîtrons le prix de clôture et la manière dont il a été clôturé.

Avez-vous résolu le problème des capacités de la couche de persistance, Gordon ? Merci.

 
cameofx:

"...Si c'est un TP/SL virtuel..." nous sommes toujours sur le sujet de vérifier si un ordre est fermé par un SL/TP/Autre n'est-ce pas ? Si c'est un virtuel, alors on connaîtrait le prix de clôture et comment il a été clôturé.

Exactement. La question ne se pose que lorsqu'il y a un TP/SL côté serveur et qu'en plus l'EA peut ou non clôturer les ordres manuellement dans certaines circonstances.....


Avez-vous résolu le problème de la couche de persistance, Gordon ?

Bien sûr. Il y a une bonne discussion sur ce sujet ici -> https://www.mql5.com/en/forum/119716.
 

Merci,

https://forum.mql4.com/25078. - offre beaucoup d'informations intéressantes, mais ce que je peux en retenir, c'est que MT4 (peut-être aussi -5, à ce jour) ne prend pas en compte de nombreux aspects du "trading automatisé".

Pour l'instant, ce que j'essaie de réaliser, c'est le" Tradingvirtuellement automatisé" avec le moins d'"appréhension" possible. Je ne peux tout simplement pas (encore) faire autant de contournements de précaution, que même les vétérans comme fbj doivent pirater. Si les développeurs sont prêts à rendre le trading automatisé vraiment responsable pour les traders, alors, par tous les moyens, je lâcherai un EA sur un compte réel sans surveillance pendant x mois/années.

 
gordon:

Hmmm.... Peut-être que quelque chose m'échappe, mais y a-t-il des cas où ce qui suit ne sera pas suffisant ?

   // select the closed order first and then do this:
   
   double sl_diff = MathAbs(OrderClosePrice() - OrderTakeProfit()),
          tp_diff = MathAbs(OrderClosePrice() - OrderStopLoss());
   
   if ( sl_diff > tp_diff )
      Print("order closed at tp");
   else
      Print("order closed at sl");
 

// Je suppose ici qu'une égalité de sl_diff et tp_diff est impossible... ?

En fait il y a 3 scénarios dans les commandes fermées,

1. Le prix a atteint la valeur TakeProfit. (TP)
2. Le prix a atteint la valeur StopLoss. (SL)
3. Après un certain temps, le trader a fermé l'ordre manuellement sans atteindre le TP/SL.

Ma question est la suivante : Comment connaître les 3 raisons différentes de fermeture de mes ordres historiques ? Merci.


 
Il a été répondu dans le fil de discussion. Voir la réponse de cloudbreaker ici -> https://www.mql5.com/en/forum/123668. Il n'y a pas de raccourcis, c'est la seule façon de procéder.
 
Ok, merci. Gordon. Je vais étudier cette méthode avec attention. En fait, je ne la comprends pas maintenant.
 

Puis-je obtenir la raison de la fermeture de l'ordre à partir des couleurs ?

Parce que j'ai trouvé

1. si l'ordre est fermé par SL, la couleur de la valeur stoploss est rouge,
2. Si l'ordre est fermé par TP, la couleur de la valeur takeprofit est verte.
3. Si l'ordre est fermé manuellement, les couleurs des valeurs ne sont pas modifiées.

Merci.