Comment afficher le type d'ordre (Vente/Achat) sur le graphique ? - page 2

 
Konnj:
Qu'en est-il du type de carte Ticket ?
Vous voulez dire le type de commande?
 
RaptorUK:

Avez-vous d'abord sélectionné la bonne commande ?

Je ne suis pas sûr de savoir comment le sélectionner !


De plus... Object DeleteAll() est paresseux, ne l'utilisez pas. ...

Je suis en train d'y travailler.


Ne l'ai-je pas déjà dit deux fois ?

Oui, tu l'as fait. Je suis désolé. :(
 
RaptorUK:
Vous voulez dire le type de commande ?


C'est exact.
 
Konnj:

Correct.
OK, vous avez confondu la situation quand vous avez dit... "type de cartes".
 
RaptorUK:

Avez-vous d'abord sélectionné la bonne commande ?


Comment puis-je le faire ?
 
Konnj:

Comment puis-je le faire, s'il vous plaît ?

Vous le faites déjà dans ce code . . .

int CalculateCurrentOrders()
  {
                  int pos=0;

                  for(int i=0;i<OrdersTotal();i++)
                    {
                     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
                     if(OrderSymbol()==Symbol() )
                       {
                        if(OrderType()==OP_BUY)  pos++;
                        if(OrderType()==OP_SELL) pos++;
                       }
                    }
              
                return(pos);
  }

Assurez-vous simplement que vous avez sélectionné la bonne commande, si elle existe, avant d'essayer d'utiliser OrderType, ou d'obtenir le type dans cette fonction.

 

J'ai tout essayé, mais je ne peux pas !!

Cher RaptorUK, vous avez mes codes complets, dites-moi juste ce que je dois faire s'il vous plaît !

Meilleures salutations

 

Ce code devrait fonctionner. Il utilise vos définitions, et votre codage. Je dois vous avertir que vous devez travailler dessus pour vous assurer qu'il fonctionne correctement dans TOUS les cas.

J'ai fait une partie de cela (vérifier le type d'ordre OP_SELL séparément, ce n ' est pas la meilleure façon de faire puisqu'il y a d'autres types d'ordre). Il y a beaucoup de choses qui doivent être ajoutées pour que ce soit un bon outil. Par exemple, maintenant, il ne montrera que le type du dernier ordre si vous en avez plus d'un, il ne disparaîtra pas quand il n'y a pas de positions, etc.

Alors, prenez-en de la graine et travaillez dessus. Ce sera un bon début pour apprendre MQL.

int start()
  {
   int    counted_bars=IndicatorCounted();
   int pos;
   string OrderTyp = "OT";
   string ot;
   color LabelColor;
//----
                  for(int i=0;i<OrdersTotal();i++)
                    {
                     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
                     if(OrderSymbol()==Symbol() )
                       {
                        if(OrderType()==OP_BUY)  pos++;
                        if(OrderType()==OP_SELL) pos++;
                       }
                    }
                    
      if (OrderType()==OP_BUY) { ot="Buy";  LabelColor = DodgerBlue; }
      if (OrderType()==OP_SELL){ ot="Sell"; LabelColor = Red; }
      ObjectCreate(OrderTyp, OBJ_LABEL, 0 , 0, 0, 0);
      ObjectSet(OrderTyp, OBJPROP_CORNER, 1);
      ObjectSet(OrderTyp, OBJPROP_XDISTANCE, 10);
      ObjectSet(OrderTyp, OBJPROP_YDISTANCE, 15);
      ObjectSetText(OrderTyp, "Order Type: "+ot, 8, "Tahoma",LabelColor);
//----
   return(0);
  }
 
pro_: il n'affichera que le type du dernier ordre si vous en avez plus d'un, il ne disparaîtra pas lorsqu'il n'y a pas de positions, etc.


Comme vous le dites, il affiche le dernier type de commande! Mon problème est que ! Je veux qu'il affiche le type d'ordre actuel du graphique !


Merci pro_

 

Si ça marche pour vous, tant mieux. J'en suis heureux. Mais mon point de vue est qu'un indicateur doit être universel autant que possible, et ne pas être bon pour une situation spécifique seulement. Vous le faites une fois, mais faites-le correctement, de sorte que si vous devez changer quelque chose ou si la situation change en termes de vos positions, il fonctionne correctement.

Quoi qu'il en soit, vous êtes le bienvenu.

Raison: