Einzelnen Beitrag anzeigen
  #14 (permalink)  
Alt 27.08.20
Benutzerbild von Indikator-Trading
Indikator-Trading Indikator-Trading ist offline
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Michael_ Beitrag anzeigen
Mit "int LongOrder = OrderSend(...)" frag ich nicht nach dem Ticket, da gib ich ja nur die Order auf.
Eigentlich habt ihr beide recht.

Die OrderSend gibt dir die Ticketnummer zurück gibt, sobald die Order ohne Fehler platziert worden ist. Bei Fehlern ist die Rückgabe halt -1 und genau danach fragst du ja in der While-Schleife.

Zitat:
Returned value
Returns number of the ticket assigned to the order by the trade server or -1 if it fails. To get additional error information, one has to call the GetLastError() function.
Wenn du mehrfach die OrderSend Funktion senden möchtest, da du erwartest, dass das evtl. nicht klappt, dann solltest du das eher in einer For-Schleife packen. Diese beendet den OrderSend()-Versuch nach x-Durchläufen und du solltest dann darüber informiert werden (Alert(), SendNotification(), SendEmail,.. usw.).
Zudem würde ich noch eine Wartefunktion hinzufügen und IsTradeContextBusy() abfragen. Außerdem kann es sinnvoll sein IsTradeAllowed() z.B. in der OnInit()-Funktion abzufragen

Gruß Timo