[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 383

 
Hallo an alle !!!!!
Frage: Wie findet man den letzten Verlustauftrag?
Welches ist das Prinzip des "Goldenen Zeitalters"? Handelt es sich um eine Bestellung zum offenen Preis oder gibt es eine andere Möglichkeit ?????
 
VOLDEMAR:
Was ist das Prinzip des "Goldenen Zeitalters"? Order Open Price oder gibt es eine andere Möglichkeit ????

AuftragGewinn()
 
drknn:

AuftragGewinn()
Was? OrderProfit() Könnten Sie etwas genauer sein???
 
artmedia70:

Sie verbinden diese Bibliothek mit dem EA. Schreiben Sie ihn ganz am Anfang des Codes, nachdem die Standardbibliotheken angeschlossen sind:

Rufen Sie im EA in der Funktion start() die Funktion auf, die in der Bibliothek enthalten ist, und kompilieren Sie den EA, nicht die Bibliothek.


Ich habe alles getan, wie Sie gesagt haben, und jetzt beim Kompilieren der EA, gibt es kann nicht die Programmdatei öffnen und zeigt auf die Zeile mit dem Namen meiner Funktion: #include <GetExstremumZZZPrice.mqh>
 
VOLDEMAR:
Was? OrderProfit() Können Sie etwas genauer sein?
Beginnen Sie in der for()-Schleife damit, die Aufträge der Reihe nach durchzugehen, aber vom Ende her, indem Sie die Funktion OrderSelect() und den Parameter MODE_HISTORY verwenden. Sobald Sie mit der Funktion OrderProfit() einen Verlustauftrag gefunden haben, rufen Sie break() auf. Sie haben gefunden, wonach Sie gesucht haben!
 
Erklären Sie, was OrderCloseBy ist es klar, dass eine Bestellung ist anders, und was tut es?
 
T-G:
Erklären Sie, was OrderCloseBy ist es klar, dass eine Bestellung ist anders, und was tut es?
Das bringt eine kleine Ersparnis beim Spread.
 
splxgf:
Dadurch ergibt sich eine kleine Ersparnis bei der Spanne.

Nach einer groben Schätzung ist es genau doppelt so viel.
 
VOLDEMAR:
Was? OrderProfit() Können Sie etwas genauer sein?

Wir deklarieren eine Variable vom Typ datetime (z. B. Ord_Time) und setzen sie sofort auf Null. Wir deklarieren eine Integer-Variable, z.B. Ticket, und löschen sie dann auch. Dann erstellen wir eine Schleife, die alle Aufträge aus der Historie durchläuft. Der nächste Auftrag wurde ausgewählt. Wenn der Zeitpunkt des Abschlusses höher (oder gleich) ist als der in der Variablen Ord_Time angegebene und OrderProfit() kleiner als Null ist, ist die Variable Ord_Time =OrderCloseTime() und die Variable Ticket =OrderTicket(). Das Ergebnis dieses Zyklus ist, dass die Variable Ticket das Ticket des letzten Verlustauftrags enthält, oder Null, wenn es in der Historie keine Verlustaufträge gibt.
 
drknn:

Deklarieren Sie eine Datetime-Variable (z. B. Ord_Time) und setzen Sie sie sofort auf Null. Wir deklarieren eine Integer-Variable, z.B. Ticket, und setzen sie ebenfalls auf Null. Dann erstellen wir eine Schleife, die alle Aufträge aus der Historie durchläuft. Der nächste Auftrag wurde ausgewählt. Wenn der Zeitpunkt des Abschlusses höher (oder gleich) ist als der in der Variablen Ord_Time angegebene und OrderProfit() kleiner als Null ist, ist die Variable Ord_Time =OrderCloseTime() und die Variable Ticket =OrderTicket(). Als Ergebnis dieser Schleife enthält die Variable Ticket das Ticket des letzten Verlustauftrags oder Null, wenn es überhaupt keine Verlustaufträge in der Historie gibt.

Warum die Dinge so kompliziert machen?

Führen Sie das folgende Skript aus:

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

Ich habe die Lösung oben geschrieben. Sie müssen nur eine Zeile in diesen Code einfügen.

Grund der Beschwerde: