Wie kann man die Auftragsart (Verkauf/Kauf) im Diagramm anzeigen? - Seite 2

 
Konnj:
Wie sieht es mit dem Ticket-Typ aus?
Sie meinen Auftragstyp?
 
RaptorUK:

Haben Sie zuerst die richtige Reihenfolge ausgewählt?

Ich bin mir nicht sicher, wie ich es auswählen soll!


Außerdem... Objekt DeleteAll() ist faul, verwenden Sie es nicht...

Ich arbeite daran.


Habe ich das nicht schon zweimal gesagt?

Ja, das hast du. Es tut mir leid :(
 
RaptorUK:
Sie meinen Auftragstyp?


Richtig.
 
Konnj:

Richtig.
OK, Sie haben die Situation verwechselt, als Sie sagten: "Diagrammtyp".
 
RaptorUK:

Haben Sie zuerst die richtige Bestellung ausgewählt?


Wie kann ich das bitte machen?
 
Konnj:

Wie kann ich das bitte machen?

Sie tun es bereits in diesem 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);
  }

... stellen Sie nur sicher, dass Sie den richtigen Auftrag ausgewählt haben, wenn es einen gibt, bevor Sie versuchen, OrderType zu verwenden, oder den Typ in dieser Funktion zu erhalten.

 

Ich habe alles versucht, aber ich kann nicht!!

Lieber RaptorUK, Sie haben meine kompletten Codes, sagen Sie mir einfach, was soll ich bitte tun!

Mit besten Grüßen

 

Dieser Code sollte funktionieren. Er verwendet Ihre Definitionen und Ihre Kodierung. Ich muss Sie warnen, dass Sie daran arbeiten müssen, um sicherzustellen, dass er in ALLEN Fällen richtig funktioniert.

Das habe ich zum Teil getan (prüfen Sie den OrderType OP_SELL gesondert, alles andere ist nicht der beste Weg, da es noch andere Order-Typen gibt). Es gibt viele Dinge, die hinzugefügt werden müssen, damit es ein gutes Werkzeug ist. Zum Beispiel zeigt es jetzt nur den Typ der letzten Order an, wenn Sie mehr als eine haben, es verschwindet nicht, wenn es keine Positionen gibt, usw.

Nehmen Sie es also von hier aus und arbeiten Sie daran. Es wird ein guter Anfang für das Erlernen von MQL sein.

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_: es wird nur die Art der letzten Bestellung angezeigt, wenn Sie mehr als eine haben, es wird nicht verschwinden, wenn es keine Positionen gibt, etc.


Wie Sie sagen, zeigt es die letzte Auftragsart an! Mein Problem ist das! Ich möchte, dass es den aktuellen Chart-Ordertyp anzeigt!


Danke pro_

 

Wenn es für Sie funktioniert - gut. Ich bin froh. Aber meine Ansicht ist, dass jeder Indikator sollte universell so viel wie möglich, und nicht gut für einige spezifische Situation nur sein. Sie tun es einmal, aber tun Sie es richtig, so dass, wenn Sie etwas ändern müssen oder Situation ändert sich in Bezug auf Ihre Positionen es richtig funktioniert.

Wie auch immer, Sie sind willkommen.