📈

WSLにMetaTrader5をインストールする

2023/12/29に公開

はじめに

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のバージョンが異なる場合は下記サイトを参考にしてください。
https://wiki.winehq.org/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をインストールし、起動しました。
https://ao-tela.com/wsl_gui/#toc3
最後に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上にmt5rpycパッケージをインストールします。

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