Fragen von einem "Dummy" - Seite 135

 
Cmu4:

Ich reduziere die Lautstärke durch Gegenbestellung, schreibe einen Kommentar hinein, aber der Kommentar bleibt drin, er "klebt" nicht an der Position...

Das Interessanteste ist, dass der Auftrag, wenn er mit einem Kommentar in Richtung der Position gesendet wird, diesen Kommentar erhält, wenn er dagegen ist, nicht.

Vielleicht ist es ein Fehler?

Ich habe mir meinen EA im Visualisierungsmodus angesehen und festgestellt, dass die Kommentare manchmal "haften" und manchmal nicht. Ich kann dazu noch nichts sagen (für mich ist es nicht kritisch). Beobachten Sie weiter und schreiben Sie dem Service Desk, wenn Sie ein Muster finden, das sich reproduzieren lässt.
 
tol64:
Ich habe in meinem Visualisierungsmodus gesehen, dass die Kommentare manchmal "haften" und manchmal nicht. Ich kann dazu noch nichts sagen (für mich ist es nicht kritisch). Beobachten Sie weiter und schreiben Sie an den Servicedesk, wenn Sie ein Muster in der Wiederholung finden.

Das habe ich bereits getan. Hmm, ich bekomme immer die falschen. Und es gibt eine ganze Menge über das "Exzerpieren" eines Kommentars. Ufff...

Übrigens, hier ist eine einfache Funktion, um den Kommentar des letzten Handels (nur Zahlen in den Kommentaren) zu einer Position zu erhalten, ist das richtig? Andernfalls "schabe" ich es vielleicht falsch...

double OrderLastMy()
{HistorySelectByPosition(pos_id);
 int total=HistoryDealsTotal();
 double Comments = StringToDouble(HistoryDealGetString(total,DEAL_COMMENT));
 if (Comments!=0)
  {Print("comment = ", Comments));
   return(Comments);
  }
 else return(0);
 }
 
Cmu4:

Das habe ich bereits getan. Hmm, ich bekomme immer die falschen. Und es gibt eine ganze Menge über das "Exzerpieren" eines Kommentars. Ufff...

Übrigens, hier ist eine einfache Funktion, um den Kommentar des letzten Handels (nur Zahlen in den Kommentaren) zu einer Position zu erhalten, ist das richtig? Oder vielleicht verstehe ich es nicht richtig...

double OrderLastMy()
{HistorySelectByPosition(pos_id);
 int total=HistoryDealsTotal();
 double Comments = StringToDouble(HistoryDealGetString(total,DEAL_COMMENT));
 if (Comments!=0)
  {Print("comment = ", Comments));
   return(Comments);
  }
 else return(0);
 } 

Die Funktion HistoryDealGetString() sollte als ersten Parameter das Ticket der Transaktion haben, und bis jetzt haben Sie die Anzahl der Geschäfte in der Historie.

 
Yedelkin:

Der erste Parameter der Funktion HistoryDealGetString() sollte ein Transaktionsticket sein, aber bisher geben Sie die Anzahl der Transaktionen in der Historie an.

Ich habe es korrigiert, aber es funktioniert immer noch nicht. Meine Herren, bitte beraten Sie mich, denn ich bin verwirrt...

double OrderLastMy()
{HistorySelectByPosition(pos_id);
 int total=HistoryDealsTotal();
 int ticket = HistoryDealGetTicket(total);
 double Comments = StringToDouble(HistoryDealGetString(ticket,DEAL_COMMENT));
 if (Comments!=0)
  {Print("commentttt = ", ticket);
   return(Comments);
  }
 else return(0);
 }
 
 
 
Cmu4:

Ich habe das Problem behoben, aber es funktioniert immer noch nicht. Meine Herren, bitte beraten Sie mich, denn ich bin verwirrt...

In Ordnung, machen wir weiter :)

Hier ist der Text.

int ticket = HistoryDealGetTicket(total);
berücksichtigt nicht, dass die Nummerierung von Elementen in Listen (einschließlich der Nummerierung von Geschäften in der Geschäftsliste) mit "0" und nicht mit "1" beginnt. Wenn Sie also den Wert total als "Transaktionsnummer in der Transaktionsliste" angeben, geben Sie eine nicht existierende Zahl an. Siehe Beispiel in MQL5 Referenz / Handelsfunktionen / HistoryDealGetTicket.
 
Yedelkin:

In Ordnung, machen wir weiter :)

Hier ist der Text

berücksichtigt nicht, dass die Nummerierung von Elementen in Listen (einschließlich der Nummerierung von Geschäften in der Geschäftsliste) mit "0" und nicht mit "1" beginnt. Wenn Sie also den Wert total als "Transaktionsnummer in der Transaktionsliste" angeben, geben Sie eine Nummer an, die nicht existiert. Siehe das Beispiel unter MQL5 Reference / Trading Functions / HistoryDealGetTicket.
Vielen Dank, das Hinzufügen von -1 hat alles gelöst (ich hoffe, das hat es - ich habe es erst einmal per Druck überprüft). :)
 
Es ist seltsam...
   datetime Arr[], time1;
   int t;

   t=CopyTime(_Symbol,_Period,0,1,Arr);
   time1=Arr[0];
Print(time1) gibt in dieser Version des Codes nichts aus, aber in dieser Version:
   datetime Arr[], time1;

   CopyTime(_Symbol,_Period,0,1,Arr);
   time1=Arr[0];

- Ausgänge.

Ist dies ein Fehler oder eine Funktion?

 
Vielleicht sollte t als datetime definiert werden?
 
Cmu4:
Vielleicht sollte t als datetime definiert werden?

t kann nicht datetime sein, lesen Sie die CopyTime-Hilfe sorgfältig:

"Rückgabewert:

DieAnzahl der kopiertenArray-Elemente oder -1 im Falle eines Fehlers."

Intuitiv fühlt es sich so an, als ob die Rückkehr dieser Funktion verarbeitet und der Rückgabewert sicher der Variablen t zugewiesen wird... und an dieser Stelle hängt sich das Programm auf, als ob nichts anderes in Arr kopiert werden wollte. Aber eigentlich dachte ich, dass das Kopieren in das Array zuerst durchgeführt werden muss, und erst dann - die Zuweisung der zurückgegebenen Anzahl der kopierten Elemente an die Variable t. Aber es geht los...
 
alph:

Hallo!

Ich habe einen EA geschrieben, alles funktioniert. Aber ich habe einen Fehler in der ersten Zeile ' request.type_filling = ORDER_FILLING_AON;'-Undeklarierter Identifikator und implizite Enum-Konvertierung

Ich kann nicht herausfinden, was falsch ist, alle EAs, die bisher mit denselben Strings kompiliert wurden, funktionieren wie zuvor.

Vielen Dank im Voraus.

Wenn Sie auf den Link ORDER_FILLING_AON klicken, werden Sie sehen, dass sich der Name gerade geändert hat.
Grund der Beschwerde: