[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 383

 
Bonjour à tous ! !!!!
Question : comment trouver l'ordre de perte le plus récent ?
Quel est le principe ? S'agit-il d'une commande à prix ouvert ou d'un autre moyen ? ????.
 
VOLDEMAR:
Quel est le principe ? Prix d'ouverture de l'ordre ou y a-t-il une autre façon de procéder ? ? ???

OrderProfit()
 
drknn:

OrderProfit()
Quoi ? OrderProfit() Pourriez-vous être plus précis ???
 
artmedia70:

Vous connectez cette bibliothèque à l'EA. Au tout début du code, écrivez-le après avoir connecté les bibliothèques standard :

Dans l'EA, dans la fonction start(), faites un appel à la fonction qui est dans la bibliothèque et compilez l'EA, pas la bibliothèque.


J'ai fait tout ce que vous avez dit et maintenant, lors de la compilation de l'EA, il indique cannot open the program file et pointe sur la ligne avec le nom de ma fonction : #include <GetExstremumZZZPrice.mqh>
 
VOLDEMAR:
Quoi ? OrderProfit() Pouvez-vous être plus précis ???
Dans la boucle for(), commencez à parcourir les commandes dans l'ordre, mais en partant de la fin, en utilisant la fonction OrderSelect() et le paramètre MODE_HISTORY. Une fois que vous avez trouvé un ordre perdant à l'aide de la fonction OrderProfit(), appelez break(). Vous avez trouvé ce que vous cherchiez !
 
Expliquez ce que signifie OrderCloseBy: il est clair qu'un ordre est différent, et que fait-il ?
 
T-G:
Expliquez ce que signifie OrderCloseBy: il est clair qu'un ordre est différent, et que fait-il ?
Il permet de réaliser une petite économie sur l'écart.
 
splxgf:
Cela permet de réaliser une petite économie sur l'écart.

À vue de nez, c'est exactement deux fois plus.
 
VOLDEMAR:
Quoi ? OrderProfit() Pourriez-vous être plus précis ???

Nous déclarons une variable de type datetime (par exemple Ord_Time) et la mettons immédiatement à zéro. Nous déclarons une variable entière, par exemple Ticket, puis nous l'effaçons également. Ensuite, nous créons une boucle qui va parcourir toutes les commandes de l'historique. La prochaine commande a été sélectionnée. Si l'heure de sa clôture est supérieure (ou égale) à celle de la variable Ord_Time et que OrderProfit() est inférieur à zéro, la variable Ord_Time =OrderCloseTime() et la variable Ticket =OrderTicket(). À la suite de cette boucle, la variable Ticket contiendra le ticket du dernier ordre perdant, ou zéro, s'il n'y a aucun ordre perdant dans l'historique.
 
drknn:

Déclarer une variable de type datetime (par exemple Ord_Time) et la mettre immédiatement à zéro. Nous déclarons une variable entière, par exemple Ticket, et la mettons également à zéro. Ensuite, nous créons une boucle qui va parcourir toutes les commandes de l'historique. La prochaine commande a été sélectionnée. Si l'heure de sa clôture est supérieure (ou égale) à celle de la variable Ord_Time et que OrderProfit() est inférieur à zéro, la variable Ord_Time =OrderCloseTime() et la variable Ticket =OrderTicket(). Le résultat de ce cycle est que la variable Ticket contiendra le ticket du dernier ordre perdant, ou zéro, s'il n'y a aucun ordre perdant dans l'historique.

Pourquoi rendre les choses si compliquées ?

Exécutez le script suivant :

int start()
{
   for (int Pos = OrdersHistoryTotal()-1; Pos >= 0; Pos--)
      if(OrderSelect(Pos, SELECT_BY_POS, MODE_HISTORY))
      {
         Print(OrderTicket(), ": ", TimeToStr(OrderCloseTime()));
      }
}

J'ai écrit la solution ci-dessus. Nous devons seulement insérer une ligne dans ce code.

Raison: