test.py started test.py 1 1
Traceback (most recent call last): test.py 1 1
MT5Initialize() test.py 1 1
NameError: name 'MT5Initialize' is not defined test.py 1 1
test.py finished in 389 ms 1 1
Python 3.8.1 (tags/v3.8.1:1 b293b6, Dec 182019, 23:11:46) [MSC v.191664 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()"for more information.
>>>
= RESTART: C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Scripts\Python\metatrader5-test.py
Traceback (most recent call last):
File "C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Scripts\Python\metatrader5-test.py", line 2, in <module>
from MetaTrader5 import *
File "E:\Programs\Python\Python38\lib\site-packages\MetaTrader5\__init__.py", line 35, in <module>
from .C import *
ImportError: DLL load failed while importing C: Не найден указанный модуль.
>>>
Торговая платформа обладает множеством настроек, что позволяет организовать работу в ней так, как это удобно именно вам. Выполните команду " Настройки" меню "Сервис" или нажмите "Ctrl+O". Графики — общая настройка отображения ценовых графиков, а также настройка параметров управления объектами: выделение объектов после их создания, немедленная...
Pythonスクリプトをエディタでコンパイルすることは、エディタ内で実行することを意味します。
エラーウィンドウとログの出力を見てください。ログにはメイン出力が、エラーウィンドウには標準エラー出力が表示されます。
Pythonスクリプトをエディタでコンパイルすることは、エディタ内で実行することを意味します。
エラーウィンドウとログの出力を見てください。ログにはメイン出力が、エラーウィンドウには標準エラー出力が表示されます。
なるほど、「エラー」ウィンドウにエラーは表示されません。
が、ログウィンドウでは、スクリプトは私のアクションを待っているのでしょう。
私の理解では、フィードバックがないだけです(たぶんまだない)。
そして、ポスト#1 (https://www.mql5.com/ru/forum/306688 ) の例を実行しようとします - matplotlibパッケージとMetaTrader5をインストールしました。
最初の投稿にあるサンプルを実行しようとしている
エラーで
インログ
を実行しても何も起こりません(ターミナルも同時に起動しています)。
Pythonスクリプトをエディタでコンパイルすることは、エディタ内で実行することを意味します。
エラーウィンドウとログの出力を見てください。ログにはメイン出力が、エラーウィンドウには標準エラー出力が表示されます。
つまり、.pyスクリプトは.ex5にはコンパイルされないのですか?
そして、ナビゲーターから実行する。
なるほど、"Errors "ウィンドウにエラーは出ていないんですね。
が、「ログ」ウィンドウでは、スクリプトが私のアクションを待っているのでしょう。
私の理解では、フィードバックがないだけです(たぶんまだない)。
そして、ポスト#1 (https://www.mql5.com/ru/forum/306688 ) の例を実行しようとします - matplotlibパッケージとMetaTrader5をインストールしました。
最初の投稿にあるサンプルを実行しようとしている
エラーで
インログ
を実行しても何も起こりません(ターミナルは起動しています)。
MetaTrader5 のライブラリがインストールされていないため、実行してください。
はすべて動作します。
つまり、.pyスクリプトは.ex5にはコンパイルされないのですか?
そして、ナビゲーターから実行する。
もちろん、コンパイルはしませんが、ナビゲータに *.py プログラムとして表示され、別の端末スレッドで非表示に実行されることになります。
MetaTrader 5 Python ライブラリによるターミナルとの通信。
MetaTrader5 のライブラリには付属していませんので、実行してください。
はすべて動作します。
ライブラリがインストールされています。
(matplotlibで すぐに入れました)
追記:そして、pythonでは実行されません。
もちろん、コンパイルはされませんが、navigatorで*.pyプログラムとして表示され、ターミナルの別スレッドで非表示に実行されることになります。
Python用の組み込みMetaTrader 5ライブラリを介してターミナルと通信します。
Pythonのビジュアルノートブックのようなもので、コード全体が実行されるだけなんですね。
総集編のことで尻を叩いていたのですが、総集編はすごいことになっていたでしょう。
つまり、標準的な.pyから.exeへのコンパイルでは、リバースエンジニアリングに対する保護がほとんどないのです。無駄といえば無駄なんですけどね。
.pyが.ex5にコンパイルされれば、mql5が.ex5で十分に保護された実行ファイルにコンパイルされるという驚異的な点で本当にmql5を後押ししてくれるでしょう。
Pythonはこれを世界的な問題として持っている、考えてみてください。特にpythonは.exeにコンパイルするため、CまたはC++のようなコンパイラを使用します。
そして、mql5はLLVMを使用しています。
pythonをアンインストールしました。3.8.1 x64をインストールしました。
Pythonで実行すると、以下のようなエラーが発生するようになりました。
図書館が立つ。
(matplotlibと 一緒にすぐに提供されました)
追記:そして、pythonでは実行されません。
Python 3.8を使用していますが、多くのライブラリが3.8に対応していないため、3.7.6を推奨します。
1) コマンドラインから、スクリプトを確認する。
2) PATHにpythonのパスがあることを確認します。
3) Pythonのコピーが1つだけで、他のバージョンと競合していないことを確認します。
4) エディタにある1コピーのPythonへのパスが正しいことを確認します。
Visual Studioの ような異なる環境から間接的にインストールされたPythonの動物園があることはよくあることです。
そして、ポスト#1 (https://www.mql5.com/ru/forum/306688 ) の例を実行しようとします - matplotlibパッケージとMetaTrader5をインストールしました。
最初の投稿にあるサンプルを実行しようとすると
エラーで
インログ
を実行しても何も起こりません(ターミナルも同時に起動しています)。
少し待つ必要があります - スクリプトは2019.01.28からのデータを要求します - それは時間がかかります。
2つ目の理由は、ターミナルで「ウィンドウ内の最大バー 数」が制限値で指定されていることです。
ヘルプに明示されているhttps://www.mql5.com/ru/docs/integration/python_metatrader5/mt5copyratesfrom_py
もし、本当にバーの数が問題なら、上限を変更するか、分単位で表示するようにスクリプトを修正すればよいでしょう。