Hallo Dmitriy
ich habe alle Bibliotheken installiert, aber wenn ich versuche, dieses Python-Programm auszuführen, bekomme ich diesen Fehler:
runfile('C:/Users/rogerio/ título1.py', wdir='C:/Users/rogerio')
Traceback (letzter Aufruf):
Datei "C:/Users/rogerio/ título1.py", Zeile 20, in <module>
rsi=tl.RSI(rates['close'])
TypeError: 'NoneType'-Objekt ist nicht subscriptable
Ich verwende folgenden Quellcode
# -------------------------------------------------------#
# Data clustering model #
# -------------------------------------------------------#
# Bibliotheken importieren
importiere numpy als np
import matplotlib.pyplot as plt
importiere MetaTrader5 als mt5
von talib importieren abstrakt als tl
import sklearn.cluster as cluster
from datetime import datetime as dt
# Verbinden mit dem MetaTrader 5 Terminal
if not mt5.initialize():
print("initialize() failed, error code =",mt5.last_error())
quit()
# Herunterladen von Kursen
Kurse=mt5.copy_kurse_bereich('EURUSD',mt5.TIMEFRAME_H1,dt(2006,1,1),dt(2022,1,1))
mt5.shutdown()
# Indikatorwerte berechnen
rsi=tl.RSI(Kurse['Schluss'])
cci=tl.CCI(kurse['hoch'],kurse['tief'],kurse['schluss'])
macd,macdsignal,macdhist=tl.MACD(kurse['close'])
# Gruppieren der Trainingsstichprobe
data=np.array([rates['close']-rates['open'],rates['high']-rates['close'],rates['close']-rates['low'],rsi,cci,macd,macdsignal,macdhist]).T
s=data.shape[0]
data=np.hstack([data[40+k:s-20+k] for k in range(0,20)])
# Clustering mit einer anderen Anzahl von Clustern durchführen
R=bereich(50,1000,50)
KM = (cluster.KMeans(n_clusters=k).fit(data) for k in R)
distance=(k.transform(data) for k in KM)
dist = (np.min(D, axis=1) für D in distance)
avgWithinSS = [sum(d) / data.shape[0] for d in dist]
# Plotten der Trainingsergebnisse des Modells
plt.plot(R, avgWithinSS)
plt.xlabel('$Clasters$')
plt.title('Loss dynamic')
# Anzeige der generierten Graphen
plt.show()
Vielen Dank für die Hilfe
Rogerio
mt5.shutdown()
# Indikatorwerte berechnen
rsi=tl.RSI(rates['close'])
cci=tl.CCI(Kurse['hoch'],Kurse['tief'],Kurse['Schluss'])
macd,macdsignal,macdhist=tl.MACD(kurse['close'])
# Gruppieren Sie die Trainingsstichprobe
data=np.array([rates['close']-rates['open'],rates['high']-rates['close'],rates['close']-rates['low'],rsi,cci,macd,macdsignal,macdhist]).T
s=data.shape[0]
data=np.hstack([data[40+k:s-20+k] for k in range(0,20)])
# Clustering mit einer anderen Anzahl von Clustern durchführen
R=range(50,1000,50)
KM = (cluster.KMeans(n_clusters=k).fit(data) for k in R)
distance=(k.transform(data) for k in KM)
dist = (np.min(D, axis=1) for D in distance)
avgWithinSS = [sum(d) / data.shape[0] for d in dist]
# Plotten der Trainingsergebnisse des Modells
plt.plot(R, avgWithinSS)
plt.xlabel('$Clasters$')
plt.title('Verlustdynamik')
# Generierte Graphen anzeigen
plt.show()
Vielen Dank für die Hilfe
Rogerio
Hallo Rogerio.
Haben Sie TA-Lib : Technical Analysis Library installiert ?
- TA-LIB.org
- ta-lib.org

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Neuronale Netze leicht gemacht (Teil 14): Datenclustering :
Es ist mehr als ein Jahr her, dass ich meinen letzten Artikel veröffentlicht habe. Das ist eine ganze Menge Zeit, um Ideen zu überarbeiten und neue Ansätze zu entwickeln. In dem neuen Artikel möchte ich von der bisher verwendeten Methode des überwachten Lernens abweichen. Diesmal werden wir uns mit Algorithmen des unüberwachten Lernens beschäftigen. Wir werden insbesondere einen der Clustering-Algorithmen - K-Means - betrachten.
Wie Sie sehen, können unüberwachte Lernalgorithmen zur Lösung verschiedener Probleme eingesetzt werden. Aber wie können sie im Handel eingesetzt werden? Lasst uns nachdenken. Grafische Analysemethoden beinhalten fast immer bestimmte Chartmuster: Double Top / Double Bottom, Kopf und Schultern, Flahne, verschiedene harmonische Muster, usw. Darüber hinaus gibt es viele kleinere Muster, die aus 1 bis 3 Kerzen bestehen. Wenn wir aber versuchen, ein bestimmtes Muster in mathematischer Sprache zu beschreiben, müssen wir uns mit einer großen Anzahl von Konventionen und Toleranzen auseinandersetzen. Dies erschwert ihre Verwendung im algorithmischen Handel. Selbst wenn ein menschlicher Händler die Muster bestimmt, gibt es eine Menge Subjektivität. Deshalb finden verschiedene Händler bei der Analyse ein und desselben Chartmuster, die oft gegenläufige Vorhersagebewegungen aufweisen. Nun, vielleicht ist dies die Grundregel des gesamten Handels. Einige machen Gewinn, andere verlieren. Im Handelsprozess werden keine neuen Warenwerte geschaffen, während die Geldmenge unverändert bleibt. Sie wird nur von einer Brieftasche zur anderen verschoben. Wie können wir also Verluste vermeiden?
Werfen wir noch einmal einen Blick auf die oben erwähnten Chartmuster. Ja, sie haben alle ihre Varianten. Aber gleichzeitig hat jedes Muster seine eigene spezifische Struktur, die es von der allgemeinen Kursbewegungsgrafik unterscheidet. Wie wäre es also, wenn wir unüberwachte Datencluster-Algorithmen verwenden, damit das Modell alle möglichen Variationen in den Daten über einen bestimmten Zeitraum identifizieren kann. Da wir unüberwachtes Lernen verwenden, müssen die Daten nicht gekennzeichnet werden, und der Zeitraum kann recht groß sein. Vergessen Sie jedoch nicht, dass eine Vergrößerung des Zeitraums der Historie die Kosten der Modellschulung erhöht.
Autor: Dmitriy Gizlyk