Erstellung eines Python-Handelssystems für MT. - Seite 9

 
Interessante Ergebnisse für den Sber. Könnten Sie diese mit den Ergebnissen des Terminals vergleichen? Und ich würde sie wirklich testen, zumindest eine Partie...
 
Yuriy Asaulenko:

Wenn Sie alles in MQL schreiben können, brauchen Sie wirklich nichts anderes.

Ich kann und will gar nicht auf Algorithmen eingehen, die bereits geschrieben, praktiziert und verfügbar sind. Ich möchte sie nicht direkt verwenden, sondern sie umschreiben oder an MQL anpassen. Dies ist übrigens das Hauptkonzept von OOP.

OOP allein reicht nicht aus, um nicht ins Detail zu gehen, wir brauchen Komponentenmodelle für den Austausch und die Interaktion zwischen Programmen, wie z.B. OLE->ActiveX->DCOM->.Net, sonst muss man immer zwischen Sprachen und Bibliotheken hin und her manövrieren.
 
Ivan Negreshniy:
OOP allein reicht nicht aus, wir brauchen Komponentenmodelle für den Austausch und die Interaktion zwischen Programmen, wie z.B. OLE->ActiveX->DCOM->.Net, sonst müssen wir immer zwischen Sprachen und Bibliotheken manövrieren.

Ich gehe davon aus, dass Python mit seinen umfangreichen Bibliotheken all dies in absehbarer Zeit nicht benötigen wird. Mit Ausnahme der Endgerätekommunikation, aber dieses Problem wurde schon vor langer Zeit und sogar auf mehrere Arten gelöst.

 
Yuriy Asaulenko:

Ehrlich gesagt, diese Python ist ärgerlich, zusammen mit ihren Klassen. Hier nur ein kleiner Ausschnitt aus einer der Funktionen:

Zählen Sie, wie oft das Wort "self" in diesem kleinen Stück Code wiederholt wird ?

Und das immer und überall, in jeder Zeile mehrmals. Dieser Unsinn wird in allen Funktionen (Methoden) einer beliebigen Klasse ständig wiederholt.

jep... Ja, Python ist nur als "Klebstoff" gut, für Skripting von ein paar bis ein paar Dutzend Zeilen, dann gibt es einen klaren Vorteil gegenüber C++\Java, aber es ist teurer, Multi-Tier-OOP in Python zu implementieren, auch auf Komfort-Ebene, die Geschwindigkeit solcher Bibliotheken ist außer Frage. Python macht Spaß, um Prinzipien in Präsentationen usw. zu zeigen. Es ist sehr "sauber" in Bezug auf Anpassungen, die offensichtlich in anderen Sprachen geschrieben werden müssen, aber etwas Ernsthaftes mit Threads und GUI in Python zu schreiben, ist ein echter Knaller

 
Yuriy Asaulenko:

Der eigene Tester ist interessanter, weil man die vollständige Kontrolle über den Prozess hat, was für das Testen absolut notwendig ist. Und das Prüfgerät selbst ist eine sehr einfache Konstruktion.

Ich sehe keinen Sinn darin, irgendetwas zu finanzieren, da ich es nur für mich selbst tue.

Ich mache das nur für mich selbst. Der Tester hat keinen komplizierten Algorithmus, aber es gibt viele Stellen, an denen ich einen Fehler machen kann. Aber natürlich kann die Nutzung der Entwicklungen eines anderen nicht weniger riskant sein, zumindest aus denselben Gründen und vielleicht aus einigen anderen Gründen, die mit der Frage zusammenhängen, "wer davon profitiert".

 
pantural:

hum hum... Ja, Python ist nur als "Klebstoff" gut, für Skripting von ein paar bis ein paar Dutzend Zeilen, dann gibt es einen klaren Vorteil gegenüber C + + / Java, aber es ist teuer, mehrschichtige OOP in Python zu machen, auch auf Komfort-Ebene, die Geschwindigkeit solcher Bibliotheken ist außer Frage. Python macht Spaß, um die Prinzipien in Präsentationen usw. zu zeigen. Es ist sehr "sauber" in der Erscheinung von Anpassungen, die eindeutig in anderen Sprachen geschrieben werden müssen, aber etwas Ernsthaftes mit Threads und GUI in Python zu schreiben, ist ein echter Kummer.

Warum "puh..."? In Python ist alles in Ordnung, und die Geschwindigkeit ist auch in Ordnung. Sogar die 55k-Schleifen funktionieren gut, in der vorletzten Version. In der Tat sind die Bibliotheken in Python schnell, während Python selbst hauptsächlich dazu dient, Wörter in einem Satz zu verknüpfen.

Im Allgemeinen macht es keinen Sinn, schnell und langsam zu sprechen. Wenn es schnell geht, wozu dient es genau? Wenn langsam, dann in ähnlicher Weise.

 
Yuriy Asaulenko:

Was hat es mit dem "keuchenden..." auf sich? In Python ist alles in Ordnung, auch die Geschwindigkeit. Sogar die 55k-Schleifen funktionieren gut, in der vorletzten Version. In der Tat sind die Bibliotheken in Python schnell, während Python selbst hauptsächlich für die Verknüpfung von Wörtern in einem Satz gedacht ist.

Im Allgemeinen macht es keinen Sinn, schnell und langsam zu sprechen. Wenn es schnell geht, wozu dient es genau? Wenn langsam, ähnlich.

55k ist Krümel, müssen Sie Milliarden zu zählen, und so die native Python-Tester wird nicht funktionieren, müssen Sie schreiben und importieren Sie die Libu auf die Plus, und Python ist nur für den Aufruf und die Konfiguration, denn es kann 100-mal langsamer sein.

