Fragen zu OOP in MQL5 - Seite 47

 
Igor Makanu:

MT-Entwickler schreiben immer, dass die Verwendung eingebauter Compiler-Mechanismen schneller ist als der Aufruf regulärer Funktionen

Wenn Sie Zeit und Interesse haben, überprüfen Sie die Geschwindigkeit meiner und Ihrer eigenen Version mit ArrayCopy

Ich werde die Geschwindigkeit etwas später überprüfen, ich bin gerade mit meinem PC-Unterricht beschäftigt.

Ich war falsch über ArrayCopy, weil Sie ein Array von Arrays haben, wird es nicht zu kopieren. Sie müssen es Element für Element kopieren, daher ist Ihr Weg optimal.
 
Alexey Navoykov:
Ich übertrieben es über ArrayCopy, Sie haben ein Array von Arrays, es wird nicht kopieren. Sie müssen sie Element für Element kopieren. Also ja, Ihr Weg ist besser.

Puh... Wenigstens etwas geklärt ))))


Es gibt zwar die weit verbreitete Meinung, dass MQL eine C-ähnliche Sprache ist, aber imho ist sie näher an Sharp als an Plus.

Ich habe fast 99% des Codes in MQL kopiert. 5-10 Minuten Arbeit.

ZS: Ich würde es tun, aber ich glaube, ich habe diesen Code auf meinem Laptop - ich kann mich nicht erinnern, ich muss ihn suchen, und zu Hause habe ich keine Rechenleistung ... Es ist ein allgemeines Durcheinander ))))

 
Igor Makanu:

Puh... Wenigstens etwas geklärt ))))


Obwohl es eine weit verbreitete Meinung gibt, dass MQL eine C-ähnliche Sprache ist, ist es imho näher an Sharp als an Plus.

Ich habe fast 99% des Codes in MQL kopiert. 5-10 Minuten Arbeit.

ZS: Ich würde es tun, aber ich glaube, ich habe diesen Code auf meinem Laptop - ich kann mich nicht erinnern, ich muss ihn suchen, und zu Hause habe ich keine Rechenleistung ... Es ist ein allgemeines Durcheinander ))))

Sie ist von den Profis so weit entfernt wie der Mond und von Sharp so weit wie die Umlaufbahn des Pluto. Im Allgemeinen hat man den Eindruck, dass alles im WinApi-Image erledigt wird. Und ja, die Pluspunkte sind immer noch die Basis.

 
Vladimir Simakov:

Sie ist so nah an den Pluspunkten wie der Mond, und Sharpe ist so nah an der Umlaufbahn des Pluto. Im Allgemeinen hat man den Eindruck, dass alles im WinApi-Image erledigt wird. Und ja, die Pluspunkte sind immer noch die Basis.

Es gibt viel zu diskutieren, aber Sie haben sich bereits mit den Problemen der STL-Portierung befasst, nicht wahr?

zur Beschleunigung des Prozesses der Argumentation.... Nimmt man die STL und dann die Zeigerbehandlung weg, hat die Ausgabe KEINE MQL-Fähigkeiten.

aber wenn Sie das gleiche "take away mine" auf C# anwenden, dann könnte das, was von Sharp übrig ist, in seinen Möglichkeiten wie MQL aussehen

;)

 
Igor Makanu:

Es gibt viel zu diskutieren, aber Sie haben sich bereits mit den Problemen der STL-Portierung befasst, nicht wahr?

um den Prozess der Argumentation zu beschleunigen.... Wenn Sie STL und die Zeigerbehandlung entfernen, erhalten Sie KEINE MQL-Fähigkeiten in der Ausgabe.

aber wenn Sie das gleiche "take away mine" auf C# anwenden, dann könnte das, was von Sharp übrig ist, in seinen Möglichkeiten wie MQL aussehen

;)

Wenn Sie Zeiger aus C entfernen, haben Sie auch kein C mehr, während stl nur eine Bibliothek ist))))

Und was schlägst du vor, aus Sharpe herauszunehmen, Gegenstände)? Es wird die gleiche Wirkung haben.

Übrigens, Vorlagen in mql sind immer noch Vorlagen von C, nicht generisch von C# (Kompilierzeit). Und in Sharp gibt es keine Makros).

 
Vladimir Simakov:

