国内FX会社のMT4終了が続いています。OANDA証券は2026年9月25日でMT4の新規注文を止め、11月27日に提供を終えます(OANDA証券の公式告知)。MT4でEAを動かしてきた人ほど、MT5用のソースコードをどこで探せばよいか迷うはずです。
MT5(MetaTrader 5)はMetaQuotes社の取引プラットフォームで、EA(自動売買プログラム)はMQL5という言語で書きます。MT4のMQL4とは発注やポジション管理の書き方が違うため、MT4のコードはそのままでは動きません。
MQL5のEAソースコードが手に入るサイト7つと、MT5標準のサンプルEA・MQL5ウィザードを紹介します。実際にMT4からMT5へ乗り換える作業をした際に使った情報源だけを厳選しています。
こんな方におすすめ
- 証券会社のMT4サービス終了で、MT5への移行を迫られている
- MT5用のEAソースコードをどこで探せばいいかわからない
- MQL5は書けないが、MT5に自動生成機能があるらしいと聞いた
- MT4版のロジックをMT5でも動かしたい
MQL5のEAソースコード入手先早見表
本文で紹介する7つのサイトと、MT5標準のサンプルソース・MQL5ウィザードを、対象レベル・言語・費用でまとめました。まず自分に合いそうなものの見当をつけてから、各セクションを読んでください。
サンプルソースとMQL5ウィザードでEAの基本を理解する
MT5にも、インストール直後から使えるサンプルコードと、コードを書かずにEAを作れるウィザード機能が標準搭載されています。ネットでソースコードを探す前に、この2つで基本構造をつかんでおくと理解が速くなります。
MT5標準のサンプルEA「MACD Sample」
MT5にも、MT4と同じ「MACD Sample」というサンプルEAが付属しています。MQL5版では関数名が変わっているものの、エントリー条件を判定して注文を出し、決済条件とトレーリングストップを見張るという3段構成の考え方はMT4版と共通です。
MT4版との違い
MQL5のOrderSendは引数が構造体(MqlTradeRequest)に変わり、標準ライブラリのCTradeクラスで発注する書き方も広く使われるなど、書き方そのものが変わっています。MT4のコードを貼り付けても動かないため、最初はMT5用に書かれたサンプルから読みましょう。
サンプルはMetaEditor 5の「ナビゲーター」ウィンドウから、エキスパートアドバイザーの一覧を開くと確認できます。まずこの1本を最後まで読み切ることが、MQL5を理解する一番の近道です。
MQL5ウィザードでコードの雛形を自動生成する
MT5のMetaEditorには「MQL5ウィザード」という機能があります(MT4のMetaEditorにもウィザードはありますが、作れるのは空のひな形だけで、売買ロジックまでは生成しません)。売買ロジック・トレーリングストップ・資金管理をメニューから選ぶだけで、動くEAのソースコードを自動生成してくれる標準ツールです。
- MT5のツールバーから「IDE」(またはF4キー)でMetaEditor 5を起動する
- 「ファイル」→「新規作成」から「エキスパートアドバイザ(生成)」を選ぶ
- 名前・作成者・リンクを入力し、使いたい売買ロジック(移動平均線やMACD等)を選択する
- トレーリングストップや資金管理のオプションを選び、「完了」でソースコードを生成する
- 生成されたコードをコンパイルし、デモ口座で動作を確認する
生成される条件は決まったパターンの組み合わせなので、複雑な戦略は作れません。ただ、コードの型を丸ごと覚えられるので、これから紹介するサイトのコードを読むときの土台になります。
あわせて読むmqlinvestmentlab|MQL5ソースコード解体新書で学ぶ
mqlinvestmentlabは、公開されているMQL5のサンプルコードを1行ずつ解読していく「ソースコード解体新書」というシリーズを掲載しているブログです。MT5に標準搭載のEA「MACD Sample」や、パラボリックSARを使うコードを題材にしています。
コードをそのまま写すのではなく、「なぜこう書くのか」を理解しながら読み進められるのが特徴です。プロパティ設定・変数の初期化・注文条件の判定という順番で解説されているため、MQL5ウィザードで生成したコードの中身を理解する副教材としても使えます。
MQL5|コードベースとマーケットで探す

