Wünsche für MQL5 - Seite 16

 
Bitte senden Sie uns Ihr Feedback zu MQL5.

Die Entwicklung von MQL5 ist in vollem Gange, und es ist eine unserer wichtigsten Funktionen der neuen Handelsplattform. Um des Seelenfriedens willen beteiligen wir uns im Moment absichtlich nicht an Diskussionen. In Kürze werden wir jedoch damit beginnen, Informationen über die neue Sprache, die Bibliotheken und die Programmierumgebung zu veröffentlichen.
 
Renat:
Bitte geben Sie uns Ihr Feedback zu MQL5.
Nur für die Sprache, oder auch für den Editor mit dem Terminal?
 
komposter:
Renat:
Bitte äußern Sie Ihre Wünsche für MQL5.
Nur für die Sprache, oder auch für den Editor mit dem Terminal?
Für Sprache und Editor. Zum Terminal - das ist ein Thema für sich. Im Moment wäre es besser, über MQL5 und den Editor zu sprechen.
 
  • In Fortran gab es eine wunderbare Sache - ein Unterprogramm. Die Parameterliste war nicht nur eingehend, sondern auch ausgehend. Jetzt läuft alles über Global.
  • Es ist wünschenswert, anpassbare Eigenschaften für spezielle Funktionen zu haben. Zum Beispiel ein Tick-by-Tick-Start, ein Start mit einer bestimmten Frequenz, eine Schleife mitautomatischer Aktualisierung der Umgebung.
  • Möglichkeit, ein anderes Anwendungsprogramm aus dem Expert Advisor heraus aufzurufen, z.B. einen Indikator (sowohl Standard als auch benutzerdefiniert) mit der Möglichkeit, ihn auf dem Chart anzuzeigen.
  • Zugriff auf die Namen der in das Fenster geladenen Programme
  • Zugriff auf die Liste der verfügbaren Anwendungsprogramme und Bibliotheken (.
  • Zugriff auf alle Indikatoren-Arrays von manuell geladenen Indikatoren, von Expert Advisor und Skript.
  • Informationsaustausch zwischen den Terminals und programmatischer Zugang zum Schriftverkehr (es ist möglich, dass der Handel den Weg des Verkaufs von Signalen einschlagen wird).
  • Mehrere grafische Ebenen und völlige Freiheit (z. B. Indikator-Ebene oben) (oder: eine separate Ebene für jeden Auftrag, da in der heutigen Ein-Ebenen-Umgebung die obersten Auftragszeilen nicht ausgewählt werden können, wenn es mehrere Aufträge zu einem Preis gibt - grafischer Horizont).

----

  • Der Editor braucht natürlich einen Debugger.
  • Möglichkeit, Gruppen von Zeilen zu einer Zeile zusammenzufassen.
  • Die Etiketten sollten nicht verschwinden, wenn ME geschlossen wird.
  • Hervorhebung von benutzerdefinierten Funktionsnamen in Farbe.
  • Blinkende Klammern (wenn Sie die linke Klammer markieren, blinkt die rechte Klammer).
 
Die Möglichkeit, direkt vom ME aus in Farbe zu drucken.
 
Von Herausgeber:
  • Autovervollständigung bei der Eingabe von Benutzervariablen und Funktionen;
  • Tooltips bei der Eingabe von Parametern für benutzerdefinierte Funktionen (wie bei normalen Funktionen);
  • einen Block kommentieren/entkommentieren;
  • Fenster "sofort" - sofortige Ausführung der eingegebenen Zeichenfolge;
  • Beseitigung von Fehlern bei der Suche nach kurzen Zeilen und der "Schattierung" von unkommentiertem Text.

Für die Interaktion mit dem Terminal:
  • wenn Sie den EA kompilieren, starten Sie ihn nur auf dem Chart neu oder starten Sie gar nichts neu!
  • beim Kompilieren einer Datei, die auf eine andere Datei verweist, diese ebenfalls kompilieren;
  • Skript/Experiment/Anzeige aus dem Code heraus starten/stoppen (aus demselben "Sofort"-Fenster).
Nach Sprache:
  • Liste der Symbole aus dem Code;
  • ALLE Symbolparameter aus dem Code (damit Sie alles berechnen können, was das Terminal berechnet);
  • Ereignisse - Handel, Schnittstelle, Fehlerereignisse;
  • Kommentarfunktion - Erweiterung der Funktionalität (vorherigen Text nicht löschen, Schriftart und -farbe auswählen, Bindungswinkel, ...);
  • Globale Variablen Terminal - Möglichkeit, sie vor dem Benutzer zu verbergen, auf Befehl oder sofort nach der Änderung auf der Festplatte zu speichern.
Nun, und ich schließe mich fast allen Vorrednern an, ich bin für den Moment fertig.
 

Ohne die Eigenschaften der speziellen MQL5-Funktionen zu kennen, ist es schwer, das im Voraus zu sagen, aber MQL4 hat ein solches Problem.

Start() wird in einer Schleife ausgeführt. Es funktioniert. Ein Benutzer stellt eine Verbindung zu einem anderen Konto her. Die Umgebungsinformationen des neuen Kontos stehen dem Expert Advisor in der aktuellen Sitzung zur Verfügung , bevor start() zwangsweise geschlossen wird. Der Expert Advisor meldet (aufgrund seiner internen Analyse), dass die Aufträge (die sich im vorherigen Konto befanden) geschlossen wurden, Swaps, Stop Levels usw. geändert wurden, usw. mit allen sich daraus ergebenden Konsequenzen.

Der Expert Advisor verfolgt auch nicht explizit die Information über ein neues Konto gefolgt von einer Entscheidung zu deinit-init-start(). Ich habe es nicht geschafft, das Muster zu erkennen, aber die Deinitialisierung findet nicht immer statt. Wenn zum Beispiel das Terminal gerade geladen wurde und die Verbindung zu Konto A hergestellt wurde, erfolgt der Übergang zu Konto B ohne deinit-init-start. Nach einer Minute erfolgt der Wechsel von B zu A mit dem erwarteten Deinit-Init-Start, und der anschließende Wechsel von A zu B oder zwischen anderen Konten verläuft ebenfalls normal. Es scheint, dass das Problem irgendwie mit der Tatsache der ersten Verbindung zum Konto zusammenhängt. Die Wirkung ist anhaltend.

Im Allgemeinen ist der Wunsch: beim Wechsel zu einem anderen Konto zunächst deinit das aktuelle Konto in der aktuellen Umgebung, und dann - als ob von Grund auf (eine Verbindung zu einem neuen Konto und führen Sie im Terminal die neuen Umgebungswerte).

 

Wenn Sie ein Objektmodell implementiert haben, dann sehen Sie sich dieses Objektmodell, die verfügbaren Methoden, Eigenschaften usw. an, ebenso wie beim Debugging.

Ansonsten ist alles, was oben vorgeschlagen wurde, in den meisten modernen Entwicklungsumgebungen vorhanden. Sie müssen nur z. B. Microsofts Visual Studio replizieren. Beim Wechsel von VB 6 zu VB .NET hat sich beispielsweise nicht viel geändert, die Funktionen sind einfach Teil einer eigenen Klasse geworden, für diejenigen, die nicht sofort die Alternativen finden, hat sich nur der Umfang der Ansätze erhöht. Nur Low-Level-Funktionen wurden entfernt, dank derer ich mein Wissen erweiterte und sogar die Programmiersprache änderte, natürlich brauchten diejenigen, die solche Funktionen wie objptr nicht kannten, sie nicht :) Natürlich wurden danach alle alternativen Funktionen und Klassen erlernt, aber die leichte Zugänglichkeit solch kleiner Features wie die Arbeit mit Zeigern, erlaubte es mir nicht, in das vergangene Jahrhundert zurückzugehen und neue Felder zu erschließen, ohne logisches Denken im C++ Nebel, während ich versuchte, in VB zu schreiben, studierte ich ASM und versuchte, eine Programmiersprache zu schaffen, aber das weitere Erlernen der Systemprogrammierung, führte mich zu der Tatsache, dass das Beste von allem, was für die angewandte Programmierung geschaffen wurde, .NET ist, ich habe die Logik von Java nie verstanden und vor

