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: 4982
Beiträge: 43281
Benutzer: 7.231
Aktive Benutzer: 69
Links: 84
Wir begrüßen unseren neuesten Benutzer: JinjianYu
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 4 Tagen
- JinjianYu
vor 6 Tagen
- ben007
vor 6 Tagen
- sirius 888
vor einer Woche
- BessieGove
vor einer Woche
- RoKo

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

Empfehlungen

Thema geschlossen
 
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);
			}
		 }
            }
         } 
      }
};
  #2 (permalink)  
Alt 29.08.23
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
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);
}
Thema geschlossen

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 16:48 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 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.
-----------------------------------------------------------------------------------------------------------------------------