Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1866

 
Andrey Sokolov #:

Die Arrays k_buffer[0] und d_buffer[0] enthalten die letzten Indikatorwerte. Wo liegt das Problem, sie auszugeben und sie selbst zu sehen?

Ja, in der Tat, mein Fehler liegt offenbar woanders. Ich danke Ihnen!

 
Andrey Sokolov #:

Was genau funktioniert nicht an der Code-Abkürzung?

Ich habe bereits geschrieben. Wenn bestimmte Bedingungen erfüllt sind, werden mehrere Aufträge geschlossen. Sie werden auf verschiedenen Währungspaaren und in verschiedenen Richtungen platziert. Hier ist ein Teil des Codes.

 if ( NormalizeDouble((MaxOpenSell(2) + MaxOpenBuy(2) + MinOpenSell(2))*Point,Digits) >= Profit1 && FindLastSell() >= Block 
         && FindLastBuy() >= 1 && MaxOpenSell(2) > 0 && MA1 < MA2)
      {
         LockTicket = 0;
         CalProfHis = 0;
         bool close =  OrderClose((int)MaxOpenSell(5),MaxOpenSell(3), Ask, Slippage, clrPink);
              close =  OrderClose((int)MinOpenSell(5),MinOpenSell(3), Ask, Slippage, clrPink);
              close =  OrderClose((int)MaxOpenBuy(5),MaxOpenBuy(3), Bid, Slippage, clrBlue);
      }

Ich schließe damit drei Aufträge ab.

Mein Maklerunternehmen verpasst sie jedoch manchmal, vermutlich weil es viele Signale gleichzeitig gibt. So kann ich jede Bestellung überprüfen und bei Fehlschlägen wiederholen.
Die Frage ist, wie man es richtig und kompetent macht und nicht einen riesigen Code schreibt. Ich bin sicher, dass es einen kurzen Weg gibt, deshalb frage ich Sie, meine erfahrenen Programmierer.

 
makssub #:

So kann ich für jede Bestellung einen Scheck ausstellen und den Vorgang wiederholen, wenn er fehlschlägt.
Die Frage ist nur, wie man es richtig und kompetent macht und nicht zu viel Code schreibt. Ich bin sicher, dass es einen kurzen Weg gibt, deshalb frage ich Sie, unsere erfahrenen Programmierer.

Passt Ihnen die von mir vorgeschlagene Option nicht?

Dies ist das Forum für Handel, automatisierte Handelssysteme und Strategietests.

Alle Fragen von Neulingen zu MQL4 und MQL5, oder alle Tipps und Diskussionen über Algorithmen und Codes

Mihail Matkovskij, 2022.01.17 10:35

Wenn die Ausstiegs-/Schließungsbedingung eintritt, werden die Ticks zum Array hinzugefügt. Wenn das Array dann nicht leer ist, durchlaufen Sie es in einer Schleife und rufen OrderClose für jedes Ticket auf. Prüfen Sie dann, ob die einzelnen Tickets vorhanden sind, und entfernen Sie sie aus der Liste (Array). Wiederholen Sie diese Aktionen in Abständen von 1-3 Sekunden, bis die Liste leer ist.


 
Polyzystizismus ist alles
 
Artyom Trishkin #:
Polyzystizismus ist alles

das ist der Anfang :)

Wenn ich solche Codes sehe, treten mir natürlich Tränen des Mitleids in die Augen.

 
Vitaly Muzichenko #:

das ist der Anfang :)

Wenn ich solche Codes sehe, treten mir natürlich Tränen des Mitleids in die Augen.

Gleichzeitig schreiben sich Krücken nicht von selbst...

 
Vitaly Muzichenko #:

das ist der Anfang :)

Wenn ich solche Codes sehe, treten mir natürlich Tränen des Mitleids in die Augen.

Meine Herren, bitte üben Sie begründete Kritik.

 
Andrey Sokolov #:

Meine Herren, bitte üben Sie begründete Kritik.

Das sind nur wir... wir unterhalten uns in einer Rauchpause. Kümmern Sie sich nicht um uns.

 
Alles kann als Krücken bezeichnet werden. Weil man Assembler-Maschinencode nicht gut versteht, wurden Hoch- und Ultrahochsprachen erfunden. Was sind keine Krücken?
 
Mihail Matkovskij #:

Wenn eine Ausstiegs-/Schließungsbedingung eintritt, werden die Tickets dem Array hinzugefügt. Wenn das Array nicht leer ist, durchlaufen Sie es in einer Schleife und rufen OrderClose für jedes Ticket auf. Überprüfen Sie dann das Vorhandensein der einzelnen Tickets und entfernen Sie sie aus der Liste. Wiederholen Sie diese Aktionen in Abständen von 1-3 Sekunden, bis die Liste leer ist.

Können Sie die gesamte Abschlussfunktion zeigen?

Grund der Beschwerde: