Diskussion zum Artikel "Übersetzung von MQL4 in MQL5" - Seite 9

 
Sergey Pavlov:

Er wurde zur gleichen Zeit wie der Artikel erstellt. Aber es hat keinen Sinn, ohne Handelsfunktionen!

Ich habe (in kodobase veröffentlicht)MQL4-Handelsfunktionen erstellt, die gleichzeitig mit MQL5-Handelsfunktionen funktionieren.

Daher kann der Emulator noch Sinn machen.

 
fxsaber:

Ich habeMQL4-Handelsfunktionen erstellt (auf kodobase hochgeladen), die gleichzeitig mit MQL5-Handelsfunktionen funktionieren.

Daher kann es noch einen Sinn im Emulator geben.

https://www.mql5.com/de/code/16006
MT4Orders
MT4Orders
  • 2016.08.05
  • fxsaber
  • www.mql5.com
Параллельное использование ордерных систем MetaTrader 4 и MetaTrader 5.
 

Mehr zu diesem Thema.

MQL's OOP notes: Converting MetaTrader 4 indicators to MetaTrader 5
MQL's OOP notes: Converting MetaTrader 4 indicators to MetaTrader 5
  • 2016.09.28
  • //www.mql5.com/en/users/marketeer">
  • www.mql5.com
It has been a long time since MetaTrader 5 was released, but MQL products for MetaTrader 4 do still prevail on mql5.com site (both in the codebase, and in the market), and in the Internet in general....
 
buh400:
Ich habe festgestellt, dass dieses Thema bereits angesprochen wurde und ich einen anderen Artikel lesen muss:) Meine Beiträge können gelöscht werden.

Bitte sagen Sie mir, was Sie festgestellt haben, welchen Artikel ich lesen soll und wie ich den obigen Fehler beheben kann?

Hier verstehe ich, dass es um das Hinzufügen eines Indikators durch den Benutzer geht - deshalb habe ich kommentiert...
 
MT4Orders
MT4Orders
  • Stimmen: 27
  • 2016.10.10
  • fxsaber
  • www.mql5.com
Parallel use of the MetaTrader 4 and MetaTrader 5 order systems.
 

Ich nehme an, dass alles

