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

 
Maxim Dmitrievsky:

Hallo zusammen

Hinweis

Die Verbindungsadresse sollte auf dem Client-Terminal in die Liste der zulässigen Adressen aufgenommen werden (Extras \ Optionen \ Expert Advisors).

Wenn die Verbindung fehlschlägt, wird der Fehler 5272 (ERR_NETSOCKET_CANNOT_CONNECT) in_LastError geschrieben.

Die Funktion kann nur von Expert Advisors und Skripten aus aufgerufen werden, da diese in ihren eigenen Ausführungsthreads laufen. Bei einem Aufruf aus einem Indikator gibt GetLastError() den Fehler 4014 - "Funktion darf nicht aufgerufen werden" zurück .



https://www.mql5.com/en/docs/network/socketconnect


Hallo Maxim Dmitrievsky,

ich habe den localhost zugelassen und es funktioniert richtig.Vielen Dank dafür! Aber als ich im Backtest mit dem Strategy Tester arbeitete, blieb der Fehler 4014 bestehen. Funktioniert der Socket nicht mit Backtest?

Mit freundlichen Grüßen
 
auuuuu1628:

Hallo Maxim Dmitrievsky,

Ich habe den localhost zugelassen und es funktioniert richtig.Vielen Dank dafür! Aber als ich im Backtest mit dem Strategy Tester arbeitete, blieb der Fehler 4014 bestehen. Funktioniert der Socket nicht mit Backtest?

Mit freundlichen Grüßen

Ja, alles klar. Metaquotes hat diese Funktion im Backtester deaktiviert, aber sie sagen, dass dies vielleicht in naher Zukunft möglich sein wird.

 

Warum wird "xxx" nicht sofort nach Erhalt einer Antwort vom Server geschlossen, anstatt weiter auf die Antwort zu warten, bis TimeOut erreicht wird?

Ich beziehe mich auf das erstaunliche Programm, das von @MaximDmitrievsky entwickelt wurde -> https://www.mql5.com/de/articles/5691

(( Die Funktion socketreceive() lauscht auf einem Port und gibt ihn als String zurück, wenn eine Antwort vom Server kommt: ))

string socketreceive(int sock, int timeout) {
        char rsp[];
        string result = "";
        uint len;
        uint timeout_check=GetTickCount()+timeout;
        do {
                len=SocketIsReadable(sock); 
                if(len){
                        int rsp_len;
                        rsp_len = SocketRead(sock,rsp,len,timeout);
                        if(rsp_len>0){
                                result+=CharArrayToString(rsp,0,rsp_len); 
                        }
                }
        } while((GetTickCount()<timeout_check) && !IsStopped());
        return result;
}

Herzlichen Glückwunsch zu diesem großartigen Artikel.

Maxim Dmitrievsky
Maxim Dmitrievsky
  • www.mql5.com
Опубликовал статью Грокаем "память" рынка через дифференцирование и энтропийный анализ Область применения дробного дифференцирования достаточно широка. Например, алгоритмы машинного обучения, обычно, принимают дифференцированный ряд на вход. Проблема в том, что необходимо вывести новые данные в...
 
Hallo!
Ich habe mich gefragt, wie ich die Live-Daten von mql5 erhalten und sie an meine Liste oder meinen Datenrahmen anhängen kann.
Im Moment kommt ein Tupel aus den Metatrader-Befehlen und wird in einen Datenrahmen umgewandelt, aber was ist, wenn wir die Daten weiterhin erhalten und an den Datenrahmen anhängen wollen?
Tnx maxim, Sie haben eine große Hilfe gewesen
 

Guten Morgen, ich erhalte einen DLL-Fehler

Traceback (letzter Aufruf):

Datei "teste_conexao.py", Zeile 2, in <module>
von MetaTrader5 importieren *
Datei "C:\Users\anton\AppData\Local\Programme\Python\Python37\lib\site-packages\MetaTrader5\__init__.py", Zeile 35, in <module>
from .C import *

ImportError: DLL-Laden fehlgeschlagen: Das angegebene Modul konnte nicht gefunden werden.


Weiß jemand, was ich falsch mache?

 

<Löschen>

Dies ist ein englischsprachiges Forum. Bitte posten Sie nur auf Englisch.

 

Hallo,

Könnte jemand einen Beispielcode schreiben, wie man eine 'Buy' oder 'Sell' Position von Python aus öffnet und auch wie man diese Position schließt?

Oder ist das vielleicht gar nicht möglich?

Vielen Dank!

 
Antonio Batista:

Guten Morgen, ich erhalte einen DLL-Fehler

Traceback (letzter Aufruf):

Datei "teste_conexao.py", Zeile 2, in <module>
von MetaTrader5 importieren *
Datei "C:\Users\anton\AppData\Lokal\Programme\Python\Python37\lib\site-packages\MetaTrader5\__init__.py", Zeile 35, in <module>
from .C import *

ImportError: DLL-Laden fehlgeschlagen: Das angegebene Modul konnte nicht gefunden werden.


Weiß jemand, was ich falsch mache?

Hallo Antonio,

dieser Fehler tritt normalerweise auf, wenn Sie versuchen, die Bibliothek auf einem Python zu installieren, das nicht Python für Windows ist. Versuchen Sie, https://www.python.org/downloads/ zu installieren und sehen Sie, ob der Fehler dadurch behoben wird.


Vielen Dank

Download Python
Download Python
  • www.python.org
The official home of the Python Programming Language
 

Das MetaTrader5-Modul funktioniert nicht

import MetaTrader5 as mt5 funktioniert wie folgt

aber wenn von MetaTrader5 import * (ich verbinde es komplett, es geht in Pycharme aus).

Kann mir jemand sagen, was das Problem ist?????

 

wie man einen Metatrader5-Indikator mit Python verbindet.


Danke