Diskussion zum Artikel "Entwicklung eines Roboters in Python und MQL5 (Teil 1): Vorverarbeitung der Daten" - Seite 5

 
Rashid Umarov #:

Dem Bildschirm nach zu urteilen, wurde die Python-Version 3.10.10 verwendet.


Oh, Mann, stimmt.

Ich habe einen etwas anderen Ansatz beim Lesen von Artikeln.

Ich lese einen Artikel zuerst diagonal. Wenn er mich interessiert, lade ich den Code herunter und führe ihn aus. Wenn der Code funktioniert, dann lese ich den Artikel sorgfältig.

Ich habe die Python-Version nicht diagonal gesehen).


ZЫ. Ich habe Python nicht 3.10 für sicher.

P.S. Beim Herunterladen von der Meta-Editor.

bietet an, python-3.9.7-amd64.exe herunterladen.

Dies ist offensichtlich nicht 3.10 wo zum Download 3.10?

 

https://www.python.org - es ist da.

Höchstwahrscheinlich können Sie die neueste Version 3.12

Welcome to Python.org
Welcome to Python.org
  • 2024.03.29
  • www.python.org
The official home of the Python Programming Language
 
Yuriy Bykov #:

https://www.python.org - es ist da.

Höchstwahrscheinlich können Sie die neueste Version 3.12

Python 3.12.2 (tags/v3.12.2:6 abddd9, Feb  6 2024, 21:26:36) [MSC v.1937 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.

= RESTART: C:\Users\Iskander\Desktop\synergy_ml_bot.py
MetaTrader initialization failed
MetaTrader initialization failed
Traceback (most recent call last):
  File "C:\Users\Isrander\Desktop\synergy_ml_bot.py", line 272, in <module>
    augmented_data = augment_data(raw_data)
  File "C:\Users\Isrander\Desktop\synergy_ml_bot.py", line 95, in augment_data
    print(f"Number of rows before augmentation: {len(raw_data)}")
TypeError: object of type 'NoneType' has no len()

Python n/b

Ich habe alles installiert, was ich kann. Trotzdem fehlt etwas. Python n/b!!!

 

Führen Sie zunächst das Beispiel aus der Python-Integrationshilfe aus

Wenn es nicht funktioniert, liegt das Problem auf Ihrer Seite

Документация по MQL5: Python интеграция
Документация по MQL5: Python интеграция
  • www.mql5.com
MQL5 предназначен для разработки высокопроизводительных торговых приложений на финансовых рынках и не имеет аналогов среди других специализованных...
 
Rashid Umarov #:

Führen Sie zunächst das Beispiel aus der Python-Integrationshilfe aus

Wenn es nicht funktioniert, liegt das Problem auf Ihrer Seite

Das ist in Ordnung. Es hat funktioniert.

Der Autor hat seine Pfade zum Terminal im Code angegeben. Ich habe es nicht sofort herausgefunden.

Vielen Dank an alle für Ihre Hilfe.

python n/b.

 
Aleksandr Slavskii #:
Der Autor hat seine Pfade zum Terminal im Code angegeben. Ich habe es nicht sofort herausgefunden.

Wollte diese Vermutung nicht anstellen, um Sie nicht zu beleidigen :)

Überprüfen Sie von nun an Ihre Quelle, bevor Sie mir Vorwürfe machen.

 
Rashid Umarov #:

Ich wollte Ihnen nicht zu nahe treten, um Sie nicht zu beleidigen :)

Überprüfen Sie in Zukunft Ihre Quelle, bevor Sie einen Vorwurf erheben.

Sie haben das Wesentliche meiner Rüge missverstanden.

Das Problem war nicht "Der Autor hat seine eigenen Pfade zum Terminal im Code angegeben", das hat fast überhaupt keine Zeit in Anspruch genommen.

Das Problem war, dass der Autor in dem Artikel in einem auf die MQL-Sprache spezialisierten Forum "einfache", "für jeden absolut klare" Dinge nicht angegeben hat.

Wie diese in der Hilfe.


Für eine Person, die sich mit Python auskennt, ist es nicht schwer, solche Anweisungen in einen Artikel zu schreiben, aber es würde jemandem, der wenig über Python weiß, eine Menge Zeit ersparen.

