MQL5 Algo Forgeのご紹介
新しいMQL5 Algo Forgeは、単なるプロジェクト一覧ではありません。開発者向けの本格的なソーシャルネットワークとして機能します。プロジェクトの変更履歴を簡単に追跡・管理したり、同じ志を持つプロフェッショナルとつながって新しいアイデアを発見したりできます。ここでは、気になる著者をフォローしたり、チームを結成したり、アルゴリズム取引プロジェクトで共同作業を行うことが可能です。
MQL5 Algo Forgeは、最新のバージョン管理システムであるGitを基盤に構築されています。開発者は、プロジェクト履歴の追跡、ブランチの作成による実験、チームでの協働といった作業を行うための強力なツールセットを手にすることができます。では、実際にMQL5 Algo Forgeを使い始めるにはどうすればよいのでしょうか。この記事では、そのステップをご紹介します。

MQL5 Algo Forgeのリポジトリについて
ソフトウェア開発は、通常、時間とデバッグを要する長いプロセスです。コードは単に作成・保守されるだけでなく、安全に保存されることも求められます。現代の取引アルゴリズムは、単純な移動平均クロスオーバーをはるかに超えており、数学ライブラリ、ニューラルネットワーク、機械学習といった技術を基盤として構築されています。そのため開発者には、変更を素早く保存し、どこからでも最新のコードにアクセスできる便利な方法が必要です。
MQL5 Storageは、MetaEditorに統合された組み込みのバージョン管理システムです。以前は集中型のバージョン管理システムであるSubversion 1.7を使用しており、すべての履歴はMetaQuotesサーバー上に保存されていました。そのため、インターネット接続がない環境では、変更のコミット、過去バージョンへのロールバック、履歴の確認を行うことができませんでした。現在では、これが完全に置き換えられ、より強力で柔軟なソリューションであるMQL5 Algo Forgeが採用されています。
現在のMQL5 Algo Forgeの仕組みは、従来のものとは次のように異なります。
| MQL5 Algo Forge(Gitベース) | MQL5 Storage(レガシー) | |
|---|---|---|
| 履歴保存 | ローカルおよびクラウド | MetaQuotesクラウドのみ |
| オフライン作業 | 完全(コミット、ロールバック、差分確認) | 制限ありまたは利用不可 |
| 操作速度 | 即時、ローカル | ネットワーク/サーバーに依存 |
Algo Forgeは開発者に自由をもたらします。電車の中でもオフラインで作業したり、実験用のブランチを作成して試行錯誤したり、中間成果を保存して後でメインブランチに統合したりすることが可能です。
また、Algo Forgeにおけるプロジェクトリポジトリは単なるクラウドフォルダではありません。ローカルドライブ上に存在する構造化されたGit リポジトリであり、MQL5 Algo Forgeのクラウドサーバーと同期されます。このリポジトリは、いくつかのレイヤーで構成されています。
MetaEditorの作業ディレクトリ
| | ここには、MetaEditorで編集する.MQ5、.MQH、.SETなどのファイルが保存されています。このディレクトリで、エキスパートアドバイザー(EA)のコードを記述したり、インジケーターを組み込んだり、戦略をテストしたりします。ただし、変更を明示的に追加するまでは、Algo Forge はそれらを追跡しません。 |
ステージングエリア(インデックス)
| | プロジェクトの履歴に変更を保存する前に、まずはその変更を準備します。このとき 「Git Add」コマンド を使って、次のコミットに含めるファイルを選択します。これにより、変更を論理的にまとめることが可能になります。たとえば、取引ロジックの調整を、インターフェースや設定の更新とは分けて保存するといった使い方ができます。 |
ローカルリポジトリ
| | 「Git Commit」 を使って変更をコミットすると、Algo Forgeはコンピュータ上のローカルリポジトリにファイルのスナップショットを保存します。これにより、いつでも以前のバージョンの確認や過去の状態へのロールバックが可能です。また、どの変更が エキスパートアドバイザー(EA)のパフォーマンス に影響を与えたかを分析することもできます。 |
MQL5 Algo Forgeのリモートリポジトリ
| | 準備が整ったら、「Git Push」を使っててコミットをMQL5 Algo Forgeサーバーに送信できます。これにより、安全なバックアップ が作成され、チームメンバーも変更にアクセスできるようになります。たとえ一人で作業している場合でも便利です。コードはクラウド上に安全に保存され、プロジェクトの履歴が常に保持 されます。 |
MQL5 Algo Forgeへの接続方法
MQL5 Algo Forgeを使い始めるには、MQL5 アカウントがあれば十分です。まず、 https://forge.mql5.io/でアカウント情報を使ってログインしてください。

