古いバージョンを使用していて、あたらに新しいバージョンをインストールする際に新しいバージョンに環境を変えたい時に下記のチェックマークを入れる。
注意として新しいバージョンに変更するとインポートしたライブラリは再度インポートが必要になります。
インポートがが必要な場合
- 新旧のPythonバージョン間で、ライブラリのAPIに互換性がない場合
- システム全体で使用するPythonバージョンを変更した場合
- 仮想環境を使っていて、その環境のPythonバージョンを変更した場合
この場合、ライブラリの新しいバージョンをインストールし、再インポートする必要があります。
MT5へ接続
下記のコードを実行する。
import MetaTrader5 as mt5
mt5.initialize()
or
mt5.initialize(path, account = <ACCOUNT>, password = <"PASSWORD">,
server = <"SERVER">, timeout = 60000, portable = False
例.
import MetaTrader5 as mt5
if not mt5.initialize(login = 562175752, server = "MetaQuotes-Demo", password = "abc"):
print("initialize() failed, error code =", mt5.last_error())
quit()
- pathパラメーターは、ターミナル ファイル ( metatrader64.exe )へのパスを設定します(これは他のパラメーターとは異なり、名前のないパラメーターであるため、指定する場合はリストの最初に来る必要があります)。
パスが指定されていない場合、モジュールは独自に実行可能ファイルを見つけようとします 。曖昧さを排除するには、パラメーターを指定して関数の 2 番目の形式を使用します。 - accountパラメーターでは、取引口座の番号を指定できます。指定しない場合は、ターミナルの選択されたインスタンス内の最後の取引口座が使用されます。
- 取引口座のパスワードはパスワードパラメータで指定されますが、省略することもできます。この場合、指定された取引口座の端末データベースに保存されているパスワードが自動的に置き換えられます。
- serverパラメータは、取引サーバー名(ターミナルで指定されているとおり)と同様の方法で処理されます。指定されていない場合は、指定された取引口座のターミナルデータベースに保存されているサーバーが自動的に置き換えられます。
- timeoutパラメーターは、接続に指定されたタイムアウトをミリ秒単位で示します (タイムアウトを超えると、エラーが発生します)。デフォルト値は 60000 (60 秒) です。
- portableパラメータには、ターミナルをポータブル モードで起動するためのフラグが含まれています (デフォルトはFalse )。
- この関数は、MetaTrader 5 ターミナルへの接続に成功した場合はTrueを返し、それ以外の場合はFalse を返します。
- 必要に応じて、 initialize を呼び出すときに、MetaTrader 5 ターミナルを起動できます。
ログイン関数は、指定されたパラメーターを使用して取引口座にも接続します。ただし、これは端末との接続がすでに確立されていることを意味します。つまり、この機能は通常アカウントを変更するために使用されます。
bool login(account, password = <"PASSWORD">, server = <"SERVER">, timeout = 60000)
取引口座番号は口座パラメータで提供されます。これは必須の名前のないパラメータであり、リストの最初に指定する必要があることを意味します。
password 、server 、およびtimeoutパラメータは、initialize関数の関連パラメータと同じです。
この関数は、取引口座への接続が成功した場合はTrueを返し、それ以外の場合はFalse を返します。
shutdown()
シャットダウン関数は、以前に確立された MetaTrader 5 ターミナルへの接続を閉じます。
上記の関数の例は次のセクションで説明します。
接続が確立されると、スクリプトは端末のバージョンを見つけることができます。
tuple version()
version関数は、MetaTrader 5 ターミナルのバージョンに関する簡単な情報を、バージョン番号、ビルド番号、ビルド日の 3 つの値のタプルとして返します。
フィールドの種類 |
説明 |
---|---|
integer |
MetaTrader 5 ターミナル バージョン (現在、500) |
integer |
ビルド番号 (例: 3456) |
string |
ビルド日 (例: '2022 年 2 月 25 日') |
エラーが発生した場合、関数はNoneを返し、エラー コードはlast_errorを使用して取得できます。
端末に関するより完全な情報は、terminal_info関数を使用して取得できます。
接続エラー
IPC initialize failed, Pipe server didn't answer in 60 sec
上記エラーが出た時には再インストールしたら解消されました。