Die Version von python herausfinden, sie installieren, Pakete installieren, die falsch installiert sind. Erst heißt es, dass Ihre Python-Version veraltet ist, und dann heißt es, dass die Version des Pakets nicht zur neuen Python-Version passt, installieren Sie diese.

Tanzen...

Und generell ist python n/b.

 

Ich verstehe Python nicht sehr gut, aber ich habe dieses Gefühl:

1. Prädiktoren verwenden den Schlusskurs zum Zeitpunkt der Vorhersage am Null-Bar, d.h. den zukünftigen Kurs.

2. Die Prädiktoren werden transformiert und auf die gesamte Stichprobe fallen gelassen, ohne dass eine Stichprobe für unabhängige Tests ausgewählt wird.

3. Die Stichprobenbildung ist eine fragwürdige Idee - ich würde gerne einen Nachweis für die Nützlichkeit des verwendeten Ansatzes sehen.

4. Es ist nicht klar, wie die Spalten (Merkmale) geclustert werden. Ich zitiere: "Featureclustering combines similar features into groups to reduce their number. Dies hilft dabei, redundante Daten loszuwerden, die Korrelation zu reduzieren und das Modell zu vereinfachen, ohne es zu überanpassen." Ich denke irgendwie, dass Clustering Zeilen (Vektoren) mit ähnlichen Prädiktorwerten (in Spalten) kombiniert. Andernfalls sollte der Code die Anzahl der Spalten geteilt durch die Cluster ausgeben. Im Allgemeinen ist der ganze Absatz in dem Artikel über Clustering verwirrend: Am Anfang wird eine Methode beschrieben, dann wird eine andere angewandt, und ich denke, dass es für einen Leser, der sich nicht auskennt, schwierig ist, das zu verstehen, und ich habe nicht verstanden, warum.

5. Die Frage der Prädiktorenauswahl ist wichtig, und ich interessiere mich für die RFECV-Methode, aber ich würde gerne in dem Artikel eine Erklärung sehen, wie Bäume ohne ein Ziel gebildet werden, aber die "Genauigkeits"-Metrik für die Bewertung verwendet wird, ich meine diese Aussage "...Zuerst werden die Klassenetiketten verworfen...". Es scheint, dass die Logik des Textes nicht mit der Logik des Codes übereinstimmt, denn das Training geht von den Labels "rfecv.fit(X, y)" aus.

Der Artikel gibt mir das Gefühl, dass der Text teilweise entweder von einem linguistischen Modell generiert wurde, oder dass es sich um eine maschinelle Übersetzung handelt, oder dass ich die moderne Sprache nicht mehr verstehe...

Ich würde gerne qualitativ bessere Artikel mit einzigartigem Inhalt sehen. Ich hoffe, der Autor hat sie.

 

# Rauschen hinzufügen
noisy_data = raw_data.copy()
noisy_data += np.random.normal(0, noise_level, noisy_data.shape)

Sieht diese künstliche Reihe wie eine echte Reihe aus? Auch die OHLC-Balken werden nicht generiert. Sie sollten aus Ticks gesammelt werden, wie es mir scheint.
Und solche künstlich erzeugten Daten sind gut für einen Forward als eines der Kriterien für die Überprüfung der Zukunftsaussichten usw. zu verwenden, aber sicher nicht als Prädiktor.
 
Aleksey Vyazmikin Prädiktorenauswahl ist wichtig, und ich interessiere mich für die RFECV-Methode, aber ich würde in dem Artikel gerne eine Erklärung sehen, wie Bäume ohne ein Ziel gebildet werden, aber die "Genauigkeits"-Metrik zur Bewertung verwendet wird, ich meine diese Aussage "...Zuerst werden die Klassenetiketten verworfen...". Es scheint, dass die Logik des Textes nicht mit der Logik des Codes übereinstimmt, denn das Training geht von den Labels "rfecv.fit(X, y)" aus.

Der Artikel gibt mir das Gefühl, dass der Text teilweise entweder von einem linguistischen Modell generiert wird, oder es sich um eine maschinelle Übersetzung handelt, oder ich habe völlig aufgehört, die moderne Sprache zu verstehen...

Ich würde gerne qualitativ bessere Artikel mit einzigartigem Inhalt sehen. Ich hoffe, der Autor hat sie.

Wenn die Klassenbezeichnungen nicht zurückgesetzt werden, dann sind die Bezeichnungen selbst das beste Merkmal für die Vorhersage von Bezeichnungen, oder?