MQLInfoInteger(MQL5_....


geändert werden sollte in

MQLInfoInteger(MQL_
 

bitte korrigieren

bool IsTesting()
bool MQLInfoInteger(MQL5_TESTING)
IsTesting
Gibt TRUE zurück, wenn ein Expert Advisor im Testmodus läuft, andernfalls FALSE.
MQLInfoInteger

bool IsTesting()
  MQLInfoInteger(MQL_TESTER)
IsTesting
Gibt TRUE zurück, wenn ein Expert Advisor im Testmodus läuft, andernfalls FALSE.
MQLInfoInteger

MQL5_TESTING dont work please change it to  MQL_TESTER.
IsTesting - Checkup - MQL4 Reference
IsTesting - Checkup - MQL4 Reference
  • docs.mql4.com
IsTesting - Checkup - MQL4 Reference
 
Enum MAIN_SIGNAL_MODE { MODE_MAIN , MODE_SIGNAL}; 

enum ADX_MODE        { MODE_MAIN,         MODE_PLUSDI, MODE_MINUSDI };

2 gleiche Definition erstellen Fehler beheben Sie diesen Fehler bitte.
 

iBarShift funktioniert nicht.

Meine Ausführung - nicht ganz sicher, aber es funktioniert richtig und scheint Sinn zu machen

int iBarShift(string symbol,int tf,datetime time,bool exact=false)
  {
   if(time<0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime(symbol,timeframe,0,1,Arr);
   time1=Arr[0];
   if(time1<time){
      return(0); /// Wenn die angegebene Zeit unter der Öffnungszeit der Bar liegt
   }
   if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      return(ArraySize(Arr));
     }
   else return(-1);
  }
 

Ich kann nicht verstehen, wie man die Funktion

bool ObjectSetMQL4(string name,
                   int index,
                   double value)
  {
   switch(index)
     {
      case OBJPROP_TIME1:
         ObjectSetInteger(0,name,OBJPROP_TIME,(int)value);return(true);
      case OBJPROP_PRICE1:
         ObjectSetDouble(0,name,OBJPROP_PRICE,value);return(true);
      case OBJPROP_TIME2:
         ObjectSetInteger(0,name,OBJPROP_TIME,1,(int)value);return(true);
      case OBJPROP_PRICE2:
         ObjectSetDouble(0,name,OBJPROP_PRICE,1,value);return(true);
      case OBJPROP_TIME3:
         ObjectSetInteger(0,name,OBJPROP_TIME,2,(int)value);return(true);
      case OBJPROP_PRICE3:
         ObjectSetDouble(0,name,OBJPROP_PRICE,2,value);return(true);
      case OBJPROP_COLOR:
         ObjectSetInteger(0,name,OBJPROP_COLOR,(int)value);return(true);
      case OBJPROP_STYLE:
         ObjectSetInteger(0,name,OBJPROP_STYLE,(int)value);return(true);
      case OBJPROP_WIDTH:
         ObjectSetInteger(0,name,OBJPROP_WIDTH,(int)value);return(true);
      case OBJPROP_BACK:
         ObjectSetInteger(0,name,OBJPROP_BACK,(int)value);return(true);
      case OBJPROP_RAY:
         ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,(int)value);return(true);
      case OBJPROP_ELLIPSE:
         ObjectSetInteger(0,name,OBJPROP_ELLIPSE,(int)value);return(true);
      case OBJPROP_SCALE:
         ObjectSetDouble(0,name,OBJPROP_SCALE,value);return(true);
      case OBJPROP_ANGLE:
         ObjectSetDouble(0,name,OBJPROP_ANGLE,value);return(true);
      case OBJPROP_ARROWCODE:
         ObjectSetInteger(0,name,OBJPROP_ARROWCODE,(int)value);return(true);
      case OBJPROP_TIMEFRAMES:
         ObjectSetInteger(0,name,OBJPROP_TIMEFRAMES,(int)value);return(true);
      case OBJPROP_DEVIATION:
         ObjectSetDouble(0,name,OBJPROP_DEVIATION,value);return(true);
      case OBJPROP_FONTSIZE:
         ObjectSetInteger(0,name,OBJPROP_FONTSIZE,(int)value);return(true);
      case OBJPROP_CORNER:
         ObjectSetInteger(0,name,OBJPROP_CORNER,(int)value);return(true);
      case OBJPROP_XDISTANCE:
         ObjectSetInteger(0,name,OBJPROP_XDISTANCE,(int)value);return(true);
      case OBJPROP_YDISTANCE:
         ObjectSetInteger(0,name,OBJPROP_YDISTANCE,(int)value);return(true);
      case OBJPROP_FIBOLEVELS:
         ObjectSetInteger(0,name,OBJPROP_LEVELS,(int)value);return(true);
      case OBJPROP_LEVELCOLOR:
         ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,(int)value);return(true);
      case OBJPROP_LEVELSTYLE:
         ObjectSetInteger(0,name,OBJPROP_LEVELSTYLE,(int)value);return(true);
      case OBJPROP_LEVELWIDTH:
         ObjectSetInteger(0,name,OBJPROP_LEVELWIDTH,(int)value);return(true);

      default: return(false);
     }
   return(false);
  }

Der Compiler warnt

'OBJPROP_TIME1' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2891 12
'OBJPROP_TIME1' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2891 12
'OBJPROP_PRICE1' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2893 12
'OBJPROP_PRICE1' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2893 12
'OBJPROP_TIME2' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2895 12
'OBJPROP_TIME2' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2895 12
'OBJPROP_PRICE2' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2897 12
'OBJPROP_PRICE2' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2897 12
'OBJPROP_TIME3' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2899 12
'OBJPROP_TIME3' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2899 12
'OBJPROP_PRICE3' - nicht deklarierter Bezeichner TZ_Sky_and_Ground_V_04.mq5 2901 12
'OBJPROP_PRICE3' - konstanter Ausdruck erforderlich TZ_Sky_and_Ground_V_04.mq5 2901 12