und "ahem" war über "self" und 100500 __***__ Methoden und Attribute, IMHO machen sie viel komplizierteren Code als sogar auf Plus, und wenn wir über Threads, Ereignisse und GUI sprechen, ist alles nicht besser als mit Plus, eher das Gegenteil, all diese "Duck Typing" und Sachen wie das gerade anfangen zu schmerzen, müssen Sie eine Menge im Auge behalten, erinnern eine Menge Zeug
 
pantural:

55k sind Krümel, man muss Milliarden zählen, und deshalb wird ein nativer Python-Tester nicht funktionieren, man muss die Bibliothek in Plusses schreiben und importieren, und Python nur aufrufen und konfigurieren, weil es 100 Mal langsamer sein kann.

und "ahem" war über "self" und 100500 __***__ Methoden, IMHO machen sie viel komplizierteren Code als sogar mit Plus, und wenn wir über Threads, Ereignisse und GUI sprechen, ist alles nicht besser als mit Plus, eher im Gegenteil, all dieses "Duck Typing" und so, im Gegenteil, fängt einfach an, weh zu tun, man muss eine Menge Dinge im Kopf behalten

Ich weiß nicht, warum ich Milliarden brauche)). Der Tester - ich habe keine Beschwerden, bis jetzt geht alles schnell, 3 Monate vergehen im Nu, und ich brauche nicht mehr).

Bei allem anderen, da stimme ich zu, macht es mehr Spaß, zu schreiben. Aber man kann nicht wirklich mit den Vorteilen arbeiten. Es stellt sich heraus: Zuerst modellieren wir etwas in einer Software, und dann portieren wir es auf die anderen Programme, schreiben alle möglichen Schnittstellen zu den Bibliotheken - das ist ein echter Aufwand.

Und in Python alles in einem Paket, und eine normale Simulationsumgebung + alle benötigten Libs, normalerweise in C++. Für die Strategie ist es schnell genug - 15-30 ms sind für mich keine Verzögerung. Eventuell kann man kritische Abschnitte in C umschreiben, wie es bei der NASA gemacht wird. Falls es überhaupt welche geben wird, versteht sich.

Und nichts ist perfekt).

 
Yuriy Asaulenko:

Ich weiß nicht, warum ich Milliarden brauche.)) Tester - Ich habe keine Beschwerden, so weit alles ist schnell, 3 Monate rutscht in einem Moment, und ich brauche nicht mehr).

Bei allem anderen, da stimme ich zu, macht es mehr Spaß, zu schreiben. Aber man kann nicht wirklich mit den Vorteilen arbeiten. Es stellt sich heraus: Zuerst modellieren wir etwas in einer Software, und dann portieren wir es auf die anderen Programme, schreiben alle möglichen Schnittstellen zu den Bibliotheken - das ist ein echter Aufwand.

Und in Python alles in einem Paket, und eine normale Simulationsumgebung + alle benötigten Libs, normalerweise in C++. Für die Strategie ist es schnell genug - 15-30 ms sind für mich keine Verzögerung. Eventuell kann man kritische Abschnitte in C umschreiben, wie es bei der NASA gemacht wird. Falls es überhaupt welche geben wird, versteht sich.

Und nichts ist perfekt).

Im Zusammenhang mit der Optimierung geht es um Milliarden, wenn Hunderte oder sogar Tausende von Tests auf Hunderttausende von Minutenbalken laufen. Wir sind nicht unsere Feinde, die stundenlang warten, um ein paar einfache genetische Indizes für ein Jahr von Minuten zu holen, es sollte in Sekunden erledigt sein, während es in Python viel länger dauert, genau wie in Black Boxes mit absichtlicher Verlangsamung der Berechnungen.

Und Python im Allgemeinen ist ein sehr attraktives Werkzeug im richtigen Kontext, obwohl IMHO seine derzeitige Popularität ein vorübergehendes Phänomen ist, es ist so etwas wie Mode in sozialen Netzwerken und Apple-Gadgets, es gibt eine Verbindung mit äußerem Glanz und Minimalismus auf sehr einfachen Beispielen, und auch Studenten, die seine Bewertungen aufblasen.


PS Übrigens: Wie kommen Sie darauf, dass Ihr Prüfgerät richtig funktioniert? Das Prüfgerät ist eine knifflige Sache....

 
pantural:

Wir sind nicht unsere Feinde, die stundenlang auf ein paar einfache genetische Indizes für ein Jahr von Minuten warten, es sollte in Sekunden erledigt sein, aber in Python wird es viel länger dauern, ebenso wie bei Blackboxen mit absichtlicher Verlangsamung der Berechnungen.

Ich beschäftige mich nicht mit der Optimierung und dem Abgleich von Parametern aller Art. Meine Methodik ist anders, aber ich brauche eine ähnliche Umgebung wie MatLab, R, SciLab usw. Python ist genau so gut.

Ich brauche auch keine 10^6 Balken. Für alles - etwa 6, maximal 9 Monate auf Minuten ist genug. Jetzt ist der Test 3 Monate -2,5 m, obwohl das System noch nicht so kompliziert ist.

Am längsten dauert es, ML zu lernen, aber es gibt nichts Besseres als Python, und hier nur als Skriptsprache. Nehmen wir an, die Reaktionszeit eines trainierten neuronalen Netzes mit 5 Schichten und etwa 60 Neuronen beträgt 3-5 ms.

Bislang sehe ich keine wirkliche Bestätigung für die Panikmache.