トレンド判断の定番「パーフェクトオーダー」だけでエントリーするEAを作ると、本当に勝てるのでしょうか。
USDJPYの15分足・1時間足・4時間足で試すと、3つとも最後はテスト開始時の残高を上回りました。ただし途中で残高が大きく減る時期があり、レンジ相場では並び順が崩れるたびに小さな損切りが続くため、そのままでは安定しません。
パーフェクトオーダーの定義から、EAのエントリー・決済ロジック、ダマシを減らすフィルターまでをまとめました。MQL4のソースコードとテスト用EAも載せています。
この記事でわかること
- パーフェクトオーダーの定義と、3本の移動平均線の並び順の見方
- EAのエントリー・決済条件とMQL4コード
- 15分足・1時間足・4時間足のバックテスト結果の違い
- ADX・上位足など、ダマシを減らすフィルター6種
パーフェクトオーダーとは
パーフェクトオーダーとは、期間の異なる3本の移動平均線が「短期>中期>長期」(下降トレンドでは「短期<中期<長期」)の順に並び、3本とも同じ方向を向いている状態のことです。この並び順を使ってトレンドの方向と強さを判断します。

短期・中期・長期のすべてで相場の方向が一致しているため、トレンドが続きやすいのが特徴です。移動平均線の角度が急なほどトレンドの勢いが強いと判断します。
EMA(指数平滑移動平均)は直近の値動きを重く見る平均で、N本のEMAでは最新の足に2÷(N+1)の重みがかかります。重みが半分になるまでの本数(半減期)を計算すると、25EMAは約9本、75EMAは約26本、200EMAは約69本です。短期線ほど早く向きを変えるので、並び順はまず短期線の動きから崩れます。
パーフェクトオーダーではどうトレードする?
一般的なトレード手法は次の4ステップです。EAにする場合は、どのステップまでルール化するか(特に押し目を待つかどうか)で性格が変わります。
パーフェクトオーダーの基本的なトレード
押し目とは、上昇トレンドの途中で価格が一時的に下がる局面のことです。並び順が保たれたまま短期線や中期線まで価格が戻ったところで買えば、高値づかみを避けながらトレンドに乗れます。下降トレンドでは、同じ考え方で戻り売りを狙います。
併せて読む
ピラミッティングEAは稼げる?3種の検証結果とナンピンとの違いピラミッティング(ピラミッディング)EAを自作し、順・逆・イコールの3種類をバックテスト。結論は単体では稼げず、トレンド判定の優位性が前提です。ナンピンとの違い、増し玉ルール、反転時の損益試算、MQL4ソースも解説します。
パーフェクトオーダーEAの作り方(MQL4)
パーフェクトオーダーEAは、3本のEMAの並び順でエントリーし、長期線を割ったら決済するだけで作れます。「押し目を待つ」ルールは入れず、並び順が揃ったらすぐに入る最もシンプルな条件にしました。条件が単純なほど、パーフェクトオーダーそのものの実力が成績に出ます。
売買ルール:エントリーと決済の条件
エントリーと決済のMQL4コード
エントリー判定部分のソースコードは次のとおりです。
// EMA(1本前の確定足で判定)
double EMA1 = iMA(NULL, 0, 25, 0, MODE_EMA, PRICE_CLOSE, 1);
double EMA2 = iMA(NULL, 0, 75, 0, MODE_EMA, PRICE_CLOSE, 1);
double EMA3 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, 1);
// 上昇のパーフェクトオーダー
if(EMA1 > EMA2 && EMA2 > EMA3 && Close[1] > EMA1){
OrderSend(Symbol(), OP_BUY, lot, Ask, 3, stopLoss, takeProfit, "BuyOrder", 12345, 0, clrGreen);
}
// 下降のパーフェクトオーダー
else if(EMA1 < EMA2 && EMA2 < EMA3 && Close[1] < EMA1){
OrderSend(Symbol(), OP_SELL, lot, Bid, 3, stopLoss, takeProfit, "SellOrder", 12345, 0, clrRed);
}
- iMAの最後の引数を1にして「確定した1本前の足」で判定する。0(現在の足)で判定すると、足の途中で条件が行ったり来たりして無駄なエントリーが増える
- ポジション保有中は再エントリーしないよう、OrdersTotal()でポジション数を確認する処理を別途入れている
- OrderSendの5番目の引数(スリッページ)はポイント単位。小数点以下3桁(USDJPYなら0.001円刻み)の業者では、3は0.3pipsしか許容しない。約定しにくいときは30(3pips)程度に広げる
- MQL4の基本から知りたい場合は自作EAの作り方を参照
決済は、1本前の終値が長期の200EMAを割り込んだら(売りは上抜けたら)ポジションを閉じます。自分のEAのポジションだけを対象にするため、マジックナンバーと通貨ペアで絞り込みます。
// 決済判定(1本前の確定足で判定)
for(int i = OrdersTotal() - 1; i >= 0; i--){
if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
if(OrderSymbol() != Symbol() || OrderMagicNumber() != 12345) continue;
// 買いポジション:終値が200EMAを下回ったら決済
if(OrderType() == OP_BUY && Close[1] < EMA3){
if(!OrderClose(OrderTicket(), OrderLots(), Bid, 3, clrYellow))
Print("決済エラー: ", GetLastError());
}
// 売りポジション:終値が200EMAを上回ったら決済
else if(OrderType() == OP_SELL && Close[1] > EMA3){
if(!OrderClose(OrderTicket(), OrderLots(), Ask, 3, clrYellow))
Print("決済エラー: ", GetLastError());
}
}
ループを後ろから回すのは、決済でポジションの番号が詰まっても取りこぼさないためです。
併せて読む時間足別のバックテスト結果
15分足・1時間足・4時間足の3パターンでバックテストした資産曲線です。
15分足


