記事"MetaTrader5 と Python インテグレーション: データの受信と送信"についてのディスカッション - ページ 6

 
Maxim Dmitrievsky:

こんにちは

ノート

接続先アドレスは、クライアント端末側で許可リストに追加する必要があります(Tools ☑ Options ☑ Expert Advisors)。

接続に失敗した場合、エラー5272(ERR_NETSOCKET_CANNOT_CONNECT)が_LastErrorに 書き込まれます。

この関数は、Expert Advisorとスクリプトからのみ呼び出すことができます。インジケータから呼び出した場合、GetLastError() はエラー4014「Function is not allowed for call」を 返します



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


マキシム・ドミトリエフスキーさん、こんにちは、

localhostを許可したところ、正常に動作しています。ありがとうございます! しかし、Strategy Testerを使ってバックテストで実行したところ、エラー4014が持続しました。ソケットはバックテストでは動作しないのでしょうか?

よろしくお願いします。
 
auuuuu1628:

こんにちは、マキシム・ドミトリエフスキー、

localhostを許可したところ、正常に動作しています。ありがとうございます! しかし、Strategy Testerを使ってバックテストで実行したところ、エラー4014が持続しました。ソケットはバックテストでは動作しないのでしょうか?

よろしくお願いします。

はい、わかりました。Metaquotesはバックテスターで この機能を無効にしていますが、近い将来この機能を使えるようにするかもしれないとのことです。

 

TimeOutになるまで応答を待ち続けるのではなく、サーバーからの応答を受信したら即座に "xxx "を閉じてはどうだろう?

私は@MaximDmitrievsky 氏によって開発された素晴らしいプログラムを参照しています-> https://www.mql5.com/ja/articles/5691

(( socketreceive()関数はポートをリッスンし、サーバーからの応答があるとそれを文字列として返す:))

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;
}

この素晴らしい記事、おめでとうございます。

Maxim Dmitrievsky
Maxim Dmitrievsky
  • www.mql5.com
Опубликовал статью Грокаем "память" рынка через дифференцирование и энтропийный анализ Область применения дробного дифференцирования достаточно широка. Например, алгоритмы машинного обучения, обычно, принимают дифференцированный ряд на вход. Проблема в том, что необходимо вывести новые данные в...
 
こんにちは!
mql5からライブデータを取得し続け、それをリストやデータフレームに追加するにはどうしたらいいでしょうか?
現時点では、メタトレーダーコマンドからtoupleが出力され、データフレームに変換されますが、データとデータフレームへのatを取得し続けたい場合はどうすればよいのでしょうか?
ありがとうございました。
 

おはようございます。

トレースバック (最新の呼び出し):

ファイル "teste_conexao.py", 行 2, in<module
from MetaTrader5 import *.
ファイル "C:¥Usersanton¥PythonAppData¥Local¥Programs¥Python¥Python37¥lib¥MetaTrader5¥PythonPackages¥MetaTrader5.py", 行 35, in <module>
from .C import *" 行 35

ImportError: DLL load failed: 指定されたモジュールが見つかりません。


何が間違っているのか、どなたかご存知ですか?

 

<削除しました

ここは英語のフォーラムです。英語でのみ投稿してください。

 

こんにちは、

Pythonから'買い'または'売り'のポジションをオープンする方法と、そのポジションをクローズする方法のコード例をどなたか書いていただけませんか?

それともそれはできないのでしょうか?

ありがとうございます!

 
Antonio Batista:

おはようございます。

トレースバック (最新の呼び出し):

ファイル "teste_conexao.py", 行 2, in <module
from MetaTrader5 import *.
File "C:¥Usersanton¥PythonAppData¥Local¥Programs¥Python¥Python37¥lib¥MetaTrader5¥PythonPackages¥MetaTrader5__init__.py", line 35, in <module>
from .C import *

ImportError: DLL load failed: 指定されたモジュールが見つかりません。


何が間違っているのか、どなたかご存知ですか?

こんにちは、アントニオ、

このエラーは通常、Python for Windows 以外の Python にライブラリをインストールしようとしたときに起こります。https://www.python.org/downloads/ を インストールして、エラーが修正されるか試してみてください。


ありがとうございます。

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

MetaTrader5 モジュールが動作しない

import MetaTrader5 as mt5 はこのように動作します

しかし、MetaTrader5 から import * (完全に接続すると Pycharme で出てしまいます) すると、このように動作します。

何が問題なのでしょうか?

 

metatrader5 のインジケータを python に接続する方法。


ありがとうございます。