Hat jemand ein erfolgreiches automatisches Handelssystem entwickelt? Was ist Ihr Rat? - Seite 17

 
Maxim Kuznetsov #:

insbesondere Object.mqh.

direkt aus den Büchern, die du unglücklicherweise zitierst...geniales Muster :-)

Es geht nicht darum, wie gut Sie den OOP-Kurs gemeistert und gelernt haben, ihn zu vertreten... meiner Meinung nach ist es ein beschissenes Mastering

Wie auch immer, holt eure Lehrbücher und geht morgen zur Schule.

Von welchem Muster reden Sie und wie schlecht ich in OOP bin? Ich habe nirgendwo behauptet, dass MQL5 eine vollständige OOP-Sprache ist, ich habe nur gesagt, dass sie viel näher an OOP ist als MQL4.

Vladimir Baskakov #:
Wird das Wissen über OOP meinen Traum, 200 aus 100 Pfund zu machen, näher bringen?

Die Kenntnis von OOP erleichtert das Schreiben von Code, spart Zeit und fördert die Codeentwicklung. Wenn Sie einen Bot geschrieben haben, der 2 Mal früher $100 einbringt, haben Sie mehr Geld. Ist es nicht so? Und es wäre viel einfacher, sie so zu ändern, dass sie 110 Dollar einbringt. Hier ist noch mehr Geld. Vermeiden Sie Fehler, die zum Verlust Ihrer Einlage geführt haben könnten - hier ist mehr Geld. Rechnen Sie außerdem Ihre Zeit in Geld um. Wenn ein Bot aus 1000 Zeilen Code besteht, können Sie ihn in Assembler schreiben. Aber Objektsprachen wurden geschaffen, um komplexen Code kompakt, schnell und übersichtlich zu schreiben.

 
Вадим Калашнков #:

Auf welches Muster beziehen Sie sich und inwiefern bin ich schlecht in OOP? Ich habe nirgendwo behauptet, dass MQL5 eine vollständige OOP-Sprache ist, ich habe nur gesagt, dass sie viel näher an OOP ist als MQL4.

Die Kenntnis von OOP erleichtert das Schreiben von Code, spart Zeit und fördert die Codeentwicklung. Wenn Sie einen Bot geschrieben haben, der $100 doppelt so schnell verdient, haben Sie mehr Geld verdient. Ist es nicht so? Und es wäre viel einfacher, sie so zu ändern, dass sie 110 Dollar einbringt. Hier ist noch mehr Geld. Vermeiden Sie Fehler, die zum Verlust Ihrer Einlage geführt haben könnten - hier ist mehr Geld. Rechnen Sie außerdem Ihre Zeit in Geld um. Wenn ein Bot aus 1000 Zeilen Code besteht, können Sie ihn in Assembler schreiben. Aber Objektsprachen wurden geschaffen, um komplexen Code kompakt, schnell und übersichtlich zu schreiben.

Haben Sie jemals einen Bot getroffen, der aus 100 Dollar 200 Dollar macht?
 
Вадим Калашнков #:

Auf welches Muster beziehen Sie sich und inwiefern bin ich schlecht in OOP? Ich habe nirgendwo behauptet, dass MQL5 eine vollständige OOP-Sprache ist, ich habe nur gesagt, dass sie viel näher an OOP ist als MQL4.

Die Kenntnis von OOP erleichtert das Schreiben von Code, spart Zeit und fördert die Codeentwicklung. Wenn Sie einen Bot geschrieben haben, der doppelt so schnell $100 einbringt - dann haben Sie mehr Geld. Ist es nicht so? Und es wäre viel einfacher, sie so zu ändern, dass sie 110 Dollar einbringt. Hier ist noch mehr Geld. Vermeiden Sie Fehler, die zum Verlust Ihrer Einlage geführt haben könnten - hier ist mehr Geld. Rechnen Sie außerdem Ihre Zeit in Geld um. Wenn ein Bot aus 1000 Zeilen Code besteht, können Sie ihn in Assembler schreiben. Aber die Objektsprachen wurden geschaffen, um komplexen Code kompakt, schnell und übersichtlich zu schreiben.

zur Schule... die Sprachen sind unterschiedlich... nennen Sie die Unterschiede

 
Maxim Kuznetsov #:

insbesondere Object.mqh

Was ist daran falsch?

Ich habe alle meine Objekte von ihr geerbt. Außerdem habe ich eine Nachfolgeklasse CMyOject eingeführt, so dass Sie an jeder Stelle des Codes erkennen können, welches Objekt sich unter dem Zeiger befindet.

Außerdem kapselt die Klasse eine virtuelle Vergleichsmethode, die sehr nützlich ist.

 
Georgiy Merts #:

Was ist daran falsch?

Ich habe alle meine Objekte von ihr geerbt. Außerdem habe ich eine CMyOject-Klasse als Nachkomme eingeführt, damit wir an jeder Stelle des Codes verstehen können, welches Objekt sich unter dem Zeiger befindet.

Die Klasse kapselt auch eine virtuelle Vergleichsmethode, die sehr nützlich ist.

Das Vorhandensein der Felder m_prev m_next in der "Mutter aller Objekte". Tiefe Hierarchien sind überhaupt nicht gut, und sie sind hier allgegenwärtig. Dies ist eine Art TurboVision über den Handel.

Aber darüber wurde bereits mehrfach gesprochen und diskutiert. Und darum geht es bei dem Thema dieses Forums nicht.

 
Maxim Kuznetsov #:

indem die Felder m_prev m_next in der "Mutter aller Objekte" enthalten sind. Tiefe Hierarchien sind überhaupt nicht gut, und sie sind hier allgegenwärtig. Dies ist eine Art TurboVision über den Handel.

Aber darüber wurde bereits mehrfach gesprochen und diskutiert. Und darum geht es in diesem Forumsthema nicht.

Ich benutze diese Felder ständig, es ist sehr nützlich, die Listen sind einfach zu erstellen. Und wenn Sie sie nicht verwenden, werden sie vom Optimierer bei der Erstellung der ausführbaren Datei ausgeschlossen.

 
Вадим Калашнков #:

Als Señor sind Sie völlig abstrahiert von den Realisierungen des Funktionskörpers.

Vadim, alles, was du hier geschrieben hast, kann ich fast verstehen. Und vielleicht werde ich mir die Zeit nehmen, die interessante Materie zu bewältigen.

Der private Handel ist jedoch ein Fall für Individualisten. Nicht mehr als drei, nicht einmal zwei, sondern einen. Nur ein persönlicher Kodex. Und die Größe... Was kann man in ein paar tausend Zeilen schreiben? Vielleicht ein Programm, das alle Muster der Vergangenheit umlernt und sich ihnen anpasst.

 
Aleksei Stepanenko #:

Vadim, alles, was du hier geschrieben hast, kann ich fast verstehen. Und vielleicht werde ich mir die Zeit nehmen, die interessante Materie zu bewältigen.

Der private Handel ist jedoch die Angelegenheit von Einzelpersonen. Nicht mehr als drei, nicht einmal zwei, sondern einen. Nur ein persönlicher Kodex. Und die Größe... Was kann man in ein paar tausend Zeilen schreiben? Vielleicht ein Programm, das jedes Muster der Vergangenheit umlernt und anpasst.

Für ein paar tausend Zeilen können Sie die Matrix schreiben, mit der Basis arbeiten, Gateways zu anderen Börsen, Berechnung zusätzlicher Parameter der Statistik... Meiner Meinung nach, einfache Bots auf ein paar Indikatoren nicht für eine lange Zeit zu arbeiten, und wenn sie tun, sie arbeiten mit großer Varianz und nur auf Optimierer herausgeschmissen. Für rentable Systeme (nicht X, aber stabil) braucht man meiner Meinung nach einen komplexen mathematischen Apparat, der genau das ist, wofür man viele Zeilen Code braucht. Aber das ist meine persönliche Überzeugung....

 
Вадим Калашнков #:

Für rentable Systeme (nicht X, aber stabil) meiner Meinung nach

Haben Sie mindestens 1 rentables System?

 
Вадим Калашнков #:

Zumindest wurde eine Reihe von Teleskopfunktionen entfernt, und vor allem wurde eine Standardbibliothek mit einer großen Anzahl nützlicher Klassen hinzugefügt.

Ich entschuldige mich im Voraus für die plumpen Fragen). Diese Funktion der Teleskope aus dem 4er Zyklus wird nicht auf den 5er übertragen. Ich kenne solche nicht (außer für die Verwaltung der Lagerumgebung, die ist im Wesentlichen anders). Wenn Sie das klären können.

Und offensichtlich reden wir über unterschiedliche Dinge, ich meine die Syntax der Sprachen, Sie nennen das Beispiel der Umgebung der Sprachen in Form von Bibliotheken, Einschüben und anderem Code. Und die Möglichkeiten des Terminals und des Meta-Editors. In 5ka ist es komplizierter mit mehr Funktionen. Bibliotheken sind eine Übersprache zur Vereinfachung des Codes. Sie können MKL5 verwenden oder einen kürzeren Code mit SeaTrade schreiben. Und in 4ka können Sie es in MKL4 schreiben, ohne Zugang zu den Börseneinstellungen der Aufträge und Möglichkeiten zu haben, ihre reale Ausführung in Form von Geschäften und Zuständen der Positionen zu sehen. Dies ist für das Üben der Algorithmen nicht erforderlich. Die Geschwindigkeit und den Prozentsatz der Auftragsausführung zu verbessern, den schnellsten Zugriff auf den Stand der Aufträge, Geschäfte und Positionen zu haben - das ist eine weitere Aufgabe.

Der Code mit den Klassen wird in beiden Sprachen ohne Änderungen wiedergegeben. Vererbung, abgestufte Sichtbarkeit verschiedener Entitäten, benutzerdefinierte Datentypen, einzelne Methodenoperationen mit verschiedenen Datentypen gibt es in beiden Sprachen.

MCL ist in jedem Fall kein reines OOP, da die Terminalumgebung eine Antwort nur per Anfrage voraussetzt, und Ereignisse im Terminal durch konstante Algorithmen an das Terminal zurückgegeben werden, bzw. ohne Callback-Funktionen nicht tun können....

Dies sind Eigenschaften der Terminalumgebung, die nicht von den Spracheigenschaften getrennt werden können, aber die grundlegenden Eigenschaften von OOP sind in beiden Sprachen vorhanden.