ログイン後は、すべての機能を探索できます。エクスプローラーセクションでは、公開されているプロジェクトを閲覧でき、プロジェクトのコードを学んだり、自分の作品を共有したり、他の開発者と共同で作業することも可能です。

しかし、開発作業の大部分はMetaEditor上で行われます。MetaEditorをMQL5 Algo Forgeに接続するには、[コミュニティ]タブでMQL5アカウントの認証情報を入力してログインするだけです。

GitとMQL5 Algo Forgeにおける仕組み
Git は、ファイルが時間の経過とともにどのように変化したかを記録するバージョン管理システムです。これにより、重要な変更の喪失を防ぎ、簡単に元の状態に戻すことができ、実験用のブランチを作成できるほか、複数の開発者が同じプロジェクトで共同作業を行うことも可能になります。
MetaEditorでは、Git コマンドを直接操作する必要はありません。すべてユーザーフレンドリーなインターフェースで処理されます。しかし裏では、Gitがいくつかの重要な操作を実行しています。ここでは、それらの操作を分解し、MetaEditorで対応するコマンドを使った場合に何が起きるかを見ていきましょう。
公開プロジェクトフォルダに「Base_EA」という新しいプロジェクトを作成します。

プロジェクトファイルを右クリックすると、利用可能なGitコマンドが表示されます。

