Fehler bei der Größenänderung von Arrays in Beta-Build 530 - Seite 4

 
SDC:

Haben Sie bereits in MQL5 angevoyageur kodiert worden?

Ja. Warum?
 
angevoyageur: Ja, Sie haben Recht, es wird ein schwieriger Übergang sein. Allerdings denke ich, dass es nicht für Neulinge schwierig wird, sondern für erfahrene mql4-Programmierer, die mql5 noch nicht kennen. Im Allgemeinen lesen Neulinge die Dokumentation nicht.

Diesmal stimme ich Ihnen zu . Die meisten Leute, die Zeit in das Erlernen von mql4 investiert haben, würden sich davor fürchten, die neue Syntax erneut zu erlernen.

mql4 hat jetzt mehr Ebenen als mql5 (man stelle sich das vor).

  • Es gibt die mql4_non_oop-Syntax.
  • es gibt die mql5_non_oop-Syntax.
  • es gibt die mql5_objekt_orientierte Syntax.

Die gute Nachricht ist, dass Sie nicht verwenden müssen, was Sie nicht kennen. Ich glaube, mir gefällt die Art und Weise, wie metaQuotes mql4-Programmierern den Einstieg in mql5 und OOP erleichtert.

Für metaTrader-Fans ist diese Sprache wahrscheinlich die Sprache der Zukunft; also je früher wir uns damit beschäftigen, desto besser ..... nur meine Meinung .

 
SDC: Ich denke, wenn die neue Version veröffentlicht wird, wird es eine Menge Verwirrung im Forum für Neulinge geben, weil die neue mql4-Dokumentation auf mql5-Codierung basiert. Das bedeutet, dass vieles von dem, was in diesem Forum und in der Codebase beschrieben wird, in der mql4-Dokumentation widerlegt wird. Einrichten eines Indikatorpuffers aus den neuen mql4-Dokumenten: (Das ist tatsächlich fehlerhaft und lässt sich nicht kompilieren)
Ich glaube, es wird ähnlich wie bei mql5.com sein. Einige Neulinge würden im Forum keine Hilfe bei der Codierung erhalten, je nachdem, welchen Stil sie verwenden. Beispiel: Wenn der Stil, den sie verwenden, mql5_oop ist, würden die meisten Antworten sie auf die mql5_docs verweisen. Wenn sie jedoch ihre mql4_codes posten, gibt es viel mehr Leute, die in der Lage sind, die tatsächlichen Codes zu lesen.
 
ubzen:

Diesmal stimme ich mit Ihnen überein. Die meisten Leute, die Zeit in das Erlernen von mql4 investiert haben, würden sich davor fürchten, die neue Syntax erneut zu erlernen.

mql4 hat jetzt mehr Ebenen als mql5 (stellen Sie sich das vor).

  • Es gibt die mql4_non_oop-Syntax.
  • es gibt die mql5_non_oop-Syntax.
  • es gibt die mql5_objekt_orientierte Syntax.

Die gute Nachricht ist, dass man nicht verwenden muss, was man nicht kennt. Ich glaube, mir gefällt, warum metaQuotes mql4-Programmierern den Einstieg in mql5 und OOP erleichtert.

Für metaTrader-Fans ist diese Sprache wahrscheinlich die Sprache der Zukunft; also je früher wir uns damit beschäftigen, desto besser ..... nur meine Meinung.

Sie haben Recht, aber ich würde eher sagen: Was man nicht braucht, braucht man auch nicht.
 
ubzen:

Die gute Nachricht ist, dass man nicht benutzen muss, was man nicht kennt. Ich glaube, mir gefällt die Art und Weise, wie metaQuotes mql4-Programmierern den Einstieg in mql5 und OOP erleichtert.

Für metaTrader-Fans ist diese Sprache wahrscheinlich die Sprache der Zukunft; also je früher wir uns damit beschäftigen, desto besser..... nur meine Meinung.

Ich stimme zu, und es ist etwas, das ich aufgeschoben habe, um es in den Griff zu bekommen ... aber nicht mehr allzu lange, wenn jemand eine gute Einführung in die Prinzipien hinter OOP findet, bitte PM an mich.


