見出し画像

【FX/EA】MetaTrader/MQLのファイルをGithubで管理する


目的・背景


EA 自動売買システムのファイルをバージョン管理しながら開発したい!
ということで備忘録として作業内容を残します。

開発過程であれこれトレードロジックをいじくりまわすと思うので、
バージョン管理を行いながら開発していくのがベストですよね~

MetaTrader/MQLのファイルをGithubで管理する


全体の流れ

  • ①MetaTraderのデータフォルダのパスをコピー
    MetaTraderに関するファイルなどが保存されているフォルダのパスをコピーします

  • ②開発用フォルダを作成
    開発用フォルダを作成し、このフォルダを後の手順でGithub管理とします

  • ③シンボリックリンクを作成
    データフォルダと開発用フォルダを関連付けます

  • ④開発用フォルダをGithubで管理
    開発用フォルダをGithubで管理するように設定します

補足:
MetaTraderのデータフォルダと開発用フォルダを紐づけ、開発用フォルダをGithubで管理します。
すると、MetaEditor(EA開発を行うエディタ)で編集した内容が自動的に開発用フォルダに反映されます。
開発用フォルダはGithub管理としているため、バージョン管理などが可能になるといったロジックになっています。


1. データフォルダのパスをコピーする

データフォルダはMQLで書かれたファイル群が格納されているフォルダです。

お使いのMetaTraderからMetaEditorを開きます。


次に、データフォルダを開きます。「File --> Open Data Folder」とクリックすることで開くことができます。

データフォルダが開かれるので、このフォルダのパスをコピーしておきます。私の環境では、以下のようなフォルダとなっていました。

C:\Users\ユーザ名\AppData\Roaming\MetaQuotes\Terminal\A4F4012CC7C8CFCF1D810350E5100AB4

2. 開発用フォルダの作成

開発用フォルダを作成しておきます。このフォルダは後にデータフォルダと紐づけられます。

開発用フォルダの場所はどこでも大丈夫です。私はデスクトップ配下に作成しました。フォルダの名前も任意で大丈夫です。

mkdir Desktop/RL-Trade/Experts/RL-Expert

(強化学習型のEAを作っているので「RL-」というプレフィックスにしていますが、なんでも大丈夫です。また、途中のExpertsも分かりやすいようにフォルダ分けしているだけなので任意の場所で大丈夫です!)


3. シンボリックリンクの作成

次に、開発用フォルダとMetaTraderのデータフォルダを紐づけます。
管理者権限でコマンドプロンプトを起動します。

シンボリックリンクの作成コマンドを実行します。

cd <1.でコピーしたデータフォルダのパス>

mklink /d MQL5\Experts\RL-Expert  <2.で作成した開発用フォルダのパス>

コマンドを実行した後、MetaTraderを確認します。「File --> Open Data Folder」とクリックし、

「MQL5 --> Experts」とフォルダをクリックしていくと、
"RL-Expert"
というフォルダが追加されていることが分かります。これでシンボリックリンクの作成は終了です。



4. 開発用フォルダをGithubで管理する

あとは開発用フォルダをGithubで管理するだけです!

①Githubアカウントの作成
アカウントをお持ちでない場合はGitHubからサインアップします

②リポジトリの作成
Githubのダッシュボードから「New」をクリックします。

リポジトリ名を入力し、Public/Privateを選択し、「Create repositry」をクリックします。

③開発用フォルダのアップロード
画面に表示されている指示に従い、コマンドを実行します。

cd <2.で作成した開発用フォルダのパス>
echo "# repositry name" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/xxxx/yyyy.git
git push -u origin main

これであとは、定期的に変更をGithubにプッシュしてあげることでバージョン管理が可能となります!



まとめ

MetaTraderで扱うファイルをGithubでバージョン管理する方法をお伝えしました!以下、本記事のまとめです。

  • ①MetaTraderのデータフォルダのパスをコピー
    MetaTraderに関するファイルなどが保存されているフォルダのパスをコピー

  • ②開発用フォルダを作成
    開発用フォルダを作成し、このフォルダを後の手順でGithub管理とする

  • ③シンボリックリンクを作成
    データフォルダと開発用フォルダの関連付けを行う

  • ④開発用フォルダをGithubで管理
    開発用フォルダをGithubで管理するように設定します

この記事が気に入ったらサポートをしてみませんか?