1. Git Add File/Folder:変更のステージング
ファイルを編集しても、Gitは自動的に変更を追跡しません。変更を保存したいことをシステムに知らせるには、ファイルをインデックスに追加します。これは 「Git Add File/Folder」 やコミット時にファイルを選択することで行えます。
Gitはファイルの現在の状態をスナップショットとして取得し、保存の準備をします。まるで書類を「署名待ちフォルダ」に入れるようなイメージです。
2. Git Commit:プロジェクトのスナップショットを保存
MetaEditorで 「Git Commit」 をクリックすると、プロジェクトの現在の状態がキャプチャされ、バージョン履歴に保存されます。
次のようなことが起こります。
- 変更が以前のファイルと比較される
- ディスク容量を節約するため、差分のみが保存される
- 変更が隠しフォルダ「.git」に書き込まれる
- コミットに一意のSHA-1識別子 が付与される
コミットは事実上「チェックポイント」であり、その時点でのプロジェクトの状態を示します。いつでもこのポイントに戻って作業を再開できます。
3. Git Push:MQL5 Algo Forgeクラウドへ送信
「Git Push」 を選択すると、ローカルのコミットがMQL5 Algo Forgeサーバーにアップロードされます。
これは、プロジェクトの新しいバージョンをクラウドにアップロードするのと同じですが、完全な変更履歴も含まれます。
便利なことに、MetaEditorはGit Commitの直後に自動でGit Pushを実行します。これにより、現在のバージョンが常にクラウドと同期されます。サーバーへの送信が何らかの理由で失敗した場合は、手動でGit Pushを実行できます。
4. Git Pull:最新バージョンの取得
共同作業では、他の開発者があなたより先にプロジェクトを更新することがあります。また、別のコンピュータで作業を続ける場合や、同じコンピュータで異なるターミナルから作業する場合もあります。こうした更新を取得するにはGit Pullを使います。すべての変更がForgeから取得されます。
Gitはクラウドから新しいコミットをダウンロードし、ローカルバージョンとマージします。
5. Git Branch:安全なブランチと実験
時にはメインプロジェクトに影響を与えずにアイデアを試したい場合があります。そんなときはブランチを使います。たとえば、別のインジケーターをテストしたり、戦略にフィルターを追加したりするブランチを作成することが可能です。ブランチにはそれぞれ名前が付けられており、自由に切り替えることができます。
ブランチとは、単純に言えば開発の並行ラインのことです。自由に実験を行い、不要であれば破棄し、必要に応じてメインブランチにマージすることもできます。
6. Git Difference:ファイル変更の確認
このコマンドは、コミット前にファイルのどの部分が変更されたかを行ごとに正確に表示します。比較パネルが開き、追加・削除・修正された行をハイライトします。
7. Git Log:プロジェクト履歴の確認
「Git Log」 コマンドは、すべてのコミットを日付、作成者、コミットメッセージとともに一覧表示します。これにより、プロジェクト開発のタイムラインが明確になり、誰がいつ何を変更したかを追跡できます。
8. Git Revert:コミットの取り消し
「Git Revert」 は、以前のコミットの効果を打ち消す新しいコミットを作成します。履歴自体は削除されないため、最も安全に変更を取り消す方法として利用できます。ただし、最新のコミットに対してのみ安全に適用可能です。
このコマンドは、EAが壊れてしまったコミットを見つけた場合に特に便利です。他のコミットに影響を与えず、すぐに元の状態に戻すことができます。ただし、取り消したコミットが後続のコミットと同じコードに影響している場合は、マージ競合 が発生する可能性があり、その場合は手動で解決する必要があります。
プロジェクトに安全に取り組む習慣
バージョン管理で最もよく起こる問題のひとつは、ローカル版とリモート版の競合です。これを避けるためには、次のシンプルなルールに従います。常に最初にPullします。作業を再開するためにプロジェクトを開いたら、まず 「Git Pull」 を実行して、最新バージョンを取得していることを確認してください。

もう1つのルールは、「作業の最後は Commit + Push で締める」です。作業を終えるときには、必ず 「Git Commit」 (自動で Push が行われます)を実行して、更新をクラウドに送信します。これらの習慣を守ることで、作業の流れはスムーズになり、競合のない環境で作業でき、コードも常に安全に保護されます。
MQL5 Algo Forge:信頼性の高いプロジェクト管理に必要なすべて
Gitコマンドを手入力する必要はありません。すべてMetaEditorに統合されています。
- ファイルの追加、コミット、ブランチ作成:プロジェクトのコンテキストメニューから実行可能
- PushとPull:クラウドとの同期はボタン2つで完了
- BranchとRevert:開発管理をシンプルにするコマンド
- 変更履歴:分かりやすい組み込みログで確認可能
この8つのコマンドだけで、MQL5 Algo Forgeを自信を持って活用できます。MQL5 Algo Forgeは、体系的な開発、安全な実験、チームでの協力、そしてデータの完全保護を実現します。
今すぐ始めましょう
MQL5 Algo Forgeは単なるストレージではなく、アルゴリズムトレーダー向けの完全なプロジェクト管理システムです。すべての変更を追跡でき、リスクなしで実験を行い、チームでの共同作業をサポートし、安定して信頼できるコードを維持できます。
Gitが複雑に感じられたことがあっても、MQL5 Algo Forgeがその操作をシンプルにしてくれます。MetaEditor に必要なコマンドが統合されているため、開発者はコードの作成、進捗の保存、必要なときのロールバック に集中できます。
お役立ちリンク
MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/18518
警告: これらの資料についてのすべての権利はMetaQuotes Ltd.が保有しています。これらの資料の全部または一部の複製や再プリントは禁じられています。
MQL5取引ツール(第1回):インタラクティブで視覚的なペンディングオーダー取引アシスタントツールの構築
知っておくべきMQL5ウィザードのテクニック(第64回):ホワイトノイズカーネルでDeMarkerとEnvelope Channelsのパターンを活用する
MQL5取引ツール(第2回):インタラクティブな取引アシスタントの強化:動的視覚フィードバックの導入
知っておくべきMQL5ウィザードのテクニック(第63回):DeMarkerとEnvelope Channelsのパターンを活用する
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索


