MQL4 Änderungen in der Sprache?
33 Antworten
Matusiak Adrian
vor 8 Jahren #113958
Hallo.
Gegenwärtig speichere ich meine Strategien in den Quellen von SQ.
Aber auf einer Website habe ich entdeckt, dass alte MQL4 wird nicht von MT Build 600+ unterstützt werden,
Bitte lesen Sie die Details:
http://docs.mql4.com/mql4changes#compiler_difference
Besonders:
“Alte EX4-Anwendungen und DLLs, die auf dem alten RateInfo-Format basieren, funktionieren nicht im neuen Terminal. Eine Konvertierung in das neue Format ist erforderlich."
und
“Ab Build 600 wurde die MQL4-Programmiersprache komplett überarbeitet und auf das Niveau von MQL5 gebracht - jetzt können Sie Handelsroboter in MQL4/5 entwickeln und dabei die einheitliche MetaEditor-Entwicklungsumgebung, einen einheitlichen Stil, Bibliotheken und Debugging-Tools verwenden."
Gibt es diesbezüglich Neuigkeiten?
mikeyc
vor 8 Jahren #131368
Wir sind jetzt auf Build 845, haben also seit Monaten 600+. Sie werden feststellen, es ist alt EX4 und DLL, die möglicherweise nicht kompatibel sind, da SQ Ausgaben Quellcode und nicht kompiliert Zeug, es macht keinen Unterschied.
mikeyc
vor 8 Jahren #131371
Hallo Adrian,
Es sieht so aus, als ob Mark die MQ4, die von SQ ausgegeben wird, neu schreiben muss, um die neue Syntax zu verwenden. Er sollte #-Eigenschaft streng am Anfang des Codes und befolgen Sie die neuen Leitlinien, http://docs.mql4.com/mql4changes#compiler_difference
Es sieht so aus, als ob die MQL5-Website dies überprüft und alles zurückweist, was nicht das neue Programmiermodell verwendet..... 😮
@Mark – Any thoughts?
Zum Wohl,
Mike
tomas262
vor 8 Jahren #131378
Danke für den Hinweis, ich werde Mark davon in Kenntnis setzen.
mikeyc
vor 8 Jahren #131399
Ich fügte hinzu #-Eigenschaft streng zu einer der von SQ generierten MQ4-Dateien und erhielt:
6 Fehler, 43 Warnung(en)
Beim Kompilieren.
Für SQ4 würde ich also vorschlagen, die #-Eigenschaft streng Einstellung für den Codegenerator und beheben Sie alle Fehler und Warnungen in der neuen Codegenerierung.
Matusiak Adrian
vor 8 Jahren #131403
Danke für den Hinweis, ich werde Mark davon in Kenntnis setzen.
Danke Tomas!
Ich fügte hinzu #-Eigenschaft streng zu einer der von SQ generierten MQ4-Dateien und erhielt:
6 Fehler, 43 Warnung(en)
Beim Kompilieren.
Für SQ4 würde ich also vorschlagen, die #-Eigenschaft streng Einstellung für den Codegenerator und beheben Sie alle Fehler und Warnungen in der neuen Codegenerierung.
In der Tat. Das bekomme ich auch. Aber ich bekomme mehr Fehler und Warnungen. Vielleicht liegt es an etwas mehr Quellcode usw.
mikeyc
vor 8 Jahren #131404
Ich werde versuchen, die Fehler in einer der Strategien zu beheben, ich glaube nicht, dass es sehr schwierig ist. Ich frage mich, ob es eine weitere SQ3-Version geben könnte, die dies im Codegenerator behebt? Ich würde das sehr zu schätzen wissen!
mikeyc
vor 8 Jahren #131408
nur um zu bestätigen, habe ich versucht, eine EA erstellt von SQ zu MQL5 Website heute hochladen, und ja, es muss mit #property strict im Quellcode kompiliert werden.
Schwellenwert
vor 8 Jahren #131414
Dies betrifft nur diejenigen, die ihre EAs verkaufen, richtig?
Nicht, wie sie in MT4 tatsächlich funktionieren.
mikeyc
vor 8 Jahren #131416
Dies betrifft nur diejenigen, die ihre EAs verkaufen, richtig?
Nicht, wie sie in MT4 tatsächlich funktionieren.
Ja, wir verkaufen nur EAs und nur über die MQL5-Website.
Matusiak Adrian
vor 8 Jahren #131418
Es geht nicht nur um den Verkauf, sondern auch um die Weitergabe an Freunde direkt auf der MT-Plattform.
Wie auch immer, es geht um das Kompilieren. Irgendwann wird es die Situation geben, dass in SQ kompilierte Dateien auf MT-Terminals aufgrund einer alten Kompilierung nicht mehr funktionieren.
Schwellenwert
vor 8 Jahren #131420
Ich verstehe. Aber wenn Sie die .str-Datei haben, können Sie die neue Version aus SQ exportieren. Das war ein großes Problem, als Build 7xx herauskam, als einige ganz aufhörten zu funktionieren. Ich verstehe jedoch, dass dies im Moment keine Lösung für das Hochladen auf mql4.com darstellt.
Dies ist nicht nur auf SQ beschränkt, auch alle alten EAs und Indikatoren leiden unter den Änderungen des mql4-Codes.
mikeyc
vor 8 Jahren #131422
Ich verstehe. Aber wenn Sie die .str-Datei haben, können Sie die neue Version aus SQ exportieren. Das war ein großes Problem, als Build 7xx herauskam, als einige ganz aufhörten zu funktionieren. Ich verstehe jedoch, dass dies im Moment keine Lösung für das Hochladen auf mql4.com darstellt.
Dies ist nicht nur auf SQ beschränkt, auch alle alten EAs und Indikatoren leiden unter den Änderungen des mql4-Codes.
Ein erneuter Export aus SQ wird dieses Problem nicht beheben, bis eine Version erstellt wird, die Code ausgibt, der mit #property strict kompiliert wird. Es besteht das Risiko, dass ein zukünftiges MT4-Release (wer weiß, vielleicht morgen 😮 ) nur Quellcode kompiliert, der strict enthält...
geektrader
vor 8 Jahren #131428
Der MQ4-Code, den SQ ausgibt, ist ziemlich solide, sicher, dass Property Strict ein paar Warnungen ausgibt, aber die kann man wirklich ignorieren. Der Code SQ Ausgaben zu MQL4 ist nur solide und gut und hat jede Art von Tests und Live-Handel überlebt ich getan habe, und es ist für Build 600+ gemacht (wird nicht auf ältere Builds laufen). Für den Moment ist also alles in Ordnung. Und machen Sie sich keine Sorgen darüber, dass der Code in Zukunft nicht mehr funktioniert, MetaQuotes ist ein Stück Scheiße Unternehmen und sie werden, wie sie bereits mit Build 600, ändern Sie die ganze MQL4 langauge wieder in der Zukunft ohne vorherige Ankündigung, ich bin sicher! Ich kann bestätigen, dass alle Trades zwischen SQ -> MT4 -> Live Trading und Backtesting übereinstimmen. Sogar für Scalper-Strategien.
Mark Fric
vor 8 Jahren #131430
Ich bestätige, dass wir den Code-Generator in der neuen Version umschreiben werden, damit er mit #property strict kompatibel ist,
werden wir höchstwahrscheinlich auch die neue MT5-Syntax unterstützen.
Mark
StrategyQuant Architekt
Matusiak Adrian
vor 8 Jahren #131433
Wann kommt die neue Version Mark? Wenn Du von SQ4 sprichst, dann zweifle ich manchmal sogar an dessen Existenz 😉 Wir haben letztes Mal darüber gesprochen, dass SQ4 im Dezember 2014 erscheinen sollte. Wir haben Juli 2015 😉 können Sie es in bestehenden sq3 beheben?