English Русский 中文 Español Deutsch Português 한국어 Français Italiano Türkçe
preview
MQL5 Algo Forgeのご紹介

MQL5 Algo Forgeのご紹介

MetaTrader 5 |
24 7
MetaQuotes
MetaQuotes

新しい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 に必要なコマンドが統合されているため、開発者はコードの作成、進捗の保存、必要なときのロールバック に集中できます。


MQL5 Algo Forgeへようこそ


お役立ちリンク

MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/18518

最後のコメント | ディスカッションに移動 (7)
MetaQuotes
MetaQuotes | 27 8月 2025 において 11:21
Denis Kirichenko プロジェクトを 作成する必要があるということでよろしいでしょうか?古いプロジェクトでは何もできないのですが...。

MQL5カタログのルートはdenkir/mql5というあなたの個人プロジェクトです。これは共有できず、個人的なものです。

MQL5ルートフォルダ内のすべてのファイルは、Algo Forgeのストレージとして完全に使用できます。

しかし、Shared Projectsカタログのプロジェクトは、共有MQL5フォルダから除外され、別プロジェクトや共有プロジェクトのエントリーポイントとなります。共有プロジェクトにプロジェクトを作成することで、他のユーザーに読み取りまたは書き込みのアクセス権を与えることができます。

Vladislav Boyko
Vladislav Boyko | 27 8月 2025 において 17:11
MetaQuotes #:
共有できない

共有できます。forgejoサーバー経由でgitリポジトリを共有できないとしたら、それはおかしなことです。exploreの最初のリポジトリです(自分で確認したわけではありません):

https://forge.mql5.io/darashikoh/mql5


CODE X
CODE X | 27 8月 2025 において 17:33
Vladislav Boyko #:

共有できます。gitリポジトリがforgejoサーバー経由で共有できなければおかしい。explorerの最初のリポジトリです(自分では確認していません):

https://forge.mql5.io/darashikoh/mql5


はい、公開されていることを確認しました。 🙂 👍 GITHUBに相当するもので、MQL向けのものだけのようです。

Fernando Carreiro
Fernando Carreiro | 28 8月 2025 において 11:12

AlgoForgeのウェブサイトからではなく、MetaEditorから 他のユーザーのリポジトリをクローンするには、どのように"Git Clone"を使うのですか?

forgeのウェブサイトから "Open inMetaEditor"リンクを経由して実行すると失敗します。おそらく、私が "portable "モードのみを使用しているためでしょう。

MetaEditorの"Git Clone "メニュー・オプションの使い方のドキュメントは見つけられませんでした。

EDIT: 今のところ、私が見つけた唯一の解決策は、外部のGitクライアントを使って、まずリポジトリをクローンすることでした("SharedProjects"ディレクトリの下にクローンし、その後MetaEditorが それを認識します)。

Pascal Garcia
Pascal Garcia | 29 8月 2025 において 11:48

おはようございます、

gitを使った新しいビルドでは、mql5bookのようなmql5コミュニティからプロジェクトに 参加したりダウンロードしたりすることができません。

MQL5取引ツール(第1回):インタラクティブで視覚的なペンディングオーダー取引アシスタントツールの構築 MQL5取引ツール(第1回):インタラクティブで視覚的なペンディングオーダー取引アシスタントツールの構築
この記事では、FX取引におけるペンディングオーダーの設置を簡素化するために開発した、MQL5によるインタラクティブ取引アシスタントツール(Trade Assistant Tool)について紹介します。まず概念設計を説明し、チャート上でエントリー、ストップロス、テイクプロフィット水準を視覚的に設定できるユーザーフレンドリーなGUIに焦点を当てます。さらに、MQL5での実装およびバックテストのプロセスを詳述し、このツールの信頼性を確認します。そして、後続のパートで発展的な機能を追加するための基盤を整えます。
知っておくべきMQL5ウィザードのテクニック(第64回):ホワイトノイズカーネルでDeMarkerとEnvelope Channelsのパターンを活用する 知っておくべきMQL5ウィザードのテクニック(第64回):ホワイトノイズカーネルでDeMarkerとEnvelope Channelsのパターンを活用する
DeMarkerオシレーターとEnvelopesインジケーターは、エキスパートアドバイザー(EA)を開発するときに組み合わせることができるモメンタムおよびサポート/レジスタンスツールです。前回の記事では、機械学習を加えて、これらのインジケーターのペアを紹介しました。ホワイトノイズカーネルを使用してこれら2つのインジケーターからのベクトル化されたシグナルを処理する回帰型ニューラルネットワークを使用しています。これは、MQL5ウィザードと連携してエキスパートアドバイザー(EA)を組み立てるカスタムシグナルクラスファイルで実行されます。
MQL5取引ツール(第2回):インタラクティブな取引アシスタントの強化:動的視覚フィードバックの導入 MQL5取引ツール(第2回):インタラクティブな取引アシスタントの強化:動的視覚フィードバックの導入
この記事では、取引アシスタントツール(Trade Assistant Tool)をアップグレードし、ドラッグ&ドロップ可能なパネル機能やホバー効果を追加して、インターフェースをより直感的で応答性の高いものにします。ツールを改良してリアルタイムの注文設定を検証し、市場価格に対して正確な取引構成が可能となるようにします。また、これらの改善をバックテストし、その信頼性を確認します。
知っておくべきMQL5ウィザードのテクニック(第63回):DeMarkerとEnvelope Channelsのパターンを活用する 知っておくべきMQL5ウィザードのテクニック(第63回):DeMarkerとEnvelope Channelsのパターンを活用する
DeMarkerオシレーターとEnvelopesインジケーターは、エキスパートアドバイザー(EA)を開発するときに組み合わせることができるモメンタムおよびサポート/レジスタンスツールです。パターンごとに何が役に立つのか、そして何を避けることができるのかを調べます。いつものように、ウィザードで組み立てられたEAと、エキスパートシグナルクラスに組み込まれているパターン使用関数を使用しています。