Bibliotheken: MQL4 nach MQL5 Kompatibilitäts-Bibliothek

 

MQL4 nach MQL5 Kompatibilitäts-Bibliothek:

Version 1.2 - MQL5\Include\mql4compat.mqh

Autor: T-1000

 

Hallo,

Leider ist Ihre Bibliothek unvollständig und fehlerhaft. Ich versuche, Ihre Bibliothek mit diesem mql4 Indikator http://codebase.mql4.com/7472 zu verwenden . Ich folge Ihren Anweisungen und erhalte 47 Fehler und 14 Warnungen.

'JJN-Fibo_mit_compat_library.mq5' JJN-Fibo_mit_compat_library.mq5 1 1
'mql4compat.mqh' mql4compat.mqh 1 1
'i' - nicht deklarierter Bezeichner JJN-Fibo_mit_compat_library.mq5 150 8
'ObjectDelete' - falsche Parameteranzahl JJN-Fibo_mit_compat_library.mq5 175 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 176 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 177 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 178 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 179 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 180 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 181 4
'DisplayDec' - nicht deklarierter Bezeichner JJN-Fibo_mit_compat_library.mq5 190 4
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_mit_compat_library.mq5 196 4
'DisplayDec' - nicht deklarierter Bezeichner JJN-Fibo_mit_compat_library.mq5 197 100
'StringConcatenate' - falsche Parameteranzahl JJN-Fibo_mit_compat_library.mq5 197 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 197 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 198 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 199 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 199 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 200 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 201 30
implizite Umwandlung von 'Zahl' in 'String' JJN-Fibo_mit_compat_library.mq5 201 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 202 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 203 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 203 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 204 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 205 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 205 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 206 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 207 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 207 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 208 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 209 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 209 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 214 4
'DisplayDec' - undeklarierter Bezeichner JJN-Fibo_mit_compat_library.mq5 215 104
'StringConcatenate' - falsche Parameteranzahl JJN-Fibo_mit_compat_library.mq5 215 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 215 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 216 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 217 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 217 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 218 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 219 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 219 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 220 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 221 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 221 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 222 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 223 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 223 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 224 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 225 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 225 30
'ObjectCreate' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 226 4
'StringConcatenate' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 227 30
implizite Umwandlung von 'number' in 'string' JJN-Fibo_with_compat_library.mq5 227 30
'ObjectDelete' - falsche Parameteranzahl JJN-Fibo_with_compat_library.mq5 99 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 100 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 101 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 102 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 103 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 104 4
'ObjectDelete' - falsche Anzahl von Parametern JJN-Fibo_mit_compat_library.mq5 105 4
'return' - 'void' Funktion gibt einen Wert zurück JJN-Fibo_mit_compat_library.mq5 110 4
47 Fehler, 14 Warnung(en) 48 15

 
angevoyageur:

Hallo,

Leider ist Ihre Bibliothek unvollständig und fehlerhaft. Ich versuche, Ihre Bibliothek mit diesem mql4 Indikator http://codebase.mql4.com/7472 zu verwenden . Ich folge Ihren Anweisungen und erhalte 47 Fehler und 14 Warnungen.

Die Funktionsnamen, die Fehler verursachen, müssen angepasst werden, indem MQL4 am Ende des Namens hinzugefügt wird, damit die Kompilierungsfehler verschwinden.

ALso habe ich getestet, dass Indikator auf MT4, scheint es nicht richtig funktionieren dort zu.

P.S> Ich habe einige kleinere Updates und Optimierungen für die Kompatibilitätsbibliothek vorgenommen, so dass Sie die neueste Version 1.1 verwenden können, sobald sie freigegeben ist. In v1.0 die Zeichenfolge StringConcatenate() Funktion würde nicht richtig funktionieren, da es Konflikte zwischen MQL4 und MQL5 in der Art, wie es funktioniert - hinzugefügt StringConcatenateMQL4 in v1.1
 
T-1000:
Die Funktionsnamen, die Fehler verursachen, müssen durch Hinzufügen von MQL4 am Ende ihrer Namen angepasst werden, damit die Kompilierungsfehler verschwinden.

ALso habe ich testen, dass Indikator auf MT4, scheint es nicht richtig funktionieren auch dort.

P.S> Ich habe einige kleinere Updates und Optimierungen für die Kompatibilitätsbibliothek vorgenommen, so dass Sie die neueste Version 1.1 verwenden können, sobald sie freigegeben ist. In v1.0 würde die Funktion StringConcatenate() nicht richtig funktionieren, da es Konflikte zwischen MQL4 und MQL5 in der Art, wie es funktioniert - hinzugefügt StringConcatenateMQL4 in v1.1

Vielen Dank für Ihre Antwort. Ich werde überprüfen, wann Ihre Version 1.1 verfügbar sein wird.

  • Wenn viele Funktionsnamen angepasst werden müssen, ist es keine Kompatibilitätsbibliothek mehr, es wäre besser, Ihre Bibliothek anzupassen, um das Suffix 'MQL4' zu unterdrücken. Ich weiß, dass das nicht für alle Funktionen möglich ist (StringConcatenate zum Beispiel).
  • Ich schlage vor, dass Sie diese Art von Code überprüfen, da WHOLE_ARRAY nicht dafür gedacht ist, mit der Funktion Copyxxxx zu arbeiten, und das Ergebnis dieser Funktion ist wahrscheinlich nicht das, was Sie wünschen.
void __Open(double &_Open[])
  {
   ArraySetAsSeries(_Open,true);
   CopyOpen(_Symbol,_Period,0,WHOLE_ARRAY,_Open);  // What is the returned value ?
  }
 

eine Drei.

und die Durchführung der Abfrage von Standardindikatoren ist unsinnig.

 
Wenn ich die Datei mql4compat.mqh kompiliere , erhalte ich einen Fehler: Fehler
 

Diese Bibliothek scheint im Jahr 2021 nicht gepflegt zu werden. Ich habe versucht, den Autor zu kontaktieren, indem ich ihm über MQL5 Nachrichten schickte, aber keine Antwort. Ich habe mich mehr als einen Monat lang ständig mit dem erwähnten IRC-Chan verbunden, aber ich war die ganze Zeit allein...

Also habe ich eine Github-Version erstellt, die Warnungen/Fehler beim Kompilieren mit MQL5 Version Build 2981 behebt, sowie eine sehr grobe Bibliothek, die es erlaubt, ein konvertiertes Skript/EA auf MQL4 zurücklaufen zu lassen.

Also holen Sie sich die neueste Version hier: https: //github.com/eromawyn/mql4compat

Und zögern Sie nicht, mir Ihre Patches zu schicken, wenn Sie etwas Interessantes gemacht haben!

GitHub - eromawyn/mql4compat: MQL4 to MQL5 compatibility library
GitHub - eromawyn/mql4compat: MQL4 to MQL5 compatibility library
  • github.com
MQL4 to MQL5 compatibility library. Contribute to eromawyn/mql4compat development by creating an account on GitHub.