Meine größte Sorge ist die Dokumentation, und ich hoffe, dass sie nicht nur ein nachträglicher Gedanke ist, sondern dass man ihr die Zeit und Aufmerksamkeit schenkt, die sie braucht ... Hoffentlich sind meine Befürchtungen unbegründet.

 
angevoyageur:
Ja. Warum?

Ich möchte Sie nämlich fragen, ob Sie das Gefühl haben, dass das Erlernen von mql5 die Mühe wert war? Haben Sie mit mql5 Dinge erreicht, die Sie mit dem alten mql4 nicht hätten erreichen können? Sind Sie außerdem ein erfahrener Oop-Programmierer?

Du hast recht, es wird ein harter Übergang sein, ich weiß nicht, ob ich jemals die Zeit haben werde, all diese neuen Dinge zu lernen.

Außerdem frage ich mich, warum das Beispiel nicht kompiliert werden kann, ENUMs sind doch eine vordefinierte Konstante?

der erste Fehler ist 'ENUM_APPLIED_PRICE' - Deklaration ohne Typ TestCopyBuffer1.mq4 23 7...

 
RaptorUK:

Ich stimme zu, und es ist etwas, das ich aufgeschoben habe, um es in den Griff zu bekommen ... aber nicht mehr allzu lange, wenn jemand auf eine gute Einführung in die Prinzipien hinter OOP stößt, bitte PM mich.


Meine größte Sorge ist die Dokumentation, und ich hoffe, dass sie nicht zu kurz kommt und nicht die Zeit und Aufmerksamkeit bekommt, die sie braucht ... Hoffen wir, dass meine Befürchtungen unbegründet sind.

Ich denke, ich stimme auch zu, ich bin mir nicht sicher, inwieweit oop wirklich notwendig sein wird. Würden andere zustimmen, dass es bei oop eher um die Struktur eines Programms als um seine Funktion oder Fähigkeiten geht? Oder müssen wir wirklich an oop denken, um das Beste aus den Funktionen von mql5 herauszuholen?

 

Ich habe einen Tipp für alle, die mit der neuen Beta experimentieren wollen, aber auch 509 zu Testzwecken behalten wollen. Andere haben gesagt, wenn Sie ein Terminal auf die Beta aktualisieren, wird das Live-Update auch alle anderen aktualisieren, die Sie haben. Das ist mir nicht passiert, da ich erkannt habe, dass UAC mein Haupt-Handelsterminal vor Störungen durch das automatische Live-Update schützt.

Sie können also eine 509 in den Programmdateien installieren und UAC einschalten. Das wird Ihr Haupt-Handelsterminal sein.

Installieren Sie ein weiteres 509 in einem separaten Ordner, es kann auch in Programmdateien sein, das spielt keine Rolle. Ich habe Programmdateien/MetaTraderBeta/ verwendet. Verbinden Sie dieses Terminal mit dem MT4 Testserver und lassen Sie es auf die Beta 530 aktualisieren.

Wenn Sie nun die Beta-Version schließen und das Trading-Terminal 509 öffnen, meldet die UAC, dass ein Programm Ihre Erlaubnis benötigt, um fortzufahren. Das ist das Liveupdate. Erteilen Sie diese Erlaubnis nicht, dann wird das Terminal normal geladen und bleibt in der Version 509. Das wird jedes Mal passieren, wenn Sie 509 neu starten.

 
SDC:

Ich möchte Sie nämlich fragen, ob Sie das Gefühl haben, dass das Erlernen von mql5 die Mühe wert war? Habt ihr in mql5 Dinge erreicht, die ihr im alten mql4 nicht hättet tun können? Sind Sie außerdem ein erfahrener Oop-Programmierer?

Du hast recht, es wird ein harter Übergang sein, ich weiß nicht, ob ich jemals die Zeit haben werde, all diese neuen Dinge zu lernen.

Außerdem frage ich mich, warum das Beispiel nicht kompiliert werden kann, ENUMs sind doch eine vordefinierte Konstante?

der erste Fehler ist 'ENUM_APPLIED_PRICE' - Deklaration ohne Typ TestCopyBuffer1.mq4 23 7...

