Beta-Version der MetaTrader 4 IDE mit neuem MQL4 Compiler und Editor - Seite 13

 

Der Editor sollte in der Lage sein, den Programmtext nicht nur in C, sondern auch in Assembler zu bearbeiten. Wenn die Kompilierung mit Hilfe des regulären Compilers nicht durchgeführt werden soll, können Sie die Verwendung eines externen Compilers ermöglichen. Nun, wenn es keine Kompilierung geben wird, dann zumindest die Einfärbung von Text (zum Beispiel, wie in plugin-e FarColorer zu Far Manager, siehe Abbildung) (Farben müssen konfigurierbar sein).

 
zdd:

Der Editor sollte in der Lage sein, den Programmtext nicht nur in C, sondern auch in Assembler zu bearbeiten. Wenn die Kompilierung mit Hilfe des regulären Compilers nicht durchgeführt werden soll, können Sie die Verwendung eines externen Compilers ermöglichen. Nun, wenn es keine Kompilierung geben wird, dann zumindest die Einfärbung von Text (zum Beispiel, wie in plugin-e FarColorer zu Far Manager, siehe Abbildung) (Farben müssen konfigurierbar sein).

Nostalgie für MS DOS?
 
artmedia70:
Nostalgisch für MS DOS?
ZEUS auf ZX
 

Eine weitere Version der IDE-Beta wurdeauf die alte Adresse hochgeladen.

Was ist neu:

1. Korrekt wahrgenommene Werte von Aufzählungen mit den gleichen Namen in MQL4/MQL5 (jedoch können Mitglieder von MQL4-Aufzählungen in den Werten von den gleichen Mitgliedern dieser Aufzählungen in MQL5 verschieden sein)

2. Da im MT4-Client-Terminal autonome Charts mit beliebigen Zeitrahmenperioden möglich sind, ist die Variable _Period in MQL4 nicht vom Enum-Typ und die Funktion Period() gibt den Enum-Typ nicht zurück. Anstelle des Typs ENUM_TIMEFRAME wird der Typ int verwendet. Außerdem nehmen alle MQL4-Systemfunktionen, die einen Zeitrahmenwert als Parameter akzeptieren, diesen als int-Typ an.

Korrigierte Aufrufverarbeitung einiger gleichnamiger Funktionen in MQL4/MQL5, aber mit unterschiedlichen Parametern.

4. MQL4 FileOpenHistory Funktion hinzugefügt

Bei gleichzeitiger Verwendung von logischem AND und OR in einem Ausdruck und auf derselben Ebene wird eine Warnung erzeugt. Aufgrund von Änderungen der Prioritäten logischer Operationen in MQL4. Diese Warnung wird sowohl in MQL4 als auch in MQL5 auf die gleiche Weise erzeugt, wie sie vom Standard-Lint erzeugt wird.

 
Stringo :

Die alte Adresse ist für die nächste Beta-Version der IDE ausgelegt.

Was ist neu:

1. Richtig wahrgenommenen Wert der Übertragungen des gleichen Namens für MQL4/MQL5 (in diesem Fall die Mitglieder der Übertragungen MQL4 kann im Wert von den gleichen Namen als Mitglieder dieser Übertragungen in MQL5 unterscheiden)

Aufgrund der Tatsache, dass der Client-Terminal MT4 möglich Standalone-Grafiken mit einem beliebigen Zeitraum Zeitrahmen, in MQL4 _Period Variable ist nicht der Typ enum, und die Funktion von Period () nicht zurückgeben Typ enum. Anstelle des Typs ENUM_TIMEFRAME wird der Typ int verwendet. Auch alle Systemfunktionen MQL4, die den Wert timeframe als Parameter nehmen, nehmen ihn als int.

Die Behandlung von Aufrufen einiger Funktionen mit demselben Namen in MQL4/MQL5, aber mit unterschiedlichen Kompositionsparametern, wurde korrigiert.

4. MQL4 FileOpenHistory Funktion hinzugefügt

5. Eine Warnung bei Verwendung des logischen AND und OR im gleichen Ausdruck und auf der gleichen Ebene. Aufgrund der sich ändernden Prioritäten der logischen Operationen in MQL4. Die Warnung ist in MQL4 und MQL5 enthalten, ebenso wie der Standard Lint

Die Datei kann nicht heruntergeladen werden.
 
angevoyageur:
Die Datei kann nicht heruntergeladen werden.
fest
 
1. Das Menü "Fenster" verfügt über eine Funktion "Neues Fenster", die, soweit ich weiß, in einer Datei gleichzeitig an verschiedenen Stellen funktionieren soll.

Но это функция не работает. Второе окно открывается. Переходишь к нужному месту, а по возврату в первое окно, оно прокручивается к тому же месту, что и второе.

Dies führt wiederum dazu, dass zwei Fenster dasselbe anzeigen.

