Pending Order Magic Number
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich experimentiere an einem MT4-EA, der nur jeweils eine Buy_Stop und eine Sell_Stop Order sendet. Wenn eine davon ausgeführt wurde, also der Broker OP_Buy/OP_Sell entsprechend geöffnet hat, sollen die Stop_Orders gelöscht werden. Aber was ist mit den Magic Numbers? Die schick ich mit den Stop_Orders an der entsprechenden Stelle mit. Aber hat das so überhaupt nen Sinn? Ich meine, verpasst er der Markt-Order die MN, die mit der Stop_Order gesendet wurde oder wie ist das? :confused: Code:
extern int Buy_Stop_MN=12; Code:
if(Buy_Stop==true)OrderSend(Symbol(),OP_BUYSTOP,Lots,Buy_Stop_OOP,Slippage,Buy_Stop_SL,Buy_Stop_TP,Name + " Buy(#" + Buy_Stop_MN + ")",Buy_Stop_MN,0,MediumBlue); |
Erstens (ich betrachte hier mal nur die Long Seite), eine BuyStopOrder ist (genau wie eine BuyLimitOrder) eine pending order, das heißt sie bleibt so lange nicht aktiv wie die Ask Linie den Preis nicht erreicht hat. Eine Marktorder ist eine, die sofort ausgeführt wird, das ist ein Unterschied und darf nicht verwechselt werden.
So ein Ding setzt Du manuell durch das Einfügen einer BuyStop Linie und im Code, indem Du bei OrderSend() OP_BUYSTOP nimmst. Dem kannst Du eine Deiner MagicNumbers mitgeben, bei Dir also die Buy_Stop_MN=12. (Hast Du ja in Deinem Beispiel schon gemacht.) Diese MagicNumber ist nun fest mit Deiner Order verankert und Du kannst sie verwenden, wann immer Du nach genau dieser Order suchst (vorausgesetzt, Du verwendest diese Nummer nur ein einziges Mal - und nicht für etliche weitere BuyLimitOrders). Willst Du also wissen, ob Deine pending Order mittlerweile aktiviert wurde (also eine laufende BuyOrder wurde, fragst Du das in einer Schleife über die laufenden Orders ab, Kurzform: Code:
for(int i=OrdersTotal()-1; i>=0; i--) //SchleifeAlleOrders Mein Tradingpanel gibt z.B. allen Orders dieselbe MagicNumber; sollte ich in dem Markt einen Langläufer haben oder nebenbei auf die Idee kommen, noch mal ne StopBuy Marke zu setzen, die dann aktiviert wird, und ich drücke auf dem Panel den Trailingknopf, dann trailt er nur die Positionen, die ich mit dem Panel eröffnet habe - alle anderen läßt er in Ruhe (dafür ist die MagicNumber als Unterscheidung). Ich hoffe, das war's was Du brauchst. AVT |
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:14 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum