Diskussion zum Artikel "Integration von MetaTrader 5 und Python: Daten senden und empfangen" - Seite 10

[Gelöscht]  
Maxim Dmitrievsky:
Sehen Sie sich das Beispiel aus meinem letzten Artikel an. Hier wurde eine alte Version des Pakets verwendet. Und die muss natürlich zuerst mit pip install installiert werden.

Danke, Maxim. Ich habe mir das Beispiel schon vor der Frage angesehen ))) Aber meine Erfahrung erlaubt es mir nicht, die Unterschiede sofort zu erkennen. Aber ich werde lernen )))

 
Meine Herren, es ist unangenehm zu fragen (ich fühle mich die Frage ist dumm), aber dieses Ding - SocketCreate() weiß, wie man Strategien Tester?
[Gelöscht]  
immediacy:
Meine Herren, es ist unangenehm zu fragen (ich fühle mich die Frage ist dumm), aber dieses Ding - SocketCreate() weiß, wie man Strategien Tester?

Nein

 

Guten Tag! Beim Starten von socketserver erhalte ich folgende Fehlermeldung: help me please "dummy")

Traceback (most recent call last):

Datei "C:C:{python\Socket_client-server\Socket client-server\socketserver\socketserver.py", Zeile 48, in <module>
serv = socketserver('127.0.0.1', 9090)
Datei "C:C:\python\Socket_client-server\Socket client-server\socketserver.py", Zeile 15, in __init__
self.sock.bind((self.adress, self.port)))
AttributeError: Objekt 'socketserver' hat kein Attribut 'adress'
>>>
 

Hallo, interessanter Artikel. Danke dafür.


Ich habe mich gefragt. Warum haben Sie sich entschieden, den Server in Python und den EA als Client in MT5 zu implementieren?


Wäre es nicht natürlicher, den Server als EA in MT5 zu haben, der die Daten liefert und die Trades ausführt, und den/die Client(s) in Python, der die Daten verarbeitet und die Handelsentscheidungen trifft, die an den Server gesendet werden?


Gibt es einen offensichtlichen Vorteil bei der Verwendung des Clients als EA und des Servers in Python, den ich übersehe?



Wenn ich mich richtig erinnere, wurde in der Vergangenheit mit ZeroMQ der Server als EA in MT5 und der Client in Python eingesetzt.

 
yogibass:

@Maxim Dmitrievsky

Ich wollte mich nur dafür bedanken, dass Sie dies zur Verfügung gestellt haben. Ich wollte schon immer in der Lage sein, meine Indikatoren in Python zu programmieren, und seit Sie diesen Thread gestartet haben, kann ich auf Echtzeit-Futures-Daten zugreifen und sie zur Entwicklung und Ausführung meiner Indikatoren verwenden. Ich verwende mein Python, um den Live-Feed zu analysieren und zu zeichnen, und ich platziere meine Trades über die MT5-Plattform - es funktioniert hervorragend. Bitte machen Sie weiter so und ich hoffe wirklich, dass Python von der MT-Gemeinschaft voll akzeptiert wird.

Vielen Dank und beste Grüße!

Hallo, ich möchte mt5 mit Live-Daten über eine Api verbinden. Denn in meinem Land gibt es keine zugelassenen Broker oder Datenanbieter, die mt5 unterstützen. Können Sie pls mir helfen.
 
Maxim Dmitrievsky #:

Hi, sockets don't work in tester at this time. Also, you mus add localhost to allowed webrequests in mt5 settings



nachdem ich den localhost hinzugefügt habe, wird immer noch die Fehlermeldung '4014' angezeigt

 

Vielen Dank für die vollständige Beschreibung.

Ich habe eine Frage:

Ist es möglich, ein Skript vom Typ .ex5 über einen Befehl in der Python-Umgebung auszuführen?

Ich möchte es über Python ausführen, und das Skript speichert die Ergebnisse in einer Excel-Datei, so dass ich die Excel-Daten wieder in meiner Website oder Android-Programm verwenden kann.

Ich danke Ihnen vielmals.

 
Hallo Maxim.
Dein Artikel über die Integration von Python und mt5 hat mich ermutigt, tiefer in das Thema einzutauchen. Ich habe schon viel in Python geschrieben und dabei fast alle Funktionen der Bibliothek verwendet.
Es ergab sich die Notwendigkeit, etwas in einem Chart in mt5 zu zeichnen, das in Python berechnet wurde. Ausgehend von Ihrem Code über die Kommunikation via Socket habe ich das folgende Szenario geschrieben: Bei einem Klick in die Ecke des Charts sendet mt5 eine Anfrage nach Daten, um Fibs und Channels zu zeichnen. In Ihrem Beispiel gibt Python zwei Werte zurück, aber ich muss Daten für bis zu 12 verschiedene Strukturen mit jeweils drei Koordinatenpunkten zurückgeben.
Zunächst blieb ich mit der Tatsache hängen, dass mt5 nicht einen langen String zurückgibt, der alle Strukturen auf einmal beschreibt. Ich habe den Austausch durch mehrere kürzere Abfragen vorgenommen. Alles scheint zu funktionieren, aber von Zeit zu Zeit.
Irgendetwas sagt mir, dass es an der Timeout-Einstellung liegt. Könnten Sie mir bitte eine Richtung vorschlagen, um eine Lösung zu finden?
Ich bin Ihnen im Voraus dankbar
 

Hallo - Kann mir bitte jemand helfen!!!


Ich versuche, diesen Code in Python auszuführen und erhalte immer wieder einen Fehler:


Unten ist mein Code und er führt zu dem Fehler:


>>> # Kopieren von Daten in den Datenrahmen

>>> d = pd.DataFrame()

>>> for i in sym:

... rates = mt.copy_rates_from_pos(i, mt.TIMEFRAME_M1, 0, 1000)

Datei "<stdin>", Zeile 2

rates = mt.copy_rates_from_pos(i, mt.TIMEFRAME_M1, 0, 1000)

^

IndentationError: erwartete einen eingerückten Block

>>> d[i] = [y.close for y in rates]

Traceback (letzter Aufruf):

Datei "<stdin>", Zeile 1, in <module>

Datei "<stdin>", Zeile 1, in <listcomp>

AttributeError: Das Objekt 'numpy.void' hat kein Attribut 'close'


# sbcapitalfx Heat Map - version 1.0



import MetaTrader5 as mt

import pandas as pd

from datetime import datetime

import matplotlib.pyplot as plt



# Initializing MT5 connection 



mt.initialize()



login = ************

password = ' ************ '

server = 'MetaQuotes-Demo'



mt.login(login,password,server)



# Create currency watchlist for which correlation matrix is to be plotted

sym = ['EURUSD','USDJPY','USDCHF','USDNZD']



# Copying data to dataframe

d = pd.DataFrame()

for i in sym:

        rates = mt.copy_rates_from_pos(i, mt.TIMEFRAME_M1, 0, 1000)

        d[i] = [y.close for y in rates]