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

 
MetaQuotes:

1. Wir haben die Parameter in start/init/deinit erwähnt, weil sie dort nie vorkommen sollten, aber wir sind auf Beispiele von Quellcode gestoßen, bei denen Autoren versehentlich unnötige Parameter hinzugefügt haben. Im alten MQL4 wurde er sang- und klanglos übersprungen, während er in MQL5 bereits als Fehler gemeldet wird. Hier gibt es kein Problem - nur ein sehr seltener Fehler wird sofort sichtbar sein.

2. Wenn Sie Probleme mit DLL und Übergabe von mehrdimensionalen String-Arrays in DLL konfrontiert haben, werden sie beruhigt sein. Den Entwicklern stehen alle Möglichkeiten zur Verfügung, mit Strukturen zu arbeiten, und es besteht keine Notwendigkeit, Krücken auf Strings zu bauen.

Die neue Version von MQL4 bietet viele neue Funktionen, wobei die Kompatibilität erhalten bleibt.

1. Ich habe viele, in denen diese Funktion verwendet wird. Ich glaube nicht, dass ich der Einzige bin.

2. Hervorgehoben ist großartig! Aber lassen Sie die Kompatibilität mit dem Alten!

MetaQuotes:

Es gibt keinen Grund zur Panik. Laden Sie das angebotene IDE+MQL-Paket herunter und überprüfen Sie Ihre Entwicklungen.

Der Compiler hat jetzt einen sehr guten Analysator und gibt leicht Warnungen über gefährliche Mischungen von logischen Ausdrücken aus. Bitte versuchen Sie es selbst.

Das ist auch toll! Die Codes in der Code Base wurden nicht nur von Profis geschrieben. Sicherlich gibt es keine Klammern in logischen Ausdrücken. Diese Codes werden nicht funktionieren. Erstellen Sie einen Schlüssel für den Compiler, um die alten Regeln zu überspringen.
 
MetaQuotes:

Diejenigen, die mit DLL und sogar mit der Übergabe von mehrdimensionalen String-Arrays in DLL zu kämpfen hatten, können dagegen aufatmen. Die Entwickler werden mit Strukturen arbeiten können und müssen keine Krücken mehr auf Strings bauen.

Warum Krücken? Was ist falsch an einem String-Array? Übrigens habe ich diesen Absatz zunächst falsch gelesen, und es stellt sich heraus, dass es sich um Arrays von Strings handelt, nicht nur um mehrdimensionale Arrays. Wie kann das sein? Wie schlagen Sie vor, das übergebene Array durch die Struktur zu ersetzen? Für ein Array mit 1000 Zeichenfolgen müssen Sie zum Beispiel Folgendes tun

struct StrStruct { string a1; string a2; string a3; .... string a1000; } A; Und dann sollte jedes Mitglied initialisiert werden? Das ist Unsinn.

Die neue Version von MQL4 bietet viele neue Funktionen, wobei die Kompatibilität erhalten bleibt.

Nur die Kompatibilität ist nicht vollständig.
 
Meat:

Warum Krücken? Was ist falsch an einem String-Array? Übrigens habe ich diesen Punkt zunächst nicht sorgfältig gelesen, und es stellt sich heraus, dass es nicht nur um mehrdimensionale Arrays, sondern um String-Arrays im Allgemeinen geht. Wie kann das sein? Wie schlagen Sie vor, das übergebene Array durch die Struktur zu ersetzen? Für ein Array mit 1000 Zeichenfolgen müssen Sie zum Beispiel Folgendes tun

struct A { string a1; string a2; string a3; ..... string a1000; }; Und dann muss jedes Mitglied initialisiert werden? Das ist Unsinn.

Nur die Kompatibilität ist nicht vollständig.


Eine Struktur wird als Zeichenkette übergeben und ist vollständig äquivalent zu dieser. Jede Operation an der Zeichenkette ist auf die Struktur anwendbar.
 
Zhunko:

1. was ist damit?!

Übrigens sehr formgetreu. Es ist kein unterbewertetes Merkmal. Ich habe es früher auch oft benutzt.
 
tara:

Eine Struktur wird als Zeichenkette übergeben und ist vollständig äquivalent zu dieser. Jede Operation an einer Zeichenkette ist auf die Struktur anwendbar.

Das verstehe ich nicht. Wie meinen Sie das?
 
Meat:

Das verstehe ich nicht. Wie meinen Sie das?

In der Datenbank werden die Felder zusammengeführt. Sie verschmelzen.
 
tara:

Im Falle von Datenbanken werden die Felder zusammengeführt. Sie werden zusammengeführt.
Das ergibt keinen Sinn. Was sind die Datenbanken? Woher kommen sie bei MQL? Hier haben wir ein Array: string A[1000]; Wie wird es an die DLL übergeben?
 
Meat:
Das ergibt keinen Sinn. Welche anderen Datenbanken gibt es? Woher kommen sie bei MQL? Hier haben wir ein Array: string A[1000]; wie kann es an die DLL übergeben werden?


Alexey, wenn Sie ein zweidimensionales String-Array haben, können Sie es leicht durch ein eindimensionales Array von Strukturen ersetzen.

Übrigens wäre das eine ausdrucksstärkere Kombination :)

 

Vadik ist einfach nur verärgert über den unvermeidlichen Wettbewerb. ;) // imha selbstsabotierend

Früher war es mit seinen Bibliotheken ein "Allheilmittel", aber jetzt werden sie viel weniger nachgefragt - fast alles kann ohne sie gemacht werden, und vieles von dem, was nicht gemacht werden kann, kann in kodobase auf mql5.com fertiggestellt werden

Vadim, suchen Sie nach den Profis, da gibt es noch viel mehr.

 
MetaDriver:

Vadik ist einfach nur verärgert über den unvermeidlichen Wettbewerb. ;) // imha selbstsabotierend

Früher war er mit seinen Bibliotheken ein "Allheilmittel", aber jetzt werden sie viel weniger gefragt sein - fast alles kann ohne sie gemacht werden, und vieles, was nicht gemacht werden kann, kann in kodobase bei mql5.com fertiggestellt werden

Vadim, suchen Sie nach den Profis, da gibt es noch viel mehr.

Ihr Code ist "näher an der Sache". Es gibt kaum etwas im öffentlichen Bereich, das nicht "überarbeitungswürdig" ist.