Das [tp]-Tag bei einigen Brokern entfernt? - Seite 4

 
cloudbreaker:
Es ist möglich. Sie müssten eine Logik entwickeln, die Folgendes tut: - Informationen über Orders, die der EA geschlossen hat, aufbewahren - den Order History Pool kontinuierlich auf Orders überprüfen, die "in scope" sind, aber von Ihrem EA nicht geschlossen wurden - das Gewinnzeichen überprüfen, um festzustellen, ob ein Broker SL oder TP aufgerufen hat - funktioniert bei mir. CB

Diese Methode kann in den meisten MT4 Broker-Plattform ohne Problem verwendet werden, aber ich fand es funktioniert nicht in der MBTF MT4 Broker Demo-Plattform. Die MBTF MT4 Plattform zeichnet keine Kommentare in den geschlossenen Aufträgen von Kunden (manuell oder EA) auf. Es ist unmöglich zu beurteilen, ob ein Auftrag durch den Server oder den Kunden in dieser Art von Broker-Plattform geschlossen wurde.

Ich denke immer noch, MetaQuotes sollte die API wie OrderCloseReason() hinzufügen, um dieses Problem zu lösen.

 
gordon:

HmmCOPY00 Vielleicht übersehe ich etwas, aber gibt es Fälle, in denen das Folgende nicht ausreicht?


// select the closed order first and then do this:
   
   double sl_diff = MathAbs(OrderClosePrice() - OrderTakeProfit()),
          tp_diff = MathAbs(OrderClosePrice() - OrderStopLoss());
   
   if ( sl_diff > tp_diff )
      Print("order closed at tp");
   else
      Print("order closed at sl");

   // I assume here that an equality of sl_diff and tp_diff is impossible...?
aber, hier gibt es eine Lösung, wie man es machen kann
 
qjol:
aber hier erhalten Sie eine Lösung, wie Sie es machen können
Lesen Sie den ganzen Thread. Diese Methode berücksichtigt nicht die Situation, in der ein Auftrag manuell oder durch einen Experten (und nicht durch tp/sl) geschlossen wurde, daher ist es begrenzt. Der Weg, es zu tun ist über das, was CB vorgeschlagen ... Keine Abkürzungen hier.
 
aihua5:

[...] Ich denke immer noch, MetaQuotes sollte die API wie OrderCloseReason() hinzufügen, um dieses Problem zu lösen.

Jetzt, wo MT5 auf dem Markt ist, wird das wahrscheinlich nicht passieren. Wir werden höchstens einige Fehlerbehebungen für MT4 bekommen... Ich bezweifle, dass es irgendwelche neuen Funktionen geben wird...

 
gordon:
Lesen Sie den ganzen Thread. Diese Methode berücksichtigt nicht die Situation, in der ein Auftrag manuell oder durch einen Experten (und nicht durch tp/sl) geschlossen wurde, daher ist es begrenzt. Der Weg, es zu tun ist über das, was CB vorgeschlagen ... Keine Abkürzungen hier.


Sie r Recht haben nicht gelesen, den ganzen Thread, aber, wenn es durch den EA geschlossen oder manuell der Benutzer hat die Möglichkeit, dies zu wissen, das einzige Problem ist, um herauszufinden, ob es geschlossen ist, von TP oder ST

Hier kommen Sie ins Spiel. mit Ihrem Code.

 
qjol:


Sie r Recht haben nicht den ganzen Thread lesen, aber, wenn es durch die EA geschlossen ist oder manuell der Benutzer hat die Möglichkeit, dies zu wissen, das einzige Problem ist, um herauszufinden, ob es von TP oder ST geschlossen ist

Dies ist, wo Sie kommen in. mit Ihrem Code.

Vielleicht erinnert sich der Benutzer nicht an das manuelle Schließen. Vielleicht ist ihm nicht bewusst, dass der EA die Order geschlossen hat. Vielleicht war er nicht derjenige, der den Experten entwickelt hat, so dass er keine Ahnung von diesen Dingen hat... Wenn wir natürlich davon ausgehen, dass nur TP/SL möglich sind, ist die Lösung einfach. Aber der ganze Sinn dieses Threads ist, dass wir es nicht wissen (was bedeutet, dass wir es nicht annehmen).