【商品についてのお問い合わせは公式ラインからどうぞ】
https://lin.ee/9yDXJ19
メールでのお問い合わせはこちらのメアドをご利用ください。
ea-designer-kuu@hashibito-llc.com
YouTube動画解説もありますのでお時間ある方は合わせてご視聴ください。
シリーズ「AIで自作のEAを作る」第5回
先に結論を書きます。
フィルタを足す前に、時間足を疑ってください。 移動平均クロスのEAで、ADX・ATR・SL/TPの3つを足して動いた金額は最大26万円。時間足を1分足から15分足に変えて動いた金額は100万円超でした。
この記事では、時間足そのものを最適化の対象にするEAの作り方と、その結果の読み方、フィルタを足す前に確認する順番をまとめます。数字はすべてMT5のリアルティックで、2024年1月から2026年9月のXAUUSDです。
1. 時間足を入力パラメータにする
MT5のEAは通常、チャートに置いた足で動きます。これだと最適化で時間足を振れません。
やることは3つです。
(1)時間足を選択式の入力にする。 ENUM_TIMEFRAMES をそのまま使うと20種類以上あって最適化が終わらないので、主要な足だけの列挙型を作ります。
enum ENUM_TRADE_TF
{
TF_M1 = PERIOD_M1, // 1分足
TF_M5 = PERIOD_M5, // 5分足
TF_M15 = PERIOD_M15, // 15分足
TF_M30 = PERIOD_M30, // 30分足
TF_H1 = PERIOD_H1, // 1時間足
TF_H4 = PERIOD_H4, // 4時間足
TF_D1 = PERIOD_D1 // 日足
};
input ENUM_TRADE_TF TradeTimeframe = TF_H1; // 売買判定に使う時間足(チャートの足とは無関係)
input ENUM_HTF_TF HTFTimeframe = HTF_D1; // 参照する上位足(実行足より上を選ぶ)
(2)インジケーターのハンドルを、チャートの足ではなく入力の足で作る。 iMA(_Symbol, g_tf, ...) のように、_Period の代わりに入力から決めた変数を渡します。これでチャートをどの足で開いても同じ動きになります。
(3)意味のない組み合わせを OnInit で弾く。 上位足フィルタで、上位足が実行足と同じか下の足になる組み合わせはフィルタとして意味がありません。
if(UseHTFFilter && PeriodSeconds(g_htf) <= PeriodSeconds(g_tf))
{
Print("上位足は実行足より上にしてください");
return(INIT_PARAMETERS_INCORRECT);
}
INIT_PARAMETERS_INCORRECT を返すと、最適化中にこの組み合わせに当たっても止まりません。そのパスは「結果なし」として結果表から消えるだけです。
AIに頼むなら、この3点をそのまま書けば通ります。
「売買判定に使う時間足と、上位足フィルタで参照する時間足を、両方とも入力パラメータにしてください。最適化で総当たりできるように、主要な足だけの列挙型にしてください。上位足が実行足以下の組み合わせは OnInit で INIT_PARAMETERS_INCORRECT を返して弾いてください。」
2. setファイルで総当たりする
ストラテジーテスターの設定です。
| 項目 | 設定 |
|---|---|
| モデル | 全ティック(リアルティックに基づいた) |
| 最適化 | 完全アルゴリズム(低速) |
| 最適化基準 | 残高 最大(結果は全項目出るので何でもよい) |
| パラメータタブ | TradeTimeframe と HTFTimeframe の2行にチェック |
列挙型のパラメータは、開始値から終了値まで並び順に全部試されます。ステップは無視されます。実行足をM15〜H1、上位足をM30〜W1にすると15パスで、上位足≦実行足の3パスが弾かれて実質12通りです。
遺伝的アルゴリズムを使うと、パスの一部しか回りません。数十通りなら完全アルゴリズムで回してください。
3. 結果の読み方
見るのは4つです。総損益・プロフィットファクター(PF)・取引数・最大ドローダウン。