Ich bin wahrscheinlich kein gutes Beispiel, da ich ein professioneller Programmierer bin. Es ist also kein großer Aufwand für mich, und ich lerne gerne neue Programmiersprachen. Ich habe auch einige Erfahrung mit oop.

Ich denke, dass viele mql4-Programmierer keine professionellen Programmierer sind und mql4 gelernt haben, um die Möglichkeit zu haben, den Handel zu automatisieren, in der Hoffnung, etwas Geld zu verdienen. Auch ohne über oop zu sprechen, ist mql5 schwieriger zu lernen als mql4. mql5 ist strukturierter, weniger freizügig. Ich nehme nur ein Beispiel, die Verwendung von iCustom. Mit mql4 müssen Sie einen Aufruf an iCustom mit den erforderlichen Parametern verwenden, um den Wert eines Puffers für eine bestimmte Kerze zu erhalten. Mit mql5 muss man in 2 Schritten arbeiten, erstens mit iCustom, um ein Handle für den Indikator zu erhalten, und zweitens mit einer CopyBuffer-Funktion, um Daten zu erhalten (1 Wert oder 10000 Werte mit 1 Aufruf). So ein Amateur-Programmierer in mql4 kann leichter verstehen, wer iCustom verwenden, um 1 Wert zu erhalten, mit mql5 müssen Sie das Konzept eines Handles zu verstehen, dann CopyBuffer Funktion zu meistern. Das ist schwieriger. Aber effizienter, wenn Sie 3, 4, 10 oder sogar 1000 Werte aus dem Puffer eines Indikators abrufen müssen.

Außerdem gibt es eine Menge Verbesserungen, zum Beispiel kann fast alles, was mit mql4 über die Windows-DLL (postMessage...) gemacht werden muss, direkt mit mql5 gemacht werden. Sie müssen nicht mehr oop verwenden, alle Funktionen sind auf prozedurale Weise verfügbar.

Abschließend möchte ich sagen, dass Sie sich keine Sorgen wegen des Oops machen sollten. Meiner Meinung nach ist es das Beste, Schritt für Schritt vorzugehen. Was Sie bisher verwendet haben, ist mit kleinen Änderungen immer noch verfügbar. Wenn Sie eine Lösung für ein neues Problem brauchen, sehen Sie nach, ob die neuen Möglichkeiten eine Lösung bieten können.


 
SDC:<br/ translate="no">

Ich habe einen Tipp für alle, die mit der neuen Beta experimentieren wollen, aber auch 509 zu Testzwecken behalten wollen. Andere haben gesagt, wenn Sie ein Terminal auf die Beta aktualisieren, wird das Live-Update auch alle anderen aktualisieren, die Sie haben. Das ist mir nicht passiert, da ich erkannt habe, dass UAC mein Haupt-Terminal vor Störungen durch das automatische Live-Update schützt.

Sie können also eine 509 in den Programmdateien installieren und UAC einschalten. Das wird Ihr Haupt-Handelsterminal sein.

Installieren Sie ein weiteres 509 in einem separaten Ordner, es kann auch in Programmdateien sein, das spielt keine Rolle. Ich habe Programmdateien/MetaTraderBeta/ verwendet. Verbinden Sie dieses Terminal mit dem MT4 Testserver und lassen Sie es auf die Beta 530 aktualisieren.

Wenn Sie nun die Beta-Version schließen und das Trading-Terminal 509 öffnen, meldet die UAC, dass ein Programm Ihre Erlaubnis benötigt, um fortzufahren. Das ist das Liveupdate. Geben Sie keine Erlaubnis und das Terminal wird normal geladen und bleibt in der Version 509

Habt Geduld mit der Beta. Metaquotes hat sein Thema dazu entfernt, weil die aktuelle Version noch nicht für einen Massentest bereit ist.

Wenn Sie testen wollen, und das Update anderer Terminals vermeiden wollen, müssen Sie den folgenden Ordner entfernen:

  • Windows 7 : C: \ ProgramData \ MetaQuotes \ WebInstal nach einem erfolgreichen Update, das Test-Terminal zu den anderen Terminals werden nicht aktualisiert.
  • Windows XP : C: \ Dokumente und Einstellungen \ Alle Benutzer \ Anwendungsdaten \ MetaQuotes \ Webinstall \