テストとして、Markdown形式のREADMEファイルとしてHeikin Ashi 出版の説明を追加し、リポジトリにコミットした。
この変更の通知を受け取ったかどうか、またフォークを更新できるかどうか確認してください。
リポジトリのウェブインターフェイスでこれを見ました:
後でフォークを更新してみます。
テストとして、Markdown形式のREADMEファイルとしてHeikin Ashi 出版の説明を追加し、リポジトリにコミットした。
この変更の通知を受け取ったかどうか、またフォークを更新できるかどうか確認してください。
まず最初に、私のローカルフォーククローンにはまだ最新のコミットがありません:
Gitのドキュメントによると、オリジナルのリポジトリに接続しています:
フォークのウェブインターフェイスに行くと、このようになっています:
Sync」ボタンをクリックし、MetaEditorでPullを実行します:
ご覧のとおり、あなたのコミットはすべて安全にフォークされ、その後私のローカルコンピューター上のフォークのクローンでPullされました。
この ドキュメントのページには、コンソールコマンドを使った他の同期方法も載っているが、すべてのコミットがすでに同期されているので、まだ試していない。
MetaEditorのCommitコマンドとPushコマンドがフォークに対してどのように動作するか、後でもっと実験してみるつもりだ。元のリポジトリにも編集を送ろうとするのかな。
まず最初に、私のローカルフォーククローンにはまだ最新のコミットが入っていない:
Gitのドキュメントによると、オリジナルのリポジトリに接続しています:
フォークのウェブインターフェイスにアクセスすると、このように表示されます:
Sync "ボタンをクリックし、MetaEditorでPullを行う:
ご覧の通り、あなたのコミットはすべて安全にフォークされ、その後、私のローカルコンピューター上のフォークのクローンでPullされました。
ドキュメントのこの ページには、コンソールコマンドを使って同期する他の方法も載っていますが、すべてのコミットがすでに同期されているので、私は試していません。
しかし、"クローン "と "フォーク "は同じではなく、MetaQuotesが採用した方法は、プロジェクトを同期させるためにMetaEditorの外で余計な介入が必要であることを証明しています。
クローン」には余分なストレージも余分な手順も必要ありませんが、「フォーク」にはAlgoForgeサーバーの余分なストレージスペースが必要なことは言うまでもありません。
、私はMetaQuotesの実装は効果的に使用するにはあまりにも「欠陥がある」と考えており、外部のGitクライアントを使用するか、VSCode(AlgoForgeでは問題なく動作します)を使用し続けるつもりです。
私は、MetaQuotesの実装は効果的に使用するにはあまりにも「欠陥がある」と考えており、外部のGitクライアントを使用するか、VSCode(AlgoForgeでは問題なく動作します)を使用し続けるつもりです。
外部Gitクライアントユーザーのコミュニティへようこそ!😁。
私は、MetaQuotesの実装は「欠陥」がありすぎて効果的に使えないと思うので、外部のGitクライアントかVSCode(AlgoForgeでは問題なく動作する)を使い続けるつもりです。
残念ながら、今のところはそうです。私も今のところは外部クライアントを使いたい。しかし、この5ヶ月でMetaEditorに追加されたものを比較すると、それは顕著な進歩です。ただ、以前は新しいリポジトリで作業するためのツールがまったくなかったのに、今は少なくともそのような縮小版がある。