記事"MetaTrader5 と Python インテグレーション: データの受信と送信"についてのディスカッション - ページ 11 1...4567891011 新しいコメント atemosfair 2024.03.06 11:36 #101 ありがとう。この記事は素晴らしい。とても助かったよ。 Too Chee Ng 2024.12.18 11:39 #102 ただ、なぜOnTick()の中でsocket=SocketCreate()とSocketClose()を呼び続ける必要があるのでしょうか? ソケットのオープン/アライブを維持しないのでしょうか?というより、ソケットをオープン/アライブに保つことは可能ですか? Alex FXPIP 2025.02.14 10:21 #103 Ernesto Che 描画するためのデータの リクエストを送信します。あなたの例ではpythonは2つの値を返しますが、私はそれぞれ3つの座標点を持つ最大12の異なる構造体のデータを返さなければなりません。 最初は、mt5が一度にすべての構造を記述した長い文字列を返さないという事実に行き詰まりました。いくつかの短いクエリを通して交換を行った。すべてうまくいっているように見えるが、ときどきうまくいかないことがある。 タイムアウトの設定に問題があるようです。解決策を見つけるための方向性を教えてください。 よろしくお願いします。 こんにちは!私もソケットを上げていました。私はpythonでインジケーターを書いています。mt5からたくさん、好きなだけデータを取りますが、mt5にデータを返すのはそう簡単ではありません。ソケットでは、100個までの小さな文字列を送信することができます。Python->MT5間のデータ交換について、ソケット以外にどのようなソリューションがありますか? また、Python->MT5間のデータ交換について、Web/インターネットリクエスト以外にどのようなソリューションがありますか? このためにMySQL DBを上げたくありません。PythonからMT5に約40の通貨ペアと1000の再計算された読み取り値の履歴を転送し、さらにMT5でインジケータのラインを構築することについて話しています。そのため、1秒に1回文字列で送信される最後のバーだけでなく、インジケータのすべての行を見たいと思っています。 どなたか何か便利なアドバイスをいただけないでしょうか? TCP/IPソケット - MT5はいずれにせよ1つの文字列を受信し、それは30,000のデータに適合しません...。jasonフォーマットでも1文字列変数の限界は100文字列までです。 Python-->MySQL-->MT5 このようなアイデアも思いつきました: Pythonのmultiprocessing.shared_memoryとMQL5のWinAPIを使えば、メモリから直接データを読むことができる。 Maxim Kuznetsov 2025.02.14 10:52 #104 Alex Renko #: Python->MT5間のデータ交換のウェブ/インターネット・リクエスタを除いて?MySQL DBを持ち出したくない。 「MT5にはSQLiteが 組み込まれていますし、Pythonにも当然SQLiteが あります。 ソケットを使って必要なもの(シグナル、アラートなど)を迅速に報告し、ビッグデータをSQLiteに入れることができます。つまり、pythonでは必要なものをすべてデータベースに入れ、"データ更新 "ソケットで笛を吹く。そしてMQLでは、その笛を合図にデータベースを読み直すことができる。 データベース自体はフレームディスクに保存できる。 Alex FXPIP 2025.02.18 03:19 #105 Maxim Kuznetsov #:「MT5にはSQLiteが 組み込まれている。ソケットを使って必要なもの(シグナル、アラートなど)を迅速に報告し、ビッグデータをSQLiteに入れる。つまり、pythonでは必要なものすべてをデータベースに入れ、"データ更新 "ソケットで笛を吹く。そしてMQLでは、その笛を合図にデータベースを読み直すことができる。データベース自体はフレームディスクに保存できる。 なるほど、ご回答ありがとうございます。 MetaTrader 5は独自のプログラミング言語MQL5を 使用しており、孤立したプロセスで実行されます。このため、低レベルAPIを使用する他のアプリケーションのように、オペレーティングシステムの共有メモリと直接やり取りすることはできません。 シェルの中のシェル......。マック用のネイティブ・バージョンを作れないまま20年...。 Maxim Kuznetsov 2025.02.18 04:50 #106 Alex Renko #:ご回答ありがとうございます。 MetaTrader 5は独自のプログラミング言語MQL5を 使用しており、孤立したプロセスで実行されます。このため、低レベルAPIを使用する他のアプリケーションのように、オペレーティングシステムの共有メモリと直接やり取りすることはできません。 シェルの中のシェル......。マック用のネイティブ・バージョンを作れないまま20年...。 DLLを使うことは誰も禁じていない。 メモリを直接検索することもできる(おそらく速くはない :-))。 あるいは、インメモリ・キーバリューDBのような効率的な中間ソリューションもある。 ほとんどの場合、ブレーキとボトルネックはPython側にあります。 Stefano Cerbioni 2025.10.09 08:42 #107 私の場合、動作しない例 誰か理由を知っていますか? 私はオプション127.0.0.1:9090に設定 私はpython socketserver.pyを実行し、EA socketclientEA.ex5を実行(charをucharに修正した後)それを実行しますが、私はこのエラーを再実行します。 2025.10.09 10:41:44.665 socketclientEA (#GDAXIm,H1) 接続 localhost:9090 エラー 4014 1...4567891011 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ただ、なぜOnTick()の中でsocket=SocketCreate()とSocketClose()を呼び続ける必要があるのでしょうか?
ソケットのオープン/アライブを維持しないのでしょうか?というより、ソケットをオープン/アライブに保つことは可能ですか?
こんにちは!私もソケットを上げていました。私はpythonでインジケーターを書いています。mt5からたくさん、好きなだけデータを取りますが、mt5にデータを返すのはそう簡単ではありません。ソケットでは、100個までの小さな文字列を送信することができます。Python->MT5間のデータ交換について、ソケット以外にどのようなソリューションがありますか? また、Python->MT5間のデータ交換について、Web/インターネットリクエスト以外にどのようなソリューションがありますか? このためにMySQL DBを上げたくありません。PythonからMT5に約40の通貨ペアと1000の再計算された読み取り値の履歴を転送し、さらにMT5でインジケータのラインを構築することについて話しています。そのため、1秒に1回文字列で送信される最後のバーだけでなく、インジケータのすべての行を見たいと思っています。
Pythonのmultiprocessing.shared_memoryとMQL5のWinAPIを使えば、メモリから直接データを読むことができる。どなたか何か便利なアドバイスをいただけないでしょうか?
TCP/IPソケット - MT5はいずれにせよ1つの文字列を受信し、それは30,000のデータに適合しません...。jasonフォーマットでも1文字列変数の限界は100文字列までです。
Python-->MySQL-->MT5
このようなアイデアも思いつきました:
Python->MT5間のデータ交換のウェブ/インターネット・リクエスタを除いて?MySQL DBを持ち出したくない。
「MT5にはSQLiteが 組み込まれていますし、Pythonにも当然SQLiteが あります。
ソケットを使って必要なもの(シグナル、アラートなど)を迅速に報告し、ビッグデータをSQLiteに入れることができます。つまり、pythonでは必要なものをすべてデータベースに入れ、"データ更新 "ソケットで笛を吹く。そしてMQLでは、その笛を合図にデータベースを読み直すことができる。
データベース自体はフレームディスクに保存できる。
「MT5にはSQLiteが 組み込まれている。
ソケットを使って必要なもの(シグナル、アラートなど)を迅速に報告し、ビッグデータをSQLiteに入れる。つまり、pythonでは必要なものすべてをデータベースに入れ、"データ更新 "ソケットで笛を吹く。そしてMQLでは、その笛を合図にデータベースを読み直すことができる。
データベース自体はフレームディスクに保存できる。
なるほど、ご回答ありがとうございます。
MetaTrader 5は独自のプログラミング言語MQL5を 使用しており、孤立したプロセスで実行されます。このため、低レベルAPIを使用する他のアプリケーションのように、オペレーティングシステムの共有メモリと直接やり取りすることはできません。
シェルの中のシェル......。マック用のネイティブ・バージョンを作れないまま20年...。
ご回答ありがとうございます。
MetaTrader 5は独自のプログラミング言語MQL5を 使用しており、孤立したプロセスで実行されます。このため、低レベルAPIを使用する他のアプリケーションのように、オペレーティングシステムの共有メモリと直接やり取りすることはできません。
シェルの中のシェル......。マック用のネイティブ・バージョンを作れないまま20年...。
DLLを使うことは誰も禁じていない。
メモリを直接検索することもできる(おそらく速くはない :-))。
あるいは、インメモリ・キーバリューDBのような効率的な中間ソリューションもある。
ほとんどの場合、ブレーキとボトルネックはPython側にあります。