2. Ich schlage vor, dass wir die Reihenfolge (Sortierung nach Priorität) der Nachrichtenausgabe während der Kompilierung ändern. Jedes Mal, wenn wir kompilieren, müssen wir in der Liste nach unten blättern, weil sich am Anfang Zeilen wie 'stderror.mqh', 'stdlib.mqh' befinden.

Ich würde es vorziehen, zuerst Fehler zu sehen, dann Warnungen und erst danach informative und kognitive Meldungen.

3. Wenn bei der Kompilierung ein Syntaxfehler auftritt, gehen Sie direkt zu der Stelle, an der der Fehler aufgetreten ist (oder zum ersten Fehler, wenn es mehrere davon gibt). Sie ist sehr bequem und in allen professionellen IDEs implementiert.

Aber jetzt müssen wir durch die Meldungsliste blättern, zweimal auf den Fehler klicken und erst dann zur Fehlerbehebung übergehen.

4. ich möchte wirklich eine case-unabhängige Intellisense.

5. Es wäre schön, wenn diese Liste ihre eigenen Variablen hätte.

6. Ich würde gerne die Einstellungen des Stylizers sehen, damit Sie Ihren eigenen Styling-Code anpassen können.

7. Eine Kleinigkeit, aber immerhin. Wenn Sie im Code die Ende-Taste drücken, wird logischerweise zum letzten Zeichen der Zeile (Code) gesprungen, auch wenn nach dem Code noch viele Leerzeichen am Ende der Zeile stehen. Dies ist bereits mit der Home-Taste realisiert.

8. Beim Löschen von Leerzeilen mit der Entf-Taste (um den Code nach oben zu ziehen). Zuerst werden die Leerzeichen in der Zeile entfernt (auch wenn die Zeile leer ist - ohne Code), und erst dann wird die Zeile selbst entfernt. Es wäre bequemer, wenn die Zeile ohne Code sofort gelöscht würde, unabhängig davon, wie viele Leerzeichen sie hat. Einfach praktisch. Oder fügen Sie eine Hotkey-Löschzeichenfolge hinzu, z. B. Strg+L oder Strg+Y.


Wird es einen Debugger für MT4 geben? Wenn ja, wäre es gut, einen Tooltip hinzuzufügen, der den Wert der Variable anzeigt, wenn man mit dem Mauszeiger über den Variablennamen fährt. Das wäre sehr nützlich. Jetzt muss ich sie jedes Mal zur WatchList hinzufügen.

Was ist mit meinen Vorschlägen?
 
zdd:

Der Editor sollte in der Lage sein, den Programmtext nicht nur in C, sondern auch in Assembler zu bearbeiten. Wenn die Kompilierung mit Hilfe des regulären Compilers nicht durchgeführt werden soll, können Sie die Verwendung eines externen Compilers ermöglichen. Wenn schon keine Kompilierung, dann wenigstens die Einfärbung des Textes (z.B. wie in plugin-e FarColorer zu Far Manager, siehe Abbildung) (Farben müssen anpassbar sein).

Warum es Assembler unterstützt, wird sich nie klären lassen, und wenn Sie einen Texteditor mit der von Ihnen gewünschten Funktionalität benötigen, finden Sie diese im Internet in Hülle und Fülle,

für alle Geschmäcker und Farben.

 

Ich habe den Thread durchgelesen, aber keine Antwort auf meine Fragen gefunden:

1. wird eine mit der neuen Compiler-Version kompilierte Datei schneller arbeiten?

2. Wird es möglich sein, den Code wahlweise in MT4 oder MT5 zu kompilieren, oder wird es in MT5 automatisch funktionieren? Und wenn nicht, vielleicht eine Kompatibilitätshilfe erstellen?

3. Wie ich verstanden habe, besteht ein großes Risiko, dass der alte Code nicht kompiliert werden kann, und das ist für mich sehr frustrierend:

3.1 Ich bin kein Programmierer, und es wird mir unmöglich sein, einfache Änderungen am Code vorzunehmen, wenn dieser aufgrund von Inkompatibilität kritische Fehler aufweist;

3.2 Ich werde die Programmierer für die bereits geleistete Arbeit erneut bezahlen müssen, und das ist einer der größten Nachteile.

Vielleicht ist es also sinnvoll, den alten Compiler als Alternative beizubehalten, da Sie garantieren, dass die alten kompilierten Dateien funktionieren?

Off-topic, warum ist es so schwer, auf MT5 zu wechseln, ist es die Schnittstelle oder die berüchtigten locs? Oder sind die DCs nicht bereit, etwas zu ändern?

Документация по MQL5: Программы MQL5 / Ошибки выполнения
Документация по MQL5: Программы MQL5 / Ошибки выполнения
  • www.mql5.com
Программы MQL5 / Ошибки выполнения - Документация по MQL5
 

1. Der Compiler hat andere Aufgaben.

2. Das wird es nicht. Der Helfer ist schon teilweise da.

3. Sie haben bereits den kompilierten Code, den alten Compiler können Sie selbst auf Ihrem Computer speichern.