EA schließt Order nicht
Hallo zusammen,
kann mir bitte jemand sagen wo mein Fehler liegt? Der EA schließt mir einfach die Trades nicht, wenn eine Trendumkehr vorliegt. Er fährt den Trade stur bis zum gesetzten SL durch und missachtet die Bedingungen für den “OrderClose“-Befehl. Vielleicht kann mir jemand von euch helfen. Danke im Voraus. double stoch1=iStochastic(NULL,0,6,4,4,MODE_SMA,0,MODE_MA IN,0); double stoch2=iStochastic(NULL,0,6,4,4,MODE_SMA,0,MODE_SI GNAL,0); double adx1=iADX(NULL,0,14,PRICE_HIGH,MODE_PLUSDI,0); double adx2=iADX(NULL,0,14,PRICE_CLOSE,MODE_MINUSDI,0); double tenkan=iIchimoku(NULL,0,9,26,52,MODE_TENKANSEN,1); double kijun=iIchimoku(NULL,0,9,26,52,MODE_KIJUNSEN,1); double osma=iOsMA(NULL,0,12,26,9,PRICE_CLOSE,0); if(OrderSelect(OrdersTotal(),SELECT_BY_POS,MODE_TR ADES)==true) { if(OrderType()==OP_BUY && OrderMagicNumber() == MagicNumber && OrderSymbol()== Symbol() ) { if (osma < 0) { if (stoch1 < stoch2) { if (stoch1 < 70) { if (adx1 < adx2) { if ( tenkan < kijun) { OrderClose(OrderTicket(),OrderLots(),Bid,5,White); return; } } } } } } |
Hallo,
ich habe den Code nur Überflogen, allerdings ist das hier wahrscheinlich falsch: if(OrderSelect(OrdersTotal(),SELECT_BY_POS,MODE_TR ADES)==true) Wenn du nur eine Order hast und diese geschlossen werden soll, versuche mal: if(OrderSelect(0,SELECT_BY_POS,MODE_TR ADES)==true) vielleicht sind noch andere Fehler im Code, das kann ich nicht sagen. Lass dir doch immer per Print("ich bin hier"); ausgeben, wo der code sich gerade befindet, dann wird du sehen, welche Bedingung nicht erfüllt wird. Gruß yytrader |
Zitat:
traderdoc |
@ Traderdoc und YYTrader,
vielen Dank für die schnellen Antworten, nur leider habe ich das Problem immer noch. Der EA durchläuft die Schleifen bis inkl. der OrderType - Abfrage. Ab der ersten Indikatorabfrage ígnoriert er jedoch weiterhin stur alle weiteren Bedingungen. Laut grafischer Darstellung hätte er die Order jedoch schließen sollen. Seltsam ist, dass beim Aufgeben einer Order dieses System funktioniert. Gruß Hannes |
Wie bereits erwähnt: an entsprechende Stellen Print("Testx"); schreiben. x z.B. aufsteigende Zahl, um eine schnellere Zuordnung des Prints zu erlangen und dann schauen, wo der EA zu frühzeitig aussteigt.
traderdoc |
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:47 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