Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   OrderModify error 4051 (http://www.expert-advisor.com/forum/showthread.php?t=6185)

Xypa 28.08.18 16:35

OrderModify error 4051
 
Guten Tag liebe Foren Mitglieder,

ich sitze jetzt vor meinem nächsten Problem. :(
Beim Testen des EAs wird der Fehler "OrderModify error 4051" und "invalid ticket for OrderModify function".

Ich habe gelesen das der Fehlercode auftritt wenn man zu viele Zahlen hinter dem Komma hat. Deshalb habe ich die Zahlen per NormalizeDouble bis auf eine Komma stelle gerundet(Der EA soll im Dax verwendet werden und mein Broker liefert auch eine Komma stelle).

Anbei ein kleiner Auszug von meinem Code
Code:



MagicNumberLongPosition=1000;

if(SLNachziehen1==true&&TakeProfitProzent>10)
  {
      for(int zaehler=0;zaehler<OrdersTotal();zaehler++)
      { 
        if (OrderSelect(zaehler, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == MagicNumberLongPosition)
        {
            if(OrderType() == OP_BUY)
            {
              if(SLLZweitesDrittel<=Bid && OrderStopLoss()<RangeHigh)
              {
                  if(OrderModify(zaehler,OrderOpenPrice(),RangeHigh,OrderTakeProfit(),0,clrNONE)==true)
                  {
                    Print("Der Stoploss wurde angepasst!");
                  }
                  else
                  {
                    _GetLastError=GetLastError();
                    Alert("Der StopLoss konnte nicht angepasst werden!  Fehler: "+_GetLastError);
                  }
              }
            }
        }
      }
  }

Danke im Voraus für jede Hilfreiche Antwort. :)

Mit freundlichen Grüßen
Xypa

Leopold 28.08.18 16:45

Du darfst bei OrderModify nicht den Zähler verwenden, hier muss die Ticketnummer rein.
Daher lautet die Fehlermeldung auch "invalid ticket for OrderModify function"!

---Leopold---

Xypa 28.08.18 18:16

Ah Dankeschön :D

Ich habe dort einfach OrderTicket() angegeben und es hat funktioniert!

Mit freundlichen Grüßen
Xypa


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:55 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