MQL5ストレージを使ってみた感想

2018年11月25日

オンラインストレージ

MQL5ストレージをご存知でしょうか?

名前はMQL5ストレージですが、MT4でもMT5でも利用可能です。

実は私も最近知ったばかりなのですが、試しに導入してみた結果をご報告します。

まだ利用していない方の参考になれば幸いです。

MQL5ストレージとは?

MT4とMT5用のプライベート(自分用の)オンラインストレージ(バージョン管理もできる)です。

「オンラインストレージがよく分からない」という方もいるかと思いますが、「OneDrive、Googleドライブ、Dropbox、Box…etc」のようにファイルをネット上で管理するものです。

例えば、自宅からオンラインストレージ上のファイルを更新すれば、会社で更新後のファイルを見ることができます。

 

MQL5ストレージの何がいいのか?

手間が減る

業者AのMetaEditor上で変更したプログラムを、「業者B…業者C…etc」に簡単に反映することができます。

EAを本格的に運用していくと、必ずどの業者を選択するか?という問題にぶつかります。

そうなると、複数業者を使うようになり・・・いずれは私のように以下のような状況になってきます。

PC上のMT4とMT5

 

自作EAを作成して「さあEAの検証をしよう!」と思った時に沢山のMT4/MT5に同じファイルをコピーする必要があります。

もうこの作業だけでも地獄です。。。

さらに、「あ、バグがあった。。。」となってプログラムを何度も修正したら、何度もファイルを配置しなおすことになります。

こんなことに時間や精神力を消耗するのは生産的ではありません。

 

ミスが減る

ミスが減る理由は、「手間が減る」部分に記載したとおり、プログラムが一元管理されているからです。

 

例えば、「業者A」のMetaEditorを使って自作の「EAやライブラリ」を少し修正したけど、業者B側に反映し忘れる可能性があります。

プログラムの管理をしていない場合、当たり前にこのようなことが起こります。

 

プログラムのバージョン管理ができる

誤ってプログラムを削除したり、前のバージョンに戻したい場合があれば簡単に戻すことができます。

 

導入

前提

MQL5ストレージを使うにはMQL5 Communityにユーザー登録している必要がありますので、まだ登録していない方は登録しましょう。

MT4/MT5の情報が沢山落ちているサイトなので、登録しておいて損はないです。

また、クレジット情報のようにお金に紐づく情報の登録は不要なので安心です。(EAやシグナルを購入する際は必要ですが、私は購入しないので特に登録していません。。。)

 

こちらからユーザー登録できます。

右上に「新規登録」ボタンがありますので、クリック後にIDとメールアドレスを入力するだけです。

 

導入~操作

コミュニティの「MetaEditorヘルプ:ストレージの活用」に導入方法と使い方が書いてあります。

ここを見れば設定していけるとは思うのですが、最低限利用するのには不要な情報も多いので、私の環境で設定したものを掲載します。

 

MQL5ストレージの有効化

MetaEditorを開いて、左側のナビゲーターウインドウの適当な部分で右クリックします。

「MQL5ストレージを有効にする」を選択します。

MQL5ストレージの有効化

 

MQL5 Communityに登録しているユーザーIDとパスワードを入力して、「OK」をクリックします。

MQL5 communityの認証

 

これでMQL5ストレージを利用できるようになりました。

 

管理したいフォルダを決定する

MQL5配下全てを一元管理すると、各業者ごとのバージョンの違いなどでエラーになる可能性もありますので、必要な部分のみ管理するようにします。

私の場合は、MQL5の検証用プログラムはExperts/Orgに入れているのでOrgを管理するフォルダに設定しますが、自身が管理したいフォルダを選択していただいて大丈夫です。

管理フォルダ(Org)を右クリックして、「ファイルまたはフォルダを追加する」を選択します。

ファイルまたはフォルダの追加

 

新規で追加された画面が表示されます。

追加確認

 

管理対象のフォルダやファイルのアイコンの左側に「+」が表示されます。

ファイルの左に+がついたことを確認

 

次にコミットを行います。

管理フォルダを右クリックして、「ストレージにコミットする」を選択します。

MQL5ストレージにコミット

 

コミットが完了しました。

これでオンライン上にファイルが格納されました。

MQL5ストレージへのコミット画面

 

 