上位足フィルタだけONにした12通りの結果です。
| 実行足\上位足 | M30 | H1 | H4 | D1 | W1 |
|---|---|---|---|---|---|
| M15 | +369,050 (PF1.27 / 1,240回) | +311,393 (1.26 / 1,127) | +278,464 (1.23 / 1,085) | +402,297 (1.33 / 1,174) | +324,554 (1.26 / 1,182) |
| M30 | ― | +305,606 (1.29 / 638) | +282,833 (1.32 / 571) | +467,860 (1.53 / 595) | +364,417 (1.40 / 608) |
| H1 | ― | ― | +328,073 (1.62 / 268) | +466,055 (1.93 / 261) | +336,717 (1.57 / 282) |
読み取り方の要点です。
- 上位足は「近い足」ではなく「遠い足」が効いた。 日足が3段とも1位、週足が2位、H1・H4が最下位グループです。実行足の4〜6倍を上位足にする定石は、このEAでは外れでした
- 実行足を上げるほどPFが上がる。 日足の列で 1.33 → 1.53 → 1.93。総損益はM30とH1でほぼ同じですが、H1は261回で稼いでいるので1回あたりが2.3倍です
- 取引数が極端に少ないパスは、数字が良くても信用しない。 H4を実行足にすると3年で61〜77回しか取引が出ず、判断できません。今回の候補から外しています
MT5で回す前に、同じロジックをPythonで簡易計算して順位を予想させておくと、時間を節約できます。今回はPythonの予想(H1×D1 > M30×D1 > M15×M30)がMT5でほぼそのまま当たりました。1分足のCSVがあれば、AIに「同じロジックで全組み合わせの簡易バックテストを書いて」と頼むだけで出てきます。
4. フィルタは「時間足を決めてから」検証する
第4回で「レンジを避けるならADXが本命」と書きました。訂正します。 1分足では負けを減らしていたADXは、15分足以上では利益を削るだけでした。
理由は単純で、1分足のノイズを消すために作ったフィルタは、ノイズが少ない足では「利益の出る取引」まで削るからです。
12通りの実行足×上位足それぞれに、ADX・ATR・SL/TPをONにしたときの変化です。
| スイッチ | 総損益の変化(12通り平均) | PFの変化 | 改善した組み合わせ |
|---|---|---|---|
| ADX(14 / 22) | −158,554円 | −0.09 | 0 / 12 |
| ATR(14 / 50 / 0.80) | −115,007円 | −0.06 | 0 / 12 |
| SL/TP(ATR×2 / ×3) | −304,346円 | −0.32 | 0 / 12 |
0勝12敗が3つ。 時間足を先に決めていれば、この3つのフィルタを作る往復は要りませんでした。フィルタを検証する順番は「時間足 → 上位足 → それでも足りなければフィルタ」です。
このEAも記事も、AIと一緒に作っています。私はプログラマーではありません。MT5のEAもインジケーターも、Claude(AI)と対話しながら作っています。コードが書けなくても、作りたいものを言葉にできれば形になります。無料でも使えるので、同じように「作る側」に回ってみたい方は、こちらから試せます。
https://claude.ai/referral/sWCPCcvVWQ
※紹介リンクです。どのプランを選ばれても、私に利害はありません。
5. 出口が2つあるEAは、悪い方の出口で決まる
SL/TPが一番悪い理由は、このEAの出口が「逆クロス」だからです。そこにATR×2の損切りを足すと、トレンドの押し目で先に切られて、元の方向に伸びる分を取り逃がします。
M30で特に顕著です。
| 組み合わせ | SL/TPなし | SL/TPあり |
|---|---|---|
| M30×H1 | +305,606 | −132,981 |
| M30×W1 | +364,417 | −111,081 |
ATR×2が、30分足の押し目にちょうど引っかかる距離になっています。損切りを付けるなら「利確なし・損切りだけ遠く(ATR×4〜10)」で、逆クロス決済を邪魔せず事故だけ止める距離を探すのが次の手です。これは未検証なので、結果が出たら書きます。
6. 当たりが出たら、3つの角度で疑う
最適化で1位が出たら、そこで終わりにしません。
(1)年別に分ける。 1年だけで稼いでいないか。M30×D1の単体テストです。
| 年 | 合計 | ロング | ショート | 金の値動き |
|---|---|---|---|---|
| 2024 | +33,612(223回) | +59,775 | −26,163 | 2,069 → 2,605ドル |
| 2025 | +177,884(221回) | +186,450 | −8,566 | 2,642 → 4,347ドル |
| 2026(〜9月) | +256,364(151回) | +148,560 | +107,804 | 4,347 → 4,478ドル(横ばい) |
3年ともプラスです。2024年と2025年はほぼロングだけで稼いでいますが、金が横ばいの2026年にショートで +107,804円出ているのが、上げ相場のおかげだけではないと言える材料です。
(2)周辺を振る。 上位足の移動平均期間を20〜100で振ったのが次の表です。
| 上位足MA期間 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
|---|---|---|---|---|---|---|---|---|---|
| M30×D1 | 278,949 | 332,690 | 350,239 | 467,860 | 426,727 | 435,041 | 450,432 | 450,063 | 418,086 |
| H1×D1 | 353,783 | 290,092 | 365,180 | 466,055 | 404,041 | 403,341 | 406,787 | 441,411 | 451,093 |
50〜100は平ら、20〜40は落ちる。50だけが突出しているわけではないので、過学習ではなさそうです。短期・長期の移動平均(10/30)の周辺は未検証です。
(3)利益の偏りを見る。 2026年1月だけで総損益の27%(+128,243円)。上位10トレードを除くと +100,276円しか残りません。トレンドフォローの利益はこういう形になるので、フォワードで数か月負け続けても異常ではありません。
7. 資金の目安を先に計算する
証拠金ベースの最大ドローダウンは104,252円(7.08%)。これは「100万円に0.01ロット」での数字です。
| 口座資金 | 同じDDの割合 |
|---|---|
| 100万円 | 7% |
| 50万円 | 14% |
| 30万円 | 35% |
| 10万円 | 破綻圏 |
ロットは0.01より下げられないので、0.01ロットあたり30〜50万円が現実的なラインです。バックテストの総損益より先に、この表を作ってください。
チェックリスト
| 順番 | やること | 合格ライン |
|---|---|---|
| 1 | 時間足を入力パラメータにして、実行足×上位足を総当たり | 全通りプラス。取引数が少なすぎるパスは除外 |
| 2 | 1位の組み合わせで、フィルタを1つずつON/OFF | 改善しないフィルタは初期値OFF |
| 3 | SL/TPは逆クロス決済との相性を見る | 利益が減るなら付けない |
| 4 | 年別・周辺・利益の偏りで疑う | 各年プラス、周辺が平ら |
| 5 | 資金の目安を出す | 0.01ロットあたりの必要資金 |
| 6 | 別業者データとデモフォワード | 順位が変わらない |
今回は4の一部(短期・長期MA期間の周辺)と、5以降が未了です。
詰まった過程は、noteに書きました
この記事は手順に絞りました。ADXを本命と書いてから訂正するまでの2週間、AIに何を頼んでどう返ってきたか、「呆然とした」瞬間の話は、noteのほうに書いています。
(note第5回のURLを公開後に入れる)
※シリーズの過去回はこちらです。
- 第1回:https://eadesign-kuu.jp/2026/08/24/ai-generated-mql5-mt4-mt5-ima-handle/
- 第2回:https://eadesign-kuu.jp/2026/08/24/ai-ea-development-workspace-setup/
- 第3回:https://eadesign-kuu.jp/2026/08/27/backtest-curve-fitting-random-data-validation/
- 第4回:https://eadesign-kuu.jp/2026/08/29/ma-whipsaw-filter-ai-prompt/
動画はこちらです。
第3話|時間足そのものを最適化する https://youtu.be/m9ynBprcOMk
使用ブローカー
MT5を使うには口座が必要です。私が使っているのはExnessです。
https://one.exnessonelink.com/a/frbss95cj4
お問い合わせ
公式LINE:https://lin.ee/9yDXJ19 / メール:ea-designer-kuu@hashibito-llc.com
免責事項
本記事は情報提供および技術解説を目的としたものであり、投資勧誘を目的としたものではありません。本記事で紹介するEAおよび検証手順は学習用のものであり、収益を保証するものではありません。バックテストの結果は将来の成果を保証しません。FX・CFD取引には元本を割り込むリスクがあります。取引の最終判断はご自身の責任で行ってください。
EA Designer Kuu

コメント