P.S.: Dies ist ein Beispiel dafür, was man anstreben sollte:)

Das Wichtigste, was die ernsthafte Entwicklung der .NET-Technologie provoziert hat, ist Reflection und die Möglichkeit, den Quellcode zu studieren, um zu verstehen, wie es bis ins kleinste Detail funktioniert, keine Beschreibung und keine Beispiele geben mehr als die Möglichkeit, die Wurzel zu sehen. Alle Disassembler und viele andere Tools, die für Low-Level-Ansätze entwickelt wurden, verblassen in der Bedeutungslosigkeit. Ich kenne zum Beispiel viele Details und Unterschiede zwischen .NET 1.0 und 1.1 und noch mehr zwischen .NET 2.0, nicht weil ich weiß, dass die neue Version gut oder besser ist, sondern weil ich den Unterschied im Quellcode und im Maschinencode gesehen habe und ich sehe immer noch all die neuen Höhen, die .NET erreicht.

Gehen wir davon aus, dass ich auch das Terminal und seine Sprache studiert habe, und gehen wir davon aus, dass es in Anbetracht dessen, was wir haben, etwas zu vergleichen geben wird:) Ich vertraue nicht den Worten, ich vertraue meinen Augen:)

 

1) Ziehen und Ablegen von Aufträgen wie in einem Programm, ich weiß den Namen jetzt nicht mehr, es ist schön))

2) im Prüfgerät W1

3) Visueller EA-Editor, so dass jeder Anfänger, der die MQL-Sprache überhaupt nicht kennt, seine eigenen Ideen in EAs implementieren kann, um sie an der Geschichte zu überprüfen, denn die Ideen haben sich als Illusionen herausgestellt, und ohne einen Programmierer gibt es keine Chance, Illusionen aufzugeben))

das letzte hört sich fantastisch an, ich verstehe, aber wenn es umgesetzt wird, wird mt einen Quantensprung machen, wirklich massiv populär werden und die Konkurrenz für immer hinter sich lassen))

 
Möglichkeit der visuellen Erstellung von Strategien auf der Grundlage der auf die Indikatoren angewandten Regeln. So wie es in der visuellen Umgebung von Trading Solutions implementiert ist. Es ist praktisch, dass man sich nicht mit dem Indikator herumschlagen und den Code des Expert Advisors erstellen muss, nur um seine Signale zu überprüfen.