ordersend()-Codierung helfen... - Seite 2

 

Wissen Sie, ich habe gerade darüber nachgedacht, was ich Ihnen vorhin gesagt habe:

Wenn es ein Kauf ist:

SL = Bid - StopLoss* Punkt

TP = Bid + TakeProfit* Punkt

Wenn es ein Verkauf ist:

SL = Ask + StopLoss* Punkt;

TP = Ask - TakeProfit* Punkt;

Ich habe es immer so gemacht, weil es in den Beispielen im MQL4-Buch so gemacht wird, aber jetzt denke ich, dass das nicht korrekt aussieht. Wenn Sie auf dem Ask-Kurs eröffnen, wollen Sie doch sicher den Gewinn zu diesem Kurs + Ihren TP-Betrag mitnehmen, und Sie wollen bei diesem Kurs - Ihrem SL-Betrag aussteigen?

Mit anderen Worten, die Art und Weise, wie Sie es hatten, sieht so aus, als ob es korrekt wäre, oder gibt es etwas, das ich übersehe?

 
mugged:

1) Ja, diese Methode funktioniert! Gibt es eine Möglichkeit, dies zu umgehen? Ich hasse den Gedanken an den schlimmsten Fall, in dem die ursprüngliche Bestellung eingeht, aber die Änderung nicht erfolgt (Verbindung bricht ab, Fehler tritt auf usw. usw.)

Gute Frage! Ich habe noch nie jemanden gesehen, der dieses Problem umgehen kann.

Bitte fragen Sie Ihren Broker nach diesem "worst case".

 
mugged:

1) Ja, diese Methode funktioniert! Gibt es eine Möglichkeit, dies zu umgehen? Ich hasse den Gedanken an den schlimmsten Fall, in dem die ursprüngliche Bestellung eingeht, aber die Änderung nicht erfolgt (Verbindung stirbt, Fehler tritt auf usw. usw.)

In meinem Code, wenn die OrderModify fehlschlägt, wird sie mehrmals wiederholt, wenn die Wiederholungen fehlschlagen, wird die Order geschlossen, wenn die OrderClose fehlschlägt, wird sie wiederholt, wenn die Wiederholungen fehlschlagen, gibt es eine andere Funktion, die alle Trades überprüft, sie wird die Order ohne SL oder TP erkennen und versuchen, sie zu schließen. Diese Fehler werden auf dem Bildschirm und per E-Mail gemeldet, die E-Mail generiert auch eine Push-Benachrichtigung auf meinem Mobiltelefon.

Es gibt noch einen weiteren Fehlermodus, den ich noch nicht behandelt habe, nämlich den Verlust der Internetverbindung unmittelbar nach der Ordererteilung und vor der Änderung der Order... Ich habe eine Idee, wie ich das handhaben kann, aber ich verfüge nicht über die erforderlichen PHP-Kenntnisse.

 

Ich kontaktierte meinen Broker, sie waren ziemlich nutzlos, wie sie nicht bieten keine Programmierung Hilfe. So ziemlich alles, was der rep wusste, war, wie man einen EA auf das Diagramm anwenden.

Seine irgendwie seltsam, dass dieses Problem nur begonnen, obwohl, es war in der Vergangenheit völlig in Ordnung arbeiten. Ich frage mich, was es verursacht hat...

 
Habt ihr dieses Problem schon lange oder ist es etwas Neues?
 
Das ist eine Tatsache bei einem ECN-Broker.
 

Danke für eure Hilfe, Leute.

Ich schätze, ich werde es einfach umgehen.

 
RaptorUK:

In meinem Code, wenn die OrderModify fehlschlägt, wird sie mehrmals wiederholt, wenn die Wiederholungen fehlschlagen, wird die Order geschlossen, wenn die OrderClose fehlschlägt, wird sie erneut versucht, wenn die Wiederholungen fehlschlagen, gibt es eine andere Funktion, die alle Trades überprüft, sie wird die Order ohne SL oder TP erkennen und versuchen, sie zu schließen. Diese Fehler werden auf dem Bildschirm und per E-Mail gemeldet, die E-Mail generiert auch eine Push-Benachrichtigung auf meinem Mobiltelefon.

Es gibt noch einen weiteren Fehlermodus, den ich noch nicht behandelt habe, nämlich den Verlust der Internetverbindung unmittelbar nach der Ordererteilung und vor der Änderung der Order... Ich habe eine Idee, wie man das handhaben könnte, aber ich habe nicht die nötigen PHP-Kenntnisse.


Raptor, wenn es Ihnen nichts ausmacht... wie wollten Sie die Konnektivität per PHP überprüfen?
 
Vielleicht könnten Sie ein Mobiltelefon im Modemmodus an den Computer anschließen, so dass der Computer, wenn er seine reguläre Internetverbindung verliert, sich vorübergehend über das Mobiltelefonnetz wieder verbinden kann.
 
RaptorUK:
Es gibt noch einen weiteren Fehlermodus, den ich noch nicht behandelt habe, nämlich den Verlust der Internetverbindung unmittelbar nach der Platzierung der Order und vor ihrer Änderung... Ich habe eine Idee, wie man damit umgehen kann, aber ich verfüge nicht über die erforderlichen PHP-Kenntnisse.

Mein Ansatz ist es, einfach den Fehler zu melden und zurückzukehren. Beim nächsten Tick, bei einem Neustart, bei einer erneuten Verbindung wird die orderSelect-Schleife von EA die offene Order finden und dann die Stops setzen.

Das größte Problem ist, dass orderSend kein Ergebnis liefert. Der Auftrag kann offen sein oder auch nicht. Sobald Sie den nächsten Tick bekommen, werden Sie es wissen.