MQL5は、EAに関する情報を提供する世界最大級のサイトで、MT4だけでなくMT5用のソースコードも数多く公開されています。「コードベース」セクションには無料のEA・インジケーターが並び、「マーケット」セクションには開発者が販売・無料公開している完成品のEAもあります。
公開コードの多くは英語で書かれているため、翻訳しても分かりにくい部分があります。それでも、MT5サンプルソースやMQL5ウィザードで基本を理解したあとなら、読み解ける範囲はぐっと広がります。
ぷろぐらむFX|MT4中心で一部MT5版もあるサンプル集
ぷろぐらむFXは、トレンド系・オシレーター系・ZigZag系などロジック別にEAソースコードをまとめているサイトです。掲載されているEAソースコードはMT4版が中心で、MT5版は「指標発表時に取引させない」機能など一部に限られます(2026年10月時点の一覧ページ)。
MT4で使っていたロジックをMT5に移植したいときは、同じ項目のMT4版・MT5版を見比べると、書き方の違いが具体的にわかります。目的のロジックから逆引きでコードを探したい人に向いています。
EAつくーる|MT5にも対応するノーコード生成ツール
EAつくーるは、条件を選ぶだけでソースコードを自動生成できるツールで、MT4だけでなくMT5用の.mq5形式にも対応しています。移動平均線・MACD・RSI・ボリンジャーバンドといった指標を組み合わせ、エントリー条件や決済条件を画面上で選択していく流れはMQL5ウィザードとよく似ています。
MQL5ウィザードとの違いは、選べる条件の幅の広さです。ウィザードは決まった組み合わせしか選べませんが、EAつくーるはより細かい条件設定に対応しています。生成したコードを自分で修正して、オリジナルのEAに仕上げることもできます。
EarnForex|無料オープンソースEA
EarnForexは、無料のオープンソースEA・インジケーターを体系的に公開している海外の老舗サイトです。MT4版・MT5版の両方を配布している項目が多く、トレーリングストップやブレイクイーブン管理といった補助系EAが充実しています。
各EAのページには戦略の解説・パラメータの説明・注意点がまとまっており、ダウンロードだけでなくコードの読み方を学ぶ教材としても優秀です。GitHub上にも公式Organization(EarnForex)があり、そちらからソースコードを直接確認することもできます。
あわせて読む
MT4の無料EAおすすめ10サイト|勝てる選び方【2026年】MT4で使える無料EA(自動売買)を配布している国内外10サイトを比較紹介。指定口座開設だけで使える人気EAから、Myfxbookで実績公開中のEAまで、無料EAを選ぶ際の注意点とあわせて解説します。
GitHub|MQL5リポジトリを探す

