「FXのEAを自作したら儲かるのか」と検索すると、「儲かる」と書いてあるサイトと「儲からない」「おすすめしない」と書いてあるサイトが両方出てきます。本記事では、自作EAで利益を残せる人と残せない人を分ける構造を、4つの条件と4つの失敗パターンに整理します。さらに、自作の手段(コーディング派/ノーコード派/生成AI派)の比較、必要なコストの内訳、撤退すべきサインまで一通り扱います。FX口座開設前の立場で同じテーマを調べた立場から、判断材料として参考になれば幸いです。
結論:自作EAで「儲かる構造」に立てる人にだけ収益が残る
FX EAを自作して儲かるかどうかは、二択ではなく構造で決まります。同じ「自作」でも、ロジックの理解度・検証の手順・撤退基準の有無で結果が大きく変わるためです。「儲かる派」のサイトは儲かる構造に立てた人の話を、「儲からない派」のサイトは儲からない構造に落ちた人の話を、それぞれ別の角度から書いていると整理できます。
本記事の立場:自作EAで儲かるかどうかは「誰が・何を・どう作って・どう運用するか」で決まる。両論を片方に倒さず、構造で示します。
そのうえで本記事では、「絶対に儲かる」「誰でも稼げる」といった表現は使いません。誇大な期待を煽らず、自作の手段・必要コスト・撤退基準まで含めて、検索者が自分の現在地を確認できるように整理します。
そもそも「EA」とは何か:自作の前提となる用語整理
EAは Expert Advisor の略で、MetaTraderというFX取引プラットフォーム上で動作する自動売買プログラムを指します。MetaTrader には MetaTrader 4(MT4)と MetaTrader 5(MT5)の2系統があり、それぞれ MQL4・MQL5 という専用のプログラミング言語でEAを記述します。
EAが動く仕組み(OnTickによるイベント駆動)
EAは、相場の価格更新(ティック)が発生するたびに自動で呼ばれる関数の中で、エントリー条件と決済条件を判定します。MQL4 / MQL5 ではこの関数を OnTick(MetaTraderで価格更新ごとに呼ばれるイベント関数)と呼びます。判定の結果、条件を満たせば注文を出し、条件を外れれば決済します。これがEAの基本構造です。
裁量取引が「人が画面を見て判断して発注する」のに対し、EAは「ロジック化された判断を機械が24時間繰り返す」点が大きな違いです。
「自作EA」と「市販EA」の境界線
EAは大きく次の3つに分けられます。
- 市販EA:第三者が販売しているもの。完成品として購入する
- 配布EA:無料で配布されているもの。ロジックの中身は把握しないと使いこなせない
- 自作EA:自分でロジック設計・コーディング・検証・運用を行うもの
なお「自作」の中にも、コードを一行ずつ書く方法もあれば、ノーコードのEAビルダーを使う方法、生成AIにコード化を依頼する方法もあります。詳細は後の章で整理します。
公的データで見る「FXで儲かっている人」の現実
「FX EA 自作 儲かる」と検索する方の多くは、業界全体でどのくらいの人が利益を出しているかを知ったうえで、自作の効果を測りたいと考えていると思われます。公的調査の数字をいったん押さえておきます。
金融先物取引業協会「外国為替証拠金取引の取引顧客における金融リテラシーに関する実態調査(2018年)」によると、調査対象となったFX取引経験者のうち、利益を残した人の割合は約60%という結果が出ています。一見すると「6割が勝っている」とポジティブに読めますが、調査時点で取引を継続している人を中心に集計されているため、すでに退場した人の損益は反映されにくい点に留意する必要があります。
この6割という数字は「裁量取引者を含む全体」の値です。「自作EA運用者だけの収益者比率」を示したものではありません。自作EAの収益に直接適用できる数字ではないことを理解しておきましょう。
よく検索される「億り人」「月10万円」といった言葉については、業界全体の中でも限られた層であり、自作EAだから自動的に達成できる水準ではありません。期待値の感覚としては「裁量取引より労力が少なく済む可能性はあるが、儲かる人と儲からない人の差は依然として大きい」と整理しておくのが現実的です。
自作EAで儲かる側に立つための4条件
競合サイトの上位記事や公開された運用ブログを横断的に読み比べると、自作EAで継続的に利益を残している層には共通する4つの条件があります。これらは「あれば儲かる」ではなく「これがないと儲かる構造に立ちにくい」という前提条件として機能します。
条件①:ロジックを言葉で説明できる
「なぜこのロジックが利益を生むのか」を自分の言葉で説明できることが、儲かる側に立つ最低条件です。例えば「移動平均がゴールデンクロスしたら買う」というロジックなら、「相場のトレンド転換を遅行指標で確認するため」といった機能の根拠を持っているかどうか。根拠を持っていれば、相場環境が変わってロジックが効かなくなったときに改善の方向を判断できます。
「なんとなく勝ちそうだから」で組んだロジックは、負けたときに改善の打ち手が見えません。ロジックを言語化できるかが、長期での収益分岐点になります。
条件②:検証の正しい順序を守れる
バックテスト→フォワードテスト→デモ口座→本番(最小ロット)の順序を、各段階で十分な期間を取って踏める人ほど、本番で大きく崩れにくくなります。順序を飛ばして本番にいきなり投入するパターンは、ほぼ例外なく損失を抱えやすい構造に陥ります。検証順序の詳細は後の章で扱います。
条件③:撤退基準を「作る前」に決められる
自作EAで儲かる側に残っている人は、運用前に撤退基準を文章化しています。例えば「最大ドローダウンが10%を超えたら停止」「フォワードテスト3ヶ月で勝率がバックテスト比50%を下回ったら撤退」といった具体的な数値です。運用後に決めようとすると、損失を取り戻したい心理が判断を歪めます。
条件④:継続的な改善と運用監視を続けられる
相場環境は時間とともに変化します。同じロジックがいつまでも同じパフォーマンスを出すとは限りません。月次でログを確認し、パラメータの妥当性を見直す習慣がある人ほど、長期で利益を残しやすい傾向があります。「作って放置」ではなく「作って、見て、直す」のサイクルが必要です。
自作EAで儲からない側に落ちる4パターン
儲かる4条件と表裏の関係にあるのが、儲からない側に落ちる4パターンです。前章の条件を満たさない場合、以下のいずれかに当てはまる可能性が高くなります。自分が今どこにいるかを照らし合わせる素材にしてください。
パターン①:過剰最適化(カーブフィッティング)
過去データに対して成績が良くなるようにパラメータを細かく調整しすぎ、未知の相場で通用しなくなる現象です。バックテストの成績だけ見ると「最強のEA」が出来上がりますが、本番で同じ成績が再現できる保証はありません。
過剰最適化は自作で最も陥りやすい罠です。「過去で勝率90%」のような数字が出たときほど、過去への適合度を疑う視点が必要になります。
パターン②:ロジック未理解の「コピペ自作」
ネットで拾ったコードを切り貼りして動かしているだけの状態を「自作」と呼ぶ場合があります。コードが動くこととロジックを理解していることは別物です。なぜ機能するかを言語化できないと、相場が変わったときの修正方向が見えません。「自作したけれど儲からない」と語る方の一定数が、実はこのパターンに該当しています。
パターン③:撤退基準なしで延々と運用続行
月次でマイナスが続いていても止められないパターンです。「次の月で取り返せるかもしれない」「もう少しデータが集まれば挽回できる気がする」という心理が、損失を膨らませます。撤退基準を運用前に決めていない場合、どこで止めるかの客観的な判断軸を失います。
「あと1ヶ月だけ続けてみる」を毎月繰り返している場合、撤退基準が機能していない可能性があります。判断保留は判断ではありません。
パターン④:スプレッド・スリッページ・約定遅延の軽視
バックテストでは利益が出ても、本番ではスプレッド(売値と買値の差)・スリッページ(注文価格と約定価格の差)・約定遅延などのコストで利益が消えるパターンです。短い時間軸のロジックほどこの影響を受けやすく、スキャルピング系の自作EAでよく起きます。VPS(仮想専用サーバー、24時間EAを動かすためのレンタルサーバー)を使わずに自宅PCで動かしている場合、ネットワーク遅延も発生します。
自作の手段は3層に分かれる:自分に合う層を選ぶ
「自作EA」と一口に言っても、現在は手段の幅が広がっています。大きく次の3層に分かれます。「儲かるかどうか」と並んで「自分に作れるかどうか」が気になる方も多いと思いますので、それぞれの特徴を整理します。
層①:コーディング派(MQL4/MQL5/Python)
MetaTrader系であれば MQL4・MQL5、ブローカーAPIを使うなら Python(Pythonはデータ分析と幅広く使われるプログラミング言語)が代表的な選択肢です。MQL4 と MQL5 はソース互換性がなく、それぞれ MT4 用 / MT5 用として書き分ける必要があります。文法は MQL5 が C++ ベース、MQL4 は C ベースを起点としつつ build 600 以降はオブジェクト指向にも対応しており、いずれもC/C++経験者には親しみやすい構文です。プログラミング経験者であれば公式ドキュメントを読みながら基礎を1週間〜1ヶ月で押さえられるとされています。
「基礎を押さえる」と「儲かるEAが書ける」は別の話です。文法が分かるようになるのと、利益を残す運用ができるようになるのは別フェーズだと整理しておきましょう。
層②:ノーコード派(EAビルダー・戦略構築機能)
プログラミングを書かずにEAを生成するビルダー型のサービスがあります。GUIで条件を選んでいくだけでロジックを組めるため、学習コストが低く、初学者でも形になりやすい点が利点です。一方、表現できるロジックの自由度には上限があり、複雑な条件分岐や独自指標を作る場合はコーディング派に切り替える判断が必要になります。
層③:生成AI派(ChatGPT等にコード化を依頼)
2026年5月時点で広がっているのが、生成AIにロジックを言語で説明してコードを書かせる方法です。例えば「移動平均25と75がゴールデンクロスしたら買い、デッドクロスで決済する MQL4 のEAを書いてください」と依頼すると、たたき台のコードが返ってきます。
生成AIが書いたコードはあくまで「たたき台」です。動く保証も、ロジックが正しい保証もありません。「読んで判断できる目」を自分で持っていないと、結局は前述の「コピペ自作」と同じ罠に落ちます。
3層比較表
| 項目 | コーディング派 | ノーコード派 | 生成AI派 |
|---|---|---|---|
| 学習コスト | 大 | 小 | 中 |
| 自由度 | 最大 | 限定的 | 中(AIの出力依存) |
| メンテ性 | 高い(自分で読める) | ツール依存 | 中(コードを読めれば高い) |
| 儲かる構造への到達しやすさ | 条件次第で高い | 表現できるロジック範囲内なら可 | ロジック理解の有無に依存 |
| 向く人 | プログラミング経験あり・自由度を取りたい | すぐ形にしたい・複雑なロジックは不要 | 言語化が得意・コードを読める |
どの層を選んでも「儲かる構造」の前提(ロジック理解・検証順序・撤退基準)は共通です。手段が変わるだけで、必要な思考の土台は変わりません。
自作EAの「本当のコスト」:4種類のコストを認識する
「自作EAは無料で作れますか」という疑問はよく見かけますが、ソフトウェア費用が無料なのと、運用全体のコストがゼロなのは別の話です。自作EAには次の4種類のコストがかかります。
コスト①:学習コスト(時間)
MQL4 の基礎を押さえるだけなら1週間〜1ヶ月程度ですが、相場の知識・指標の意味・テクニカル分析の前提などを理解する時間は別途必要になります。「儲かるEAが書けるレベル」までは数ヶ月から数年単位の継続学習が一般的です。
コスト②:検証コスト(時間と過去データ)
バックテストには過去のティックデータが必要です。MetaTrader にはサンプルデータが含まれますが、本格的な検証では追加データを用意する場合もあります。フォワードテストには「リアルタイムで時間が経過するのを待つ」コストがかかり、最低でも3ヶ月程度が目安です。
コスト③:運用コスト(VPS・必要証拠金)
EAを24時間動かす場合、VPS(仮想専用サーバー)を借りるのが一般的です。月額1,000〜数千円程度が相場とされています(2026年5月時点、各社サービスにより変動)。加えて取引には必要証拠金がかかります。1,000通貨単位対応のFX会社であれば、米ドル/円のような主要通貨ペアなら数千円から本番投入が可能です。
コスト④:心理コスト(撤退判断のメンタル負荷)
「数ヶ月かけて作ったEAを撤退させる」判断ができますか?このメンタル負荷を見落とすと、撤退すべきタイミングで動けなくなり、損失が拡大する原因になります。
心理コストは目に見えませんが、実際の収益を最も削る要素になります。費用面のコストと並んで、運用前から想定しておく価値があるコストです。
最小サンプルコード:MQL4で骨格を見る
「自分にコードが書けそうか」を判断する材料として、MQL4 の最小骨格を疑似コードで確認します。実運用には程遠い構造ですが、EAがどのように動くかのイメージは掴めます。
// MQL4: 移動平均クロスEAの最小骨格(疑似コード・参考)
extern int FastMA = 25; // 短期移動平均期間
extern int SlowMA = 75; // 長期移動平均期間
extern double Lots = 0.01; // 取引ロット
int OnInit() {
// EA起動時の初期化処理
return INIT_SUCCEEDED;
}
void OnTick() {
// 価格更新ごとに呼ばれる
double fast = iMA(NULL, 0, FastMA, 0, MODE_SMA, PRICE_CLOSE, 0);
double slow = iMA(NULL, 0, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 0);
double fastPrev = iMA(NULL, 0, FastMA, 0, MODE_SMA, PRICE_CLOSE, 1);
double slowPrev = iMA(NULL, 0, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 1);
bool goldenCross = (fastPrev <= slowPrev) && (fast > slow);
bool deadCross = (fastPrev >= slowPrev) && (fast < slow);
// ポジションがない時のみエントリー
if (OrdersTotal() == 0) {
if (goldenCross) {
OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, "MA Cross Long", 0, 0, clrBlue);
} else if (deadCross) {
OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, "MA Cross Short", 0, 0, clrRed);
}
}
// 反対シグナルで決済する処理は省略
}
実際のEAでは、損切り・利確・ポジション管理・複数通貨ペア対応・時間帯フィルタなど、上記より大幅にコードが膨らみます。それでも、価格更新ごとに条件判定して注文を出す、という基本構造は変わりません。
注文を出すまでの最小処理の流れ
- ティック受信(OnTick関数が呼ばれる)
- 指標計算(移動平均・RSI等を算出)
- 条件判定(エントリー条件・決済条件をチェック)
- 注文発注(OrderSend関数で買い/売りを送信)
- 約定確認・記録(成功・失敗をログに残す)
「儲かるEA」までの正しい検証順序:4ステップ
EAを書いてからいきなり本番に投入するのは、典型的な「儲からないパターン」につながります。儲かる構造に立つには、次の4ステップの順序を守ることが重要です。
過去データに対してEAを動かし、戦略の方向性を確認します。MetaTrader のストラテジーテスター機能で実行できます。注意点は、過去で勝てたから未来で勝てるとは限らないこと。「過去の傾向を読んだうえでの仮説検証」というスタンスで見ます。
バックテストには使っていない直近の相場で、リアルタイムにEAを稼働させて成績を見ます。最低3ヶ月、可能なら半年以上が目安です。複数の相場局面(トレンド・レンジ・急変動)を経験させることが重要です。
本番口座と同じ価格・スプレッドで、実弾を使わずに動かす段階です。スプレッドの拡大・スリッページ・約定遅延の影響を確認します。バックテストでは見えなかった現実のコストがここで現れます。
1,000通貨単位対応のFX会社であれば、最小ロットでの本番運用が可能です。失敗してもダメージが小さい範囲で、リアル資金特有の心理的影響を確認します。問題なければ段階的にロットを上げる判断をします。
この4ステップを「省略せずに、それぞれ十分な期間を取って踏める」ことが、自作EAで儲かる構造に立つ最低条件です。各ステップで撤退判断ができることも併せて確認しましょう。
自作EA vs 既製品EA:どちらが儲かる構造か
自作の労力を取るか、既製品EAを買って楽するか。検索者の多くがこの2択で迷っていると思われます。両者を比較表で整理します。
| 項目 | 自作EA | 既製品EA |
|---|---|---|
| 初期費用 | 低い(無料ツール+学習時間) | 数千円〜数十万円 |
| ロジック理解 | 自分で組むため理解しやすい | ブラックボックスのことが多い |
| 改善・修正 | 自由 | 不可または制限あり |
| 撤退判断 | 自分の判断軸で可能 | 販売者の主張に引きずられやすい |
| 過剰最適化リスク | 自分で監視できる | 販売段階で過剰最適化済みの可能性 |
| 必要な労力 | 大 | 小 |
既製品EAは「過去データで好成績だったロジック」を販売している場合が多く、過剰最適化のリスクを買い手が負う構造になりがちです。一方、自作EAは労力がかかりますが、ロジックを自分で理解しているため、相場が変わったときに改善・撤退を主体的に判断できます。
「儲かる構造」に立ちやすいのは自作の方ですが、自作したから自動的に儲かるわけではない点には注意が必要です。儲かる4条件を満たした自作EAだけが、構造上有利になります。
自作EAから撤退すべきサイン:時間とお金を守る判断軸
「儲かるかどうか」を語る記事の多くは「儲からなかった場合の処理」を書きません。しかし、撤退基準を持たないまま運用を続けることが、自作EAで損失を膨らませる最大の原因です。次のサインが出たら、立ち止まって撤退の検討を始める価値があります。
- フォワードテスト3ヶ月で勝率がバックテスト比50%以下に落ちている
- 同じロジックを2回大幅修正してもパフォーマンスが回復しない
- 月次レビューを2ヶ月以上放置している
- 運用前に決めた最大ドローダウンを2回連続で超えた
- 「次の月で取り返せる」と思って継続している期間が3ヶ月を超えている
撤退は失敗ではなく戦略です。儲からない構造のEAを動かし続けるほうが、機会損失と心理コストの両面でダメージが大きくなります。
撤退した場合でも、検証で得たログ・パラメータ・気づきは次のロジック設計に活かせます。一つのロジックが通用しなくても、検証から得た学びは無駄にはなりません。
よくある質問(Q&A)
本記事の主軸では扱いきれなかった、関連する疑問を整理します。
- 初心者でも自作EAで儲かりますか?
-
プログラミング知識ゼロでも、ノーコードビルダーや生成AI活用で形にすることは可能です。ただし「儲かる」までは別の壁があります。本記事で示した儲かる4条件(ロジック言語化・検証順序・撤退基準・継続改善)を満たさないまま本番投入すると、儲からない側に落ちる確率が高くなります。
- 自作EAは無料で作れますか?
-
MetaTrader 本体・MetaEditor は無料で利用できます。コード自体も無料で書けます。一方、24時間EAを動かすためのVPS料金(月額1,000円〜数千円程度、2026年5月時点)、本番投入時の必要証拠金、検証用データの追加コストなどは発生します。「ソフトは無料、運用は有料」と整理しておくと現実に近いです。
- FX自動売買にはいくらの税金がかかりますか?
-
国税庁タックスアンサー No.1521「外国為替証拠金取引(FX)の課税関係」によると、FXは申告分離課税の対象で、税率は20.315%(所得税15%・復興特別所得税0.315%・住民税5%)です。自作EAで利益を出した場合も同じ税率が適用されます。損失が出た場合、翌年以降3年間の繰越控除も可能です(要件あり)。
- 自作EAでいくらから始められますか?
-
1,000通貨単位対応のFX会社(2026年5月時点で複数あり)であれば、米ドル/円のような主要通貨ペアで数千円の証拠金から本番投入できます。ただし「儲かる」を目的に最初から大きな資金を入れるのではなく、検証目的で最小ロットから始めるのが無難です。
- MQL4とMQL5のどちらを学べばよいですか?
-
両者はソース互換性がなく、書いたコードを相互に流用することは基本的にできません。日本語の解説記事はMQL4のほうが豊富ですが、MT5への移行も進んでいます。利用予定のFX会社が対応する MetaTrader のバージョンに合わせるのが現実的な選び方です。両方学びたい場合は、まず MQL4 で基礎を押さえてから MQL5 へ移行するルートも一般的です。
- 生成AIにEAを書かせれば儲かりますか?
-
生成AIで形は作れますが、出力されたコードの正しさを判断する目を自分で持っていないと、本記事で挙げた「コピペ自作」と同じ罠に落ちます。AIは道具であり、ロジック設計の責任と撤退判断は使う側が持つ必要があります。「AIが儲けてくれる」のではなく「AIに作業を肩代わりさせて自分が判断する」というスタンスがあてはまります。
まとめ:「儲かる」は条件次第。自分の現在地を確認してから動く
FX EAを自作したら儲かるかどうかは、二者択一で答えられる問いではありません。儲かる側に立てる4条件と、儲からない側に落ちる4パターンに自分を当てはめて、構造的にどちら側に寄るかを判断する種類の問いです。
儲かる側に立つ4条件:①ロジックを言葉で説明できる ②検証の正しい順序を守れる ③撤退基準を作る前に決められる ④継続的な改善と運用監視ができる
儲からない側に落ちる4パターン:①過剰最適化 ②コピペ自作(ロジック未理解) ③撤退基準なしの運用続行 ④スプレッド・スリッページの軽視
自作の手段は、コーディング派/ノーコード派/生成AI派の3層に分かれます。どの層でも「儲かる構造」の前提は共通であり、必要な思考の土台は変わりません。学習コスト・検証コスト・運用コスト・心理コストの4種類のコストを意識し、撤退基準まで含めて運用前に整理しておくことが、時間と資金を守る最も現実的な方法だと整理できます。
私自身、まずは MQL4 の最小サンプルを動かしながら、フォワードテストの段階で撤退判断ができるかを確かめるところから始めるつもりです。同じく自作EAの収益性を見極めようとしている方の判断材料の一つになれば幸いです。