別業者のMetaEditorに反映させる

別業者のMetaEditorを起動します。

この時点で、Orgフォルダは存在していません。

別業者でMQL5ストレージを利用

 

先ほどと同様に「MQL5ストレージを有効にする」を選択します。

MQL5ストレージを有効化

 

最初の業者が持っている管理フォルダごとダウンロードされました。

MQL5ストレージの内容が反映された

 

プログラムを修正してみる

赤枠部分にコメントを追記しました。

プログラムを変更すると、今までプログラム名の左側が緑のアイコンだったのですが赤いアイコンに変わります。

MetaEditorでプログラムを修正

 

修正したファイルを右クリックし、「バージョンの違い」を選択します。

修正したプログラムの差分

 

すると・・・自分が修正した部分がハイライトされて分かるようになっています。

結果を確認して、問題なければ次の作業に進みましょう。

変更部分のみが差分になっていること

 

再度修正したプログラムを右クリックして、「ストレージにコミットする」を選択します。

MQL5ストレージにコミット

 

コミット時にコメントを入れることができるので、必要な場合はコメントを入れてください。

どのような修正を行ったかを入れるのが一般的です。

コミット時のコメント

 

コミットが完了しました。

コミット完了確認

 

変更が適用されたので、緑のアイコンに戻りました。

コミット後のファイルアイコン確認

 

別業者にプログラムの変更を適用する

プログラムの修正を行っていない側の業者のMetaEditorを起動します。

MQL5のところで右クリックして、「ストレージから更新する」を選択します。

MQL5ストレージから更新

 

別業者で行ったプログラムの修正が反映されました。

MQL5ストレージの内容で上書きされたことを確認

 

注意点

業者ごとの差異

業者によっては、MetaEditorを起動するたびにMQL5ストレージが無効になりますので、その場合は少し手間ですが右クリックで再度ストレージを有効にする必要があります。

 

プログラムの左側のアイコンがあてにならない

プログラムの左側に「緑のアイコン」や「赤のアイコン」が表示されますが、

「緑は差分なし、赤は差分あり」ということですが業者Aで変更してコミットしても業者B側では「緑のアイコン」のままです。。。F5で更新しても緑のままでした。

別のMetaEditorで修正した部分が分からないというのは、管理の観点からは致命的な部分だと思いますが、業者間でファイルを同期したいというだけなら特に気にする必要はないかと思います。

( MQL5ストレージはSubversionを基にしているそうで、昔Subversion使った時はこの辺は大丈夫だった気がするのですが、だいぶ前の事なので忘れてしまいました。)

 

実行ファイルは管理できない

管理できるのは、あくまでもMetaEditor上に表示されるものなので、「ex4/ex5」ファイルは連携されません。

 

注意点を踏まえたシンプルな使い方

業者Aをメインと考えて、基本的には業者AのMetaEditorで「作成/修正/コミット」を行います。

業者Bや業者Cは受け側に徹して、「ストレージから更新する」のみ実行します。

※「ストレージから更新する」を実行する場合は、トップ階層の(MQL4/MQL5)を右クリックして実行します。(別業者で更新されたファイルがピンポイントで分からないため。)

管理フォルダ(今回ならOrg)を右クリックして、まとめてコンパイルします。(ここはトップからやると大変なので管理フォルダのみです。)

 

あくまでも使い方の例なので、慣れている方はメイン業者などを決めずに各業者から更新しても問題ありません。

 

まとめ

MQL5ストレージを使ってみた感想は、「不完全だけど利用価値はある」といったところでしょうか。

利点としては以下です。

  • プログラムを誤って削除しても直ぐに復元できる
  • 昔のバージョンに戻すのが簡単
  • 修正の履歴を管理できる
  • 別のPCでも直ぐにプログラムを落とせる
  • プライベートストレージ
  • 無料
  • MQLに特化している

 

一方で、「注意点」に記載したような部分では使い勝手が悪いです。

 

MQL5ストレージを選択するかは別としても、プログラムのバージョン管理は必須なので、今後もいろいろな方法を検討していきたいと思います。

 

MQLのプログラムに興味がある方は、以下をご参照ください。

メタトレーダー(MT4/MT5)で自動売買するための事前準備(第1回)

初心者でも分かる!MT4/MT5のプログラミング入門|MQL入門(1回目)