MetaTrader 5 Python User Group - wie man Python in Metatrader verwendet - Seite 60
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Version 5.0.30 ist erschienen
Ich danke Ihnen!
Version 5.0.31 ist erschienen
Irgendwelche größeren Änderungen?
Nein, nur einige Korrekturen für https://www.mql5.com/en/forum/306742/page13#comment_15699363
https://pypi.org/project/pymt5adapter/
https://github.com/nicholishen/pymt5adapter
Danke, dieses Beispiel habe ich gesehen, es funktioniert.
Mir geht es um etwas anderes.
positions_get - die Liste der TradePosition wird an mich zurückgegeben. Im Prinzip kann man Pandas einbauen und gut arbeiten.
Aber alles ist nicht auf einen Panda beschränkt, und wenn Sie etwas wie:
Sie müssen irgendwie komponieren, Pandas oder für... irgendwie eine Menge zusätzlicher Körperbewegungen.
Mit _asdict () ist es viel bequemer geworden, wenn derjenige, der schreibt, kein MQL5-Prog ist, sondern, sagen wir, ein Pythonist ... oder ein Datennetzbetreiber, dann ist list / dict
Die grundlegenden Elemente von Python, viele bauen eine Datenübertragung auf Liste / dict.
Tupel werden zu oft und viel verwendet, aber nur, wenn Sie die Datentypen, die sich darin bewegen, genau kontrollieren müssen.
und auch einen Fehler-Handler aufhängen, wenn er nicht richtig verwendet oder zugewiesen wird. Nun, irgendwo ... :) Ich könnte mich irren.
Ok, ich stimme dieser Meinung jetzt völlig zu, und ich denke auch, dass die Rückgabe von Daten als Namedtupel anstelle von Wörterbüchern zu eigenwillig für eine API ist. Kürzlich hatte ich Probleme mit diesem Design, weil es unmöglich ist, namedtuples zu picken. Betrachten Sie das folgende Skript zum Kopieren von gleichzeitigem Handel. Haben Sie bemerkt, wie mühsam es ist, alle Namedtupel in Dictionaries umzuwandeln, um den ProcessPoolExectutor zu nutzen?
trade_copier.py
terminal_config.json
Besonders schwierig ist es, wenn Namedtupel in Namedtupel verschachtelt sind, wie es bei OrderSendResult.request der Fall ist. Sie müssen also eigene Konvertierungsfunktionen erstellen, nur um sie wieder in abrufbare Datentypen umzuwandeln. Sie könnten alles durch eine rekursive Funktion laufen lassen, um es wieder in native Datentypen zu konvertieren, aber das ist sehr rechenintensiv.
https://pypi.org/project/pymt5adapter/
https://github.com/nicholishen/pymt5adapter
Installation fehlgeschlagen
Win10, Py3.6.10 und WinPy3.7.7.