WSLにMetaTrader5をインストールする
はじめに
FXの自動売買ツールを作ってみようと思いMetaTrader5(MT5)のインストールから始めたのですが、思いのほか苦戦したので一旦ここまでで記録しておこうと思います。
環境
- Windows10
- WSL2(Ubuntu22.04)
インストールのポイント
- Pythonの
mt5
パッケージはWindows用なので、macやlinuxでは使用できません。
そのため、まずはwine
を使ってWindows用Pythonをインストールする必要があります。
インストールの流れ
- Ubuntuに
wine
をインストールする - Ubuntuにデスクトップ環境をインストールする
- MT5とWindows用Pythonをインストールする
- Ubuntuに
mt5linux
をインストールする
Ubuntuにwineをインストールする
sudo dpkg --add-architecture i386
sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources # Ubuntu22.04の場合
sudo apt update
sudo apt install --install-recommends winehq-stable
Ubuntuのバージョンが異なる場合は下記サイトを参考にしてください。
Ubuntuにデスクトップ環境をインストールする
ここで、WSLのUbuntuにデスクトップ環境を準備しておきます。
MT5とWindows用Pythonをインストールするためにwine
でexeファイルを実行する際に
GUI操作が必要になる(はず)ためです。
sudo apt-get install libgl1-mesa-dev xorg-dev xbitmaps x11-apps
sudo apt-get install ubuntu-desktop
次にWindows側の準備をします。
下記サイトを参考にVcXsrvをインストールし、起動しました。
最後にUbuntuデスクトップを起動します。
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
sudo service x11-common start
sudo service dbus start
gnome-shell --x11 -r
MT5とWindows用Pythonをインストールする
まずMT5をインストールします。
以下はUbuntuデスクトップのターミナルで実行します。
wine64 uninstaller
を実行した後、GUIでinstall→mt5setup.exeを選択します。
wget https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe --no-check-certificate
wine64 uninstaller
次にWindows用Pythonをインストールします。
こちらもGUI操作が必要です。exeファイル実行後、インストールを進めてください。
wget https://www.python.org/ftp/python/3.8.0/python-3.8.0-amd64.exe --no-check-certificate
wine64 cmd
wine cmdに入って以下を実行します。
cd /path/to/python-3.8.0-amd64.exe
python-3.8.0-amd64.exe
Windows用Pythonのインストール後、wine cmdで以下を実行します。
python -m pip install pip --upgrade
exit
最後にWindows用Python上にmt5
とrpyc
パッケージをインストールします。
wine64 cmd
pip install MetaTrader5 rpyc
pip install --upgrade MetaTrader5 rpyc
Ubuntuにmt5linuxをインストールする
UbuntuのPythonにmt5linux
をインストールします。
pip install mt5linux
下記コマンドを実行してサーバーが起動されればOKです。(たぶん)
Windows用Pythonのパスはデフォルトの設定だと/home/{username}/.wine/drive_c/windows/py.exe
になるはずです。
python -m mt5linux /path/to/python.exe
おわりに
初めからWindows上に環境を作ってもよかったのですが、
Windows上の開発環境の構築と維持は面倒という偏見があったのでWSLを使いました。
結果的にWSLでも面倒でしたがなんとか準備ができたと思うので
これからツール作成本編に入っていきたいと思います。
Discussion