Mittlerweile haben wir Anaconda in Betrieb genommen und eine Umgebung geschaffen.
Meine Umgebung heißt FXCMAPI und wenn ich den Anaconda-Prompt öffne, kann ich mit dem folgenden Befehl in die neue Umgebung wechseln.
activate FXCMAPI
Jetzt müssen wir git verwenden, um das Repository zu klonen. Nach der Dokumentation sollte das entweder mit Hilfe von git clone https://github.com/fxcm/fxcmpy/ – but pip install fxcmp should also do the job.
Allerdings startet pip den Download für mehrere Dateien, es dauert einige Zeit…..
Die FXCM-Dokumentation besagt, dass wir von Zeit zu Zeit ein Upgrade durchführen sollten, indem wir pip install fxcmpy –upgrade verwenden.
Nach Abschluss der Installation starten wir ein Jupyter-Notebook in unserer FXCMAPI-Umgebung. Dies geschieht mit dem folgenden Befehl.
jupyter notebook
Es dauert noch ein paar Sekunden, danach entwickelt mein Brower eine Website für die Jupyter-Notebooks. Heute habe ich gelernt, dass wir Firefox oder Chrome brauchen, weil Jupyter-Notebooks nicht mit dem Internet Explorer funktionieren.
Mein Browserfenster zeigt mir die Dateistruktur des Benutzerordners an.
Jetzt klicke ich auf NEW > Python3, um ein neues Notebook zu erstellen.
Das neue Notebook wird auch FXCMAPI genannt, weil ich später verstehen will, was sich in diesen Notebook-Dateien befindet.
Im Notebook werden wir fxcmpy importieren. Aber ich erhalte einen Fehler, der besagt, dass das Modul nicht verfügbar ist.
Also lasst uns den Anaconda-Navigator neu starten, um das zu beheben. Der Anaconda-Navigator zeigt meine neue Umgebung – aber es scheint, dass ich für diese Umgebung Jupyter-Notebooks installieren muss.
Also lassen Sie uns das beheben und klicken Sie auf den Install-Button, nachdem wir „Anwendungen auf FXCMAPI“ ausgewählt haben.
Das hat eine Weile gedauert und ich habe Anaconda danach neu gestartet. Aber als ich das FXCMAPI-Notebook ausgewählt habe, das wir vor wenigen Minuten erstellt haben, konnte ich fxcmpy fehlerfrei importieren. Es scheint auch zu funktionieren, denn es zeigt mir die installierte Version, wenn ich den folgenden Befehl verwende.
fxcmpy.__version__
Um mich zu verbinden, brauche ich noch einmal diesen Token, wo war das Ding noch mal???
Okay, ich habe es gefunden, also lasst uns eine weitere Zelle in jupyter erstellen, um das Token zu definieren.
Noch einmal habe ich ein paar Zeichen ausgelassen, da ich den Token für mein eigenes Konto verwenden werde.
Jetzt können wir eine neue Verbindung erstellen, indem wir den folgenden Befehl verwenden.
con = fxcmpy.fxcmpy(access_token=TOKEN, log_level=’error‘)
Bisher keine Antwort. Also lassen Sie uns herausfinden, ob unsere Verbindung funktioniert. Ich werde versuchen, die Währungspaare mit dem folgenden Befehl zu erhalten.
print(con.get_instruments())
Okay, es sieht so aus, als hätten wir eine funktionierende Verbindung in unserer FXCMAPI-Umgebung für jupyter. Das war nicht so schwer. Ich mag es wirklich, wenn Fortschritte ohne großen Aufwand möglich sind.
Eigentlich fange ich an zu glauben, dass all das Spaß machen wird. FXCM schlägt vor, dass wir eine Konfigurationsdatei verwenden sollten, um das Token im aktuellen Arbeitsverzeichnis zu speichern und es vor der Benutzeroberfläche zu verstecken.
Ich denke, das wird das erste sein, was für das nächste Python Trading Video.
Bisher bin ich froh zu sehen, dass viele meiner Lieblings-Währungspaare verfügbar sind.
Für mein RobotTradingSystem, das in MQL5 geschrieben ist, verwende ich gerne AUD/CAD, da ich in diesem Währungspaar die folgenden Ergebnisse liefern konnte.
Ich bin gespannt, ob ich das mit Python machen kann, aber ich fange an zu denken, dass es möglich ist. Wenn das der Fall ist, könnte ich automatisierte Systeme auf vielen Geräten einsetzen, da Python für fast alle Arten von Betriebssystemen und Prozessoren verfügbar ist.
Vorerst bin ich froh, dass wir die API-Verbindung herstellen konnten, um mit unserer neuen FXCMAPI-Umgebung in Anaconda zu arbeiten.
Im nächsten Teil werden wir uns mit der Konfiguration der API-Verbindung befassen und das Token in einer Datei speichern, um es vor der Benutzeroberfläche zu verstecken.
In diesem Tutorial geht es um kleine Schritte, denn für meine MQL4 und MQL5 Tutorials bekomme ich oft Fragen zu kleinen Dingen, die viel Zeit kosten könnten.
Ich habe seit 2014 mit automatisierten Systemen gehandelt, und oft dauert es viel Zeit, einen kleinen Fehler zu finden, der ein großes Problem verursachen könnte.
Ich denke, wir haben in kürzester Zeit bereits einen großen Fortschritt gemacht…