4時間足で取引回数が減るのは、長期線の200EMAが見ている期間が時間足によって大きく違うためです。FX市場を週5日・1日24時間(週120時間)として計算すると、200本分の長さは次のとおりです。
4時間足の200EMAは1か月半ほどの値動きをならした線なので、並び順が崩れにくく、揃うのもまれです。大きなトレンドだけが残る代わりに、エントリーの機会そのものが少なくなります。
「パーフェクトオーダーになったらすぐエントリー」という単純なルールでも、3つの時間足とも最後はプラスで終わりました。並び順だけで、トレンドの方向はかなりの割合でとらえられます。
併せて読む
MT4バックテストのやり方【初心者向け】EAの設定と結果の見方MT4でEAをバックテストするやり方を画像付きで解説。ヒストリカルデータの準備、ストラテジーテスターのモデル・スプレッド設定、モデリング品質90%の意味、PF・最大ドローダウンなど結果の見方までわかります。
ただし、このままでは安定したトレードには不十分です。レンジ相場では並び順が頻繁に崩れ、小さな損切りを繰り返します。あくまで「トレンド判定の土台」として使い、相場状況を加味するフィルターが必要です。
パーフェクトオーダーEAの売買
※EMAの期間と売買ルールは本文のEAと同じですが、値動きは説明用の架空のものです。▲買い ▼売り ×決済。
ダマシ対策:レンジ相場を避けるフィルター
パーフェクトオーダーEAの弱点はレンジ相場でのダマシです。次のようなフィルターを1つずつ追加して、バックテストで効果を比べてみましょう。
フィルターを増やすほどバックテストの成績は良くなりますが、増やしすぎると過剰最適化になります。追加するのは2〜3個までにし、最適化の落とし穴を避けてください。
併せて読む
カーブフィッティングとは?EAの過剰最適化を見抜く方法と回避策8つカーブフィッティング(過剰最適化)とは、最適化のしすぎで過去の相場にだけ合ったEAになることです。起きる仕組みと8つの回避方法、フォワードテストや販売ページで見抜く確認方法を、目安の数値つきで解説します。
テスト用EAのダウンロード
このパーフェクトオーダーEAは下からダウンロードできます。ダウンロード
あくまでテスト用のため動作保証はしていません。本番稼働はさせないでください。
パーフェクトオーダーを使った市販EAはある?
2026年10月時点では、「パーフェクトオーダーをベースにしている」と販売ページで明記している市販EAは見つかりませんでした。ロジックの全体を公開していない市販EAも多く、説明文だけでは中身がパーフェクトオーダーかどうかを見分けられません。
自作せずにパーフェクトオーダー系のEAを試したい場合は、フォワード実績を確認したうえで検討してください。市販EAの選び方は以下の記事で解説しています。
併せて読む
初心者でもわかる11のポイントで見る失敗しないMT4 EAの選び方MT4 EAの選び方を11のポイントで徹底解説【2026年版】。PF(プロフィットファクター)・最大ドローダウン・バックテスト期間・フォワードテストなど、失敗しないEA選定に欠かせない判断基準を初心者にもわかりやすく整理しました。
パーフェクトオーダーEAのよくある質問
Q1. パーフェクトオーダーとは何ですか?
A1. 期間の異なる3本の移動平均線が「短期>中期>長期」(下降トレンドでは逆)の順に並び、3本とも同じ方向を向いた状態です。短期・中期・長期のどの目線でもトレンドの方向が一致していると判断できます。
Q2. パーフェクトオーダーEAはどんな条件でエントリー・決済しますか?
A2. この記事のEAは、1本前の確定足で25・75・200EMAが上から順に並び、終値が25EMAより上にあれば買います(売りは逆)。決済は、終値が200EMAを割り込んだとき(売りは上抜けたとき)です。
Q3. パーフェクトオーダーだけのEAで勝てますか?
A3. USDJPYの15分足・1時間足・4時間足のバックテストでは、3つとも最後はプラスで終わりましたが、途中で最終的な利益より大きく残高が減る時期がありました。レンジ相場では小さな損切りが続くため、単体では安定しません。過去の検証結果であり、将来の利益を保証するものではありません。
Q4. パーフェクトオーダーのダマシを減らすにはどうすればいいですか?
A4. 連続本数、短期EMAの傾き、ADX(25以上)、上位足のパーフェクトオーダーなどのフィルターを1つずつ追加し、バックテストで効果を比べます。増やしすぎると過剰最適化になるため、2〜3個までにとどめます。
Q5. パーフェクトオーダーEAに向いている時間足は?
A5. この記事の検証では1時間足が最もバランスのよい結果でした。15分足はダマシが多く、4時間足は200EMAが約1か月半分の値動きをならすため、取引回数が少なくなります。
Q6. 移動平均線はSMAとEMAのどちらを使えばいいですか?
A6. EMAは直近の値動きを重く見るため反応が早く、SMAはゆっくり動くぶんダマシは減りやすい反面、エントリーが遅れます。この記事のEAはEMAを使っています。どちらが合うかは通貨ペアや時間足で変わるため、両方をバックテストで比べてください。
Q7. iMAの最後の引数を1にするのはなぜですか?
A7. 1は「確定した1本前の足」を指します。0(現在の足)で判定すると、足の途中で条件が成立したり外れたりして、無駄なエントリーが増えるためです。
まとめ
- パーフェクトオーダーは3本の移動平均線の並び順でトレンドを判断するシンプルな手法
- 「揃ったらすぐエントリー」だけでも15分足・1時間足・4時間足すべてで最後はプラスになった(途中の落ち込みは大きい)
- ただしレンジでのダマシが多く、単体では安定しない
- 連続本数・傾き・ADX・上位足などのフィルターを2〜3個試し、過剰最適化に注意して改良する




