見出し画像

MQL5ストレージ利用ガイド

MQL5ストレージは、MetaTraderプラットフォームのユーザーが開発したエキスパートアドバイザー(EA)やインジケーター、スクリプトなどのソースコードや実行形式ファイルなどを保存できるクラウドストレージサービスです。
MQL5ストレージを活用することで、ソースコードなどのバックアップや共有が可能となります。
また、MetaEditorと連携することで、ソースコードなどの開発・保存・共有を効率的に行うことができます。
この記事は、MQL5ストレージの利用にあたってのガイドとなる情報提供を目指して作成いたしました。
なお、MQL5ストレージの概要については、下記のサイトにて説明がされていますので、そちらも合わせてご覧いただければと思います。

🔰MQL5ストレージの公式説明:https://www.mql5.com/ja/code/storage
MQL5ストレージの基本的な機能や使い方について、公式サイトで詳しく説明されています。

🔰参考記事1:MQL5の便利な使い方「MQL5ストレージ」とは? https://labo.gogojungle.co.jp/articles/45

🔰参考記事2:MQL4でストレージを利用する手順
https://engistor.com/steps-to-enable-storage-for-mql4/
MQL4でMQL5ストレージを利用する方法について、詳しく解説されています。

【おことわり】
本記事は、現在調査中の内容が多く含まれております。
調査が進みしだい、記事の内容を更新いたしますので、あらかじめご了承いただければと思います。


✅1. MQL5ストレージの主な機能

⏩ソースコードなどの保存

開発したEAやインジケーター、スクリプトのソースコードなどをクラウド上に保存できます
これにより、ローカルのPC上でデータが失われてしまう心配がなくなります。
また、他のデバイスへのデータ移行もスムーズに行うことができます。
ちなみに、ソースコード「など」と表現していますが、実際には実行形式ファイルや、それ以外のファイル(バックテストレポートファイル、設定ファイル、その他ExcelやPowerPointなどのファイル)も保存できます。
現在確認されている限りでは、保存することができない一般的なファイルタイプはなさそうですが、ストレージの基盤として利用されているSubversionの代表的なクライアントアプリケーションであるTortoiseSVNでは、下記のファイルが処理対象外となっているようです。

*.o *.lo *.la *.al .libs *.so .so.[0-9] *.a *.pyc .pyo pycache .rej ~ ## .# ..swp .DS_Store [Tt]humbs.db

⏩ソースコードなどの共有

保存したソースコードなどを他のMQL5ストレージのユーザーに公開することができます。
これにより、ユーザー間でのコラボレーションや情報交換が促進されます。
ソースコードなどの共有は「共有プロジェクト」を用いて行います。
ルートフォルダ直下の「Shared Projects」フォルダを選択した状態で、メニューから「新しいプロジェクト」を選択すると、新しい共有プロジェクトが作成されます。
プロジェクトは、作成時にどの種類(EA、インジケーター、ライブラリ、スクリプトなど)のソースコードをテンプレートとして使用するかのウィザードが表示され、作成したい成果物に応じて適切なオプションを選択します。
その後、「プロジェクト名」を設定する画面が表示されます。ここで設定するプロジェクト名は、MQL5ストレージ内で他に重複するものがないユニークな名称でなければなりません(大文字小文字の区別の有無や、利用可能文字については、現在調査中です)。
また、作成するプロジェクトは、「Shared Projects」フォルダの直下にしか作成することができません。プロジェクトの下にプロジェクトを作成すると言った、いわゆる「サブプロジェクト」のような階層構造を作ることは出来ません
作成したプロジェクトは、「プロジェクトの公開」メニューから、公開範囲を設定することができます。
ソースコードなどを他のユーザーに公開するには、設定を変更する必要があります。
プロジェクト新規作成時の初期設定は「プライベートプロジェクト」ですが、その他に「自由参加型プロジェクト」「参加リクエスト型プロジェクト」の選択肢があり、プロジェクトの公開設定をその特性に応じて変更することが可能です。

「プロジェクトの設定」画面

共有プロジェクトは、下図のようなフォルダ構成で作成されます。

共有プロジェクトのフォルダ構成

プロジェクト配下に作成されるフォルダは、以下の通りです。

  • Headers:インクルードファイルを格納するフォルダ

  • Sources:ソースコードファイルを格納するフォルダ

  • Resources:リソースファイル(.icoファイルなど?)を格納するフォルダ

  • Settings and files:その他ファイル(.setファイルやバックテストレポートファイル、ログファイルなど?)を格納するフォルダ

