So prüfen Sie, ob ein Auftrag wegen eines Stop-Loss geschlossen wurde - Seite 3

 
honest_knave:
Was ist mit Slippage?
<= für Käufe und >= für Verkäufe.
 
Jose Francisco Casado Fernandez:
Ja, genau das habe ich gesagt. Ich habe es so gemacht, und es hat funktioniert, aber wenn Sie den ursprünglichen Stop Loss ändern, wird ein neuer Auftrag OHNE dieselbe POSITION_ID erzeugt. Ich weiß nicht, warum. Ich denke, es ist ein Fehler. Mit freundlichen Grüßen,.
Ich werde dieses Problem prüfen . Vielen Dank und viele Grüße.
 
Roberto Jacobs:

Es besteht keine Notwendigkeit, den Schlupfzu berücksichtigen, da der Auftrag bereits geschlossen wurde und der Schlusskurs auf HystoryDealGetDouble(ticket, DEAL_PRICE) steht.
Wenn der Auftrag nicht in der Nähe gewesen, und Sie machen einen Auftrag zu schließen, dann sollten Sie überlegen , wie viel Schlupf, so dass kein Fehler requotes.

Wenn ich Sie richtig verstehe, ist das nicht exakt. Auf einem realen Markt kann eine Order durch SL (oder TP) zu einem anderen Preis als dem der Position SL (oder TP) geschlossen werden.
 
Roberto Jacobs:

Es ist nicht nötig, nach Slippagezu suchen, da die Order geschlossen wurde und der Schlusskurs auf HystoryDealGetDouble(ticket, DEAL_PRICE) steht.
Wenn der Auftrag nicht in der Nähe gewesen, und Sie machen einen Auftrag zu schließen, dann sollten Sie prüfen, wie viel Schlupf, so dass kein Fehler requotes.

Ich bin nicht sicher, ob ich folgen kann.

HistoryOrderGetDouble(ticket,ORDER_SL) ist der Stop Loss

Wenn der SL ausgelöst wird, können Sie Slippage erhalten.

HistoryDealGetDouble(ticket, DEAL_PRICE) zeigt den tatsächlichen Preis an, bei dem es zu einem Slippage gekommen sein kann oder auch nicht.

Wenn es eine Preisdifferenz gab, wird ein einfacher Vergleich von ORDER_SL == DEAL_PRICE fehlschlagen, oder?

 
Jose Francisco Casado Fernandez:
Ja, genau das habe ich gemeint. Ich habe es so gemacht, und es hat funktioniert, aber wenn Sie den anfänglichen Stop Loss ändern, wird eine neue Order OHNE dieselbe POSITION_ID erzeugt. Ich weiß nicht, warum. Ich denke, es ist ein Fehler. Mit freundlichen Grüßen,.

Ein Auftrag zur Änderung von SL/TP wird überhaupt nicht in der Historie gespeichert. Ich bin mir also nicht sicher, was Sie hier meinen.

Und der Auftrag, der tatsächlich aus dem ausgelösten SL/TP resultiert, enthält den SL/TP nicht.

 
Jose Francisco Casado Fernandez:
<= für Käufe und >= für Verkäufe.
Was ist mit positiver Slippage?
 
honest_knave:

Ich bin nicht sicher, ob ich folgen kann.

HistoryOrderGetDouble(ticket,ORDER_SL) ist der Stop Loss

Wenn der SL ausgelöst wird, können Sie Slippage erhalten.

HistoryDealGetDouble(ticket, DEAL_PRICE) zeigt den tatsächlichen Preis an, bei dem es zu einem Slippage gekommen sein kann oder auch nicht.

Wenn es Slippage gab, wird ein einfacher Vergleich von ORDER_SL == DEAL_PRICE fehlschlagen, oder?

Ja, natürlich.
 
Alain Verleyen:
Wenn ich Sie richtig verstehe, ist das nicht exakt. Auf einem realen Markt kann eine Order durch SL (oder TP) zu einem anderen Preis geschlossen werden als der Positions-SL (oder TP).
Ja Alain, was ist, wenn Bid > close_price+spread oder Ask < close_price-spread
 
Roberto Jacobs:
Ja Alain, was ist, wenn Bid > close_price+spread oder Ask < close_price-spread

spread != Abweichung (Schlupf)

Es ist schade, dass es nicht möglich ist, den Abweichungsparameter abzurufen.

Ein vernünftiger Kompromiss ist wahrscheinlich (vorausgesetzt, der EA hat die Order platziert), zu prüfen, ob DEAL_PRICE innerhalb eines Fensters von ORDER_SL± Abweichung lag

 
Roberto Jacobs:
Ja Alain, was wenn Bid > close_price+spread oder Ask < close_price-spread
Entschuldigung, aber ich verstehe nicht, was Sie meinen?