Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4947
Beiträge: 43184
Benutzer: 7.172
Aktive Benutzer: 61
Links: 84
Wir begrüßen unseren neuesten Benutzer: Wasabi
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einer Woche
- Wasabi
vor 2 Wochen
- Amomehdi
vor 3 Wochen
- topsedar
vor 4 Wochen
- tradyx
vor 4 Wochen
- Balko83

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 255
Gesamt: 255
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 26.08.23
Mitglied
 
Registriert seit: Aug 2020
Beiträge: 64
MarkusWilhelm89 befindet sich auf einem aufstrebenden Ast
Standard OrderClose Fehler 3 = invalid trade parameters

Hallo,
ich hoffe mir kann jemand weiter helfen.
In meinem EA habe ich einen OrderClose Befehl, der unter bestimmten Umständen ausgeführt werden soll.

Es kann sein, dass es (ich bleibe in meinem Bsp. mal bei BUY() Positionen), sich mal um 2-3 Positionen handelt, es kann sich aber auch mal um 20-21 Positionen auf einmal handeln.

Was mir aufgefallen ist, manchmal kommt für einzelne Positionen die Fehlermeldung 3 (invalid trade parameters), leider kann ich nicht strukturell raus finden warum.

Anbei ist mal mein Code, für den OrderClose Befehl, vlt. hat jemand von euch eine Idee, warum es bei vereinzelnden Positionen zu der Fehlermeldung kommt?
Oder ist mein Code schlecht/fehlerhaft?


Code:
void closeBUY()
   {
      for(int c=OrdersTotal()-1;c>=0;c--)
      {
         if(OrderSelect(c,SELECT_BY_POS,MODE_TRADES))
         {
            if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
            {
                  RefreshRates();
                  double bid = NormalizeDouble(Bid,Digits);
                  double ask = NormalizeDouble(Ask,Digits);
                  if(OrderType()==OP_BUY)              
		  {
			Closeticket=OrderClose(OrderTicket(),OrderLots(),bid,Slippage*10,clrGreen);  
			if(Closeticket == false) 
			{
				FehlerCode  = GetLastError(); 
				FehlerBeschreibung = ErrorDescription(FehlerCode); 
				FehlerAusgabe = StringConcatenate("***** FEHLER   [closeBUY()]  Schließen BUY: ",     OrderTicket()," = ", FehlerCode," : ",FehlerBeschreibung); Print(FehlerAusgabe);
			}
		 }
            }
         } 
      }
};
Mit Zitat antworten
  #2 (permalink)  
Alt vor 4 Wochen
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 338
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

Ich sehe hier auch nicht direkt einen Fehler. Lass dir im Fehlerfall nochmals alle Parameter als Text ausgeben, vielleicht kommst du dann dem Problem auf die Schliche.

Hierzu solltest du alle Parameter aber vorher jeweils in eine Variable speichern.

Code:
int        ticket = OrderTicket(),      // ticket
double     lots = OrderLots(),        // volume
double     price = bid,,       // close price
int        used_slippage = Slippage*10,    // slippage
Closeticket=OrderClose(ticket ,lots ,price ,used_slippage ,clrGreen);  
if(Closeticket == false) 
{
FehlerCode  = GetLastError(); 
FehlerBeschreibung = ErrorDescription(FehlerCode); 
FehlerAusgabe = StringConcatenate("***** FEHLER   [closeBUY()]  Schließen BUY Ticket: ",     ticket , " Lots: "  , lots  , " Price: "  , price  , " Slippage: "  , used_slippage  ," FehlerCode: ", FehlerCode," : ",FehlerBeschreibung); Print(FehlerAusgabe);
}
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +2. Es ist jetzt 21:27 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2023 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------