なお、プロジェクトフォルダの内部に「サブフォルダ」を作成することは可能です。
そのため、共有プロジェクトは、EAやインジケータやスクリプトといった「成果物単位」でもよいですが、共有対象の成果物が複数ある場合は、プロジェクトを誰に見せるかといった「共有範囲単位」で作成するのが、管理を簡略化できるため好ましいかもしれません。

【おことわり】
これらのプロジェクトの公開設定は、実際にどのように公開されるかは現在調査中です。確認が取れしだい、本記事に記載するようにいたします。

⏩充分なストレージ容量

ソースコードなどのファイルを保存するためのストレージの容量については、これまで調査した限りでは容量制限などに言及したページなどは確認できませんでした。
ただ、私たちが開発用に無償で利用しているストレージに保存されているファイルの総サイズは「2.81GB」となっています。
真相は継続調査が必要かもしれませんが、少なくとも個人ユーザーが開発に利用するには、充分なストレージ容量が確保されてるのかもしれません。

✅2. MQL5ストレージへのアクセス方法


MQL5ストレージには、以下の方法でアクセスできます。

⏩MetaEditorから直接アクセス

MetaEditorのメニューから、MQL5ストレージのフォルダ、ファイルに直接アクセスできます。
アクセス方法については、上記の参考記事に詳しく記載されていますので、ここでは説明は省略します。
ちなみに、サービス名は「MQL5ストレージ」となっているため、MetaEditor 4には対応していないと思われそうですが、MetaEditor 4でもMQL5ストレージを利用することは可能です。
ただし、MetaEditor 4とMetaEditor 5との間では、たとえ同一ユーザーであっても、ストレージの内容を共有することはできません。
MetaEditor 4とMetaEditor 5との間でソースコードを共有したい場合は、注意が必要かもしれません。

⏩MQL5公式ウェブサイトからアクセス

MQL5ストレージの公式ウェブサイト(https://www.mql5.com/)にログインし、「コードベース」を選択することで、MQL5ストレージに公開されている各種ファイルにアクセスできます。
ただし、ここで公開されているファイルは、上記の「MetaEditorから直接アクセス」でアクセスできるファイルとは異なり、全ユーザーに対して公開されているものです。
ここでは、全体公開されている各種ファイルを検索したり、ダウンロードすることは可能ですが、MetaEditorでアクセスできるユーザーごとに割り当てられているストレージとは異なりますので、注意が必要です。
なお、ここでの「ソースコードの公開」に関しては、現在調査中です。
詳細が確認できしだい、記事を更新いたします。

⏩MQL5ストレージサービスサイトからアクセス

MQL5ストレージサービスのリポジトリサイト(https://storage.mql5.io/repos/)から、MQL5ストレージで提供されているユーザーごとのストレージに保存されている各種ファイルにアクセスできます。
ここにアクセスすると、MQL5.communityのユーザー名およびパスワードを使ってのログインが求められます。
それ以降は、以下のフォルダにブラウザからアクセスが可能になります。

  • MQL5用フォルダ

  • MQL4用フォルダ

  • 共有プロジェクトのフォルダ

また、ここでアクセスできるフォルダのURLは、TortoiseSVNなどの一般的なSubversionクライアントからでもアクセス可能です。
TortoiseSVNなど、Subversionクライアントについての説明については、ここでは省略しますが、使い方によっては、MetaEditorに搭載されている、やや貧弱なストレージ管理機能を補完するような利用方法が実現できるかもしれません。
ただし、SubversionクライアントとMetaEditorとの併用に関しては、こちらも現在調査中であり、併用の是非については確定的なことは言及できませんので、あらかじめご了承いただければ幸いです。

💡3. まとめ

MQL5ストレージは、MetaTraderプラットフォームのユーザーにとって、非常に便利なクラウドストレージサービスです。
MetaEditorと連携することで、EAやインジケータ、スクリプトのソースコードなどの開発・保存・共有が効率的に行えます。
また、他のユーザーが公開しているソースコードなどを参照したり活用することで、自分のトレード戦略の改善やスキルアップにつながる可能性もあります。
MetaTraderプラットフォームでの開発を行う際には、MQL5ストレージを積極的に活用することをおすすめします。
自分の開発したソースコードなどを他のユーザーに共有したり、他のユーザーのソースコードなどを参照したりすることで、より効果的な開発が実現できるでしょう。

※本記事の内容は、2024年4月時点の情報に基づいて作成されています。

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