Wenn man Zeiger aus C entfernt, gibt es kein C mehr, und stl ist nur noch eine Bibliothek).

Und was schlägst du vor, dass wir aus Sharp entfernen sollen, Gegenstände?) Es wird die gleiche Wirkung haben.

Übrigens, Vorlagen in mql sind immer noch Vorlagen von C, nicht generisch von C# (Kompilierzeit). Und in Sharpe gibt es keine Makros).

Ich glaube nicht, dass es sich lohnt, Zeit und Mühe zu verschwenden, um mitIgor Makanu zu streiten,
Der Mann versucht, über hochtrabende Angelegenheiten der Führungsebene zu argumentieren, ohne dietrivialen Fragen der Auszubildenden zu verstehen.


 
Igor Makanu:

Es gibt viel zu diskutieren, aber Sie haben sich bereits mit den Problemen der STL-Portierung befasst, nicht wahr?

zur Beschleunigung des Prozesses der Argumentation.... Wenn Sie STL und die Zeigerbehandlung entfernen, erhalten Sie KEINE MQL-Fähigkeiten in der Ausgabe.

aber wenn Sie das gleiche "take away mine" auf C# anwenden, dann könnte das, was von Sharp übrig ist, wie MQL aussehen?

;)

STL ist nur eine Bibliothek. Die Verwendung oder Nichtverwendung hat keinen Einfluss auf die Möglichkeiten der Sprache, sie sind nach wie vor 2 Köpfe höher als MQL.

Und Sharp ist MQL nur in Arrays ähnlich, ansonsten erinnert MQL an C++, vielleicht von '99 oder früher.

 
Sergey Dzyublik:

Ich glaube nicht, dass ich meine Zeit und Energie damit verschwenden muss, mitIgor Makanu zu streiten,
Eine Person versucht, über hochrangige Dinge zu diskutieren, ohnetriviale Fragen auf der Ebene von Auszubildenden zu verstehen.

Streiten Sie nicht, verschwenden Sie nicht Ihre Zeit, es ist nicht so, wie ich in derSergey Dzyublik- Antwort geschrieben habe! ;)

Haben Sie den Titel des Themas gesehen? - Gehören meine Fragen zu diesem Thema? - Nun, niemand hat mir die Aufgabe übertragen, Ihr Ego heute zu befriedigen))))

Wladimir Simakow:

Wenn Sie Zeiger aus C herausnehmen, haben Sie überhaupt kein C, während stl nur eine Bibliothek ist))))

Ich verstehe das, aber Hochsprachen sind interessant mit fertigen Lösungen, sonst wären wir jetzt den halben Tag damit beschäftigt, printf() zu schreiben)))

Alexey Navoykov:

Und Sharp ist MQL nur in Arrays ähnlich, ansonsten erinnert MQL an C++, vielleicht von '99 oder früher.

Sie könnten Recht haben.

 
Igor Makanu:

Es gibt viel zu diskutieren, aber Sie sind bereits auf Probleme mit der STL-Portierung gestoßen, nicht wahr?

Die Hauptprobleme, auf die ich bei der Portierung von std::vector von C++ nach MQL gestoßen bin:
1)Bugs(und auch hier nicht alle).
2) Standardfunktionen funktionieren nur für bestimmte Datentypen angemessen (ich muss manuell universelle ArrayCopy, ArrayFill mit Unterstützung der bedingten Kompilierung, je nach Typ, für maximale Geschwindigkeit zu schreiben);
3) Standardfunktionen arbeiten für bestimmte Datentypen langsam genug (Sie müssen ArrayResize für schnelles Resize+Reserve für einfache Datentypen manuell vorschreiben);
4) Und nur der vierte Platz Mangel an Funktionalität - Mangel an "typedef Erklärung" (es ist durch #define, Vererbung von Klassen und Strukturen, die Verwendung von Wrapper-Klassen für einfache Typen umgangen).


 
Eigentlich ist es egal, welche Sprache MQL ist, Hauptsache, sie ist höher als C++ und der Code darin sollte einfacher und lakonischer sein. Aber in Wirklichkeit ist es umgekehrt. Der Code in MQL ist viel schwerfälliger und unbeholfener. Man muss viele Dinge zusammenkrücken.
Grund der Beschwerde: