Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 5 > Programmierung MQL5

Programmierung MQL5 Hier gehts rund ums Programmieren in MQL5.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4731
Beiträge: 42204
Benutzer: 7.087
Aktive Benutzer: 152
Links: 83
Wir begrüßen unseren neuesten Benutzer: lukasbin
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 21:38).
Neue Benutzer:
vor einem Tag
- lukasbin
vor 2 Tagen
- Luthergam
vor 3 Tagen
- banaguitar
vor einer Woche
- Denn
vor einer Woche
- Overoll

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

Empfehlungen

Like Tree1Likes
  • 1 Post By Max2018
Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 22.06.21
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 231
Max2018 befindet sich auf einem aufstrebenden Ast
Standard Fehler nach Update in MT5

Hallo,

ich habe in einem EA folgenden Code stehen
Code:
   MqlTradeRequest request={0};
das gesamte CodeFragment lautet
Code:
bool ordersendLive(string symbol, int ordertype, double lot, double sl, double tp, int dev, string comment, int magic, color col)
{
   
   //bool set=false;
   MqlTradeRequest request={0};
   MqlTradeResult  result={0};
    
//--- parameters of request
   request.action   =TRADE_ACTION_DEAL;                   // type of trade operation
   request.symbol   =symbol;                              // symbol
   request.volume   =lot;                                 // volume of 0.1 lot
   request.deviation=dev;                                 // allowed deviation from the price
   request.magic    =magic;  
   request.comment  =comment;                             // MagicNumber of the order
   request.sl       =sl;
   request.tp       =tp;
   
   
   if(ordertype==0)
           {
            request.price=SymbolInfoDouble(symbol,SYMBOL_ASK);
            request.type =ORDER_TYPE_BUY;
           }
         else
           {
            request.price=SymbolInfoDouble(symbol,SYMBOL_BID);
            request.type =ORDER_TYPE_SELL;
           }

   bool res = OrderSend(request,result); 
   Print("retcode: ",result.retcode);
   if(result.retcode!=1009){ PrintFormat("OrderSend error %d",GetLastError()); }
  
   return(res);
}
Nach dem neuesten Update von MT5 wird mir nun aber auf den Befehl
Code:
   MqlTradeRequest request={0};
eine Fehlermeldung generiert die da lautet:
"cannot convert 0 to enum ´ENUM_TRADE_REQUEST_ACTION´ "


Was kann man dagegen tun ?
Mit Zitat antworten
  #2 (permalink)  
Alt 22.06.21
Benutzerbild von Indikator-Trading
Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 242
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

MqlTradeRequest ist ein Struct, dieses kannst du somit nicht einfach auf 0 setzten. Es reicht die Struct zu deklarieren und dann die einzelnen Teile zu definieren.

Code:
   MqlTradeRequest request;
   MqlTradeResult  result;
    
//--- parameters of request
   request.action   =TRADE_ACTION_DEAL;                   // type of trade operation
   request.symbol   =symbol;                              // symbol
   request.volume   =lot;                                 // volume of 0.1 lot
   request.deviation=dev;                                 // allowed deviation from the price
   request.magic    =magic;  
   request.comment  =comment;                             // MagicNumber of the order
   request.sl       =sl;
   request.tp       =tp;
Falls du beim definieren eines echten Enum Feldes einmal so einen Fehler kommen solltest, dann kannst du die entsprechende Enum einfach in Klammern davor setzten. Der Compiler weiß dann, dass es sich um eine Enum handelt.

Beispiel:

Code:
ENUM_ORDER_TYPE OrderType1 = 0;                     // ist Ordertype Buy, könnte aber evtl. jetzt einen Fehler oder eine Warnung rausgeben
ENUM_ORDER_TYPE OrderType2 = (ENUM_ORDER_TYPE) 0;   // Wir keinen Compilerfehler geben
ENUM_ORDER_TYPE OrderType3 = ORDER_TYPE_BUY;        // Beste und lesbarste Variante
Gruß Timo
__________________
www.SmartTradersTech.com
Der wohl umfangreichste NNFX EA den es gibt!
Mit Zitat antworten
  #3 (permalink)  
Alt 22.06.21
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 231
Max2018 befindet sich auf einem aufstrebenden Ast
Standard

SUPER - Danke
Du hast wirklich ein unglaubliches Fachwissen .... sehr beeindruckend
DANKE
Indikator-Trading likes this.
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
fehler nach update in mt5

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 +1. Es ist jetzt 16:53 Uhr.





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