GitHubは、ソースコードのバージョン管理を行うためのサービスですが、MQL5のリポジトリも多数公開されています。個人開発者が公開しているEA・インジケーター・トレード補助ツールが検索できます。
リポジトリごとにライセンス(MIT・GPL等)が異なるため、コードを流用・公開する場合はライセンス表記が必要かを確認してください。また更新が止まっているリポジトリも多いため、最新のMT5ビルドで動くかは自分の環境で必ず確認してください。
note|個人開発者のソースコード公開記事
noteには、個人の開発者が自作EAのソースコードを丸ごと公開している記事があります。無料で全文公開しているものもあれば、有料マガジンとして販売しているものもあり、解説の丁寧さも執筆者によって差があります。
購入前に確認したいこと
ソースコードの著作権は作成者にあります。個人利用の範囲を超えて再配布・転売する行為は避け、記事に明記されている利用条件を必ず確認してから使いましょう。
noteでは「EA MT5 ソースコード」のようなキーワードで検索すると見つかります。分解モンテカルロ法のような資金管理ロジックまで細かく解説している記事もあり、既製のEAでは学べない設計思想に触れられます。
見つけたソースコードを実際にMT5で動かす方法
ここまで紹介したサイトでソースコード(.mq5ファイルやコードの本文)を見つけても、そのままではMT5上で動きません。EAとして稼働させるまでの流れを押さえておきましょう。
ソースコードをEAとして稼働させる流れ(MT5)
- MT5のツールバーから「IDE」(またはF4キー)でMetaEditor 5を開く
- 「ファイル」→「開く」から.mq5ファイルを開く、または新規作成したファイルにコードを貼り付ける
- 「コンパイル」ボタンを押し、.mq5を.ex5に変換する(エラーが出た場合は関数名の変更点を確認する)
- MT5のナビゲーターから対象のEAをチャートにドラッグ&ドロップし、パラメータを確認したうえで、まずはデモ口座で動作確認する
コンパイル時のエラーは、MT4時代の書き方(引数を並べて呼ぶOrderSendやOrderSelect、Ask・Bid変数など)が残っていることが主な原因です。MQL5ではCTradeクラスのBuy・PositionCloseなどのメソッドか、構造体を渡すOrderSendに置き換えます。
MQL4とMQL5の違い|MT4から乗り換える前に確認
OANDA証券(2026年11月27日で提供終了)やJFX(2026年8月19日に終了)のように、MT4をやめる国内FX会社が出ています。移行先のMT5ではMT4のコードがそのままでは動かないため、主な違いを整理しました。
MQL4からMQL5へ書き換える3つのポイント(コード例)
拾ってきたMT4用のコードを移植するとき、書き換えが必要になるのは主に「インジケーター値の取得」「ポジションの確認」「発注」の3か所です。移動平均線より価格が上なら買うだけの最小構成で、MQL5での書き方を並べました。各処理のコメントに、MQL4で書いていた場合の1行を添えています。
インジケーター値の取り方:MQL4とMQL5
MT4(MQL4):1回の呼び出しで値が返る
iMA()呼び出す値移動平均の値MT5(MQL5):ハンドルを経由して読み出す
iMA()呼び出すハンドル値の代わりに返るCopyBuffer()ハンドルから値移動平均の値※MT4のiMAの書き方をそのまま貼るとMT5では動かないため、CopyBufferで値を読み出す形に書き換えます。
#include <Trade\Trade.mqh>
CTrade trade;
int maHandle; // 移動平均線のハンドル
int OnInit()
{
// MQL5: インジケーターは最初にハンドルを1回だけ作る
maHandle = iMA(_Symbol, PERIOD_CURRENT, 20, 0, MODE_SMA, PRICE_CLOSE);
return(maHandle == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED);
}
void OnTick()
{
// (1) 値の取得 MQL4: double ma = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, 0);
double ma[];
ArraySetAsSeries(ma, true);
if(CopyBuffer(maHandle, 0, 0, 1, ma) < 1)
return;
// (2) ポジション確認 MQL4: OrdersTotal() と OrderSelect() で注文を1件ずつ調べる
for(int i = PositionsTotal() - 1; i >= 0; i--)
{
if(PositionGetTicket(i) > 0 && PositionGetString(POSITION_SYMBOL) == _Symbol)
return; // 同じ銘柄を保有中なら新規注文しない
}
// (3) 発注 MQL4: OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0);
if(SymbolInfoDouble(_Symbol, SYMBOL_ASK) > ma[0])
trade.Buy(0.1, _Symbol);
}
このコードは書き方の違いを見るための例で、損切り・利確や資金管理は入れていません。iMA・CopyBuffer・PositionGetTicket・CTradeの引数は、MQL5公式リファレンス(docs.mql5.com)の定義に合わせています。
口座のポジション方式も確認する
MT5の口座には、1銘柄につきポジションを1つにまとめる「ネッティング」と、同じ銘柄で複数ポジションを持てる「ヘッジング」の2方式があります。MT4の両建てを前提にしたロジックは、ネッティング口座では同じ動きになりません。コードを動かす前に、使う口座がどちらの方式かを確かめてください。
MT4向けのソースコードの探し方や、EAの読み方の基本を先に押さえておきたい場合は、以下の記事もあわせて参考にしてください。
あわせて読む
MT4(MQL4)EAソースコード公開サイト11選と動かし方MT4(MQL4)のEAソースコードを無料で公開しているサイト11選。付属のMACD Sample、日本語の学習サイト、MQL5コードベース、GitHubをレベル別に紹介し、コンパイルして動かす手順も解説します。
よくある質問
Q1. MT4のEAソースコードはMT5でそのまま使える?
A1. 使えません。MT4はMQL4、MT5はMQL5という別の言語で書かれており、発注方法や関数名も変わっています。ロジックの考え方は流用できますが、コードは書き直しが必要です。
Q2. プログラミング未経験でもMT5のEAは作れる?
A2. MT5に標準搭載の「MQL5ウィザード」を使えば、条件を選ぶだけでコードを自動生成できます。より細かく条件設定したい場合は「EAつくーる」のようなノーコードツールも選択肢です。
あわせて読む
FX EAの自作・作り方|MQL4で始める初心者向けEA開発入門FXのEAはMT4付属のMetaEditorとMQL4で無料で自作できます。必要なもの・難しさ、ひな形作成からコンパイル・バックテストまでの手順と全コード、未経験者向けのノーコードツール・ChatGPT・作成代行も解説します。
Q3. MQL5ウィザードとEAつくーるはどちらを使うべき?
A3. まずは無料のMQL5ウィザードで基本構造を試すのがおすすめです。選べる条件の幅が足りないと感じたら、EAつくーるのような有料ツールでより細かい設定に進むとよいでしょう。
Q4. MQL4のコードをMQL5に移植するときの主な違いは?
A4. 書き換えが必要なのは主に発注・ポジション確認・インジケーター値の取得の3点です。MQL5の発注は、MqlTradeRequest構造体を渡すOrderSend関数か、標準ライブラリのCTradeクラス(Buy・Sell等)で行います。保有ポジションはPositionsTotalとPositionGetTicketで調べ、iMAなどのインジケーター関数は値ではなくハンドルを返すので、CopyBufferで値を読み出します。
Q5. MQL5 CodeBaseのコードは自由に使ってよい?
A5. CodeBaseのコードは無料でダウンロードでき、MetaEditorから直接取得することもできます。CodeBaseは公開コードを学んで自分のEAを開発するための場として案内されていますが、MQL5.comの利用規約は、許可されている場合を除きサイト上のソフトウェアの複製・販売・再配布・改変などを禁じています。販売や再配布をしたい場合は、各コードのページの説明を読み、作者に確認してから行ってください。
Q6. 国内でMT5に対応しているFX会社は増えている?
A6. MT4をやめる会社は出ていますが、MT5でEAを動かせるかは会社ごとに違います。OANDA証券はMT4を2026年11月27日で終了し、MT5への移行を案内しています。JFXはMT4を2026年8月19日に終えましたが、同社のMT5はチャート分析専用で発注機能がなく、EAは動きません。FXTFは2026年9月1日にMT5の提供を始め、まず商品CFD・暗号資産CFDに対応し、FX取引は準備中です(2026年9月26日時点)。
まとめ|レベル別のおすすめルート
7つのサイトとMT5標準の2機能を紹介しましたが、どこから手を付けるべきかはレベルによって変わります。回る順番の目安をまとめました。
レベル別のおすすめルート
超初心者(MT5未経験)
- MT5付属のサンプルソースを読む
- MQL5ウィザードでコードを1本生成する
初心者(基本構造は理解した)
- mqlinvestmentlabでMQL5のサンプルを読み、ぷろぐらむFXのMT4版をMT5に書き換えてみる
プログラミングが難しい
- EAつくーるでノーコード生成から始め、コードを読んで理解する
中級者以上
- MQL5コードベース・EarnForex・GitHubから探し、ライセンスを確認して取り込む
- 超初心者(MT5未経験):まずはMT5付属の「サンプルソース」を読み、MQL5ウィザードでコードを1本生成してみる
- 初心者(基本構造は理解した):mqlinvestmentlabでMQL5のサンプルを1行ずつ読み、ぷろぐらむFXで作りたいロジックに近いMT4版のコードを探して、MT5に書き換えてみる
- プログラミングが難しい:EAつくーるでノーコード生成から始め、生成後のコードを読んで理解を深める
- 中級者以上(英語のコードも読める):MQL5のコードベースやEarnForex・GitHubでより高機能なEAを探し、ライセンスを確認したうえで自分のロジックに取り込む
MT4からの移行であっても、いきなり複雑なロジックを移植する必要はありません。今の自分のレベルに合った入手先を1つ選び、コードを実際に読んで動かしながら、MT5の書き方に少しずつ慣れていきましょう。MT4のコードを移植するときは、発注・ポジション管理・インジケーター値の取得の3点から書き換えるのが近道です。
あわせて読む
MT4(MQL4) EA開発&運用を学ぶためのオススメ書籍、本MT4(MQL4)のEA開発と運用を学ぶオススメ書籍をレベル別に紹介。書籍選びで失敗しない3つの視点や学習リソースも解説します。
※本記事は情報提供を目的としたもので、特定のEA・金融商品の売買を推奨するものではありません。FX(外国為替証拠金取引)は元本が保証されておらず、レバレッジにより預けた証拠金を上回る損失が発生する可能性があります。記事内の成績・数値は過去の実績であり、将来の利益を保証するものではありません。投資の最終判断はご自身の責任でお願いします。


