MACD EAの作り方|ノーコードで自作

MACD EAをノーコードで作成する画面イメージ

こんにちは。MACDを使ったEAを作りたいけれど、MQL4やMQL5のコードを見るだけで手が止まってしまう方は多いと思います。MACDは定番のテクニカル指標なのでEA化しやすい一方で、クロスしたら買う、下抜けしたら売る、という単純な条件だけではレンジ相場で負けやすいのも事実です。

この記事では、MACD EAの作り方をノーコード前提で整理します。MACDラインとシグナルラインの考え方、確定足での判定、フィルター条件、損切りと利確、バックテストの見方まで、実際にEAとして動かすときに必要な順番でまとめました。コードを書かずに自作したい方でも、どこから決めればいいか見える内容にしています。

この記事のポイント
  • MACD EAで最初に決める売買条件がわかる
  • クロスだけに頼らないフィルター設計を整理できる
  • ノーコードでEA化する手順と注意点がわかる
  • バックテスト前に見るべきリスク項目を確認できる
目次

MACD EAの作り方の基本

MACDラインとシグナルを使ったEAルール設計のイメージ

MACDの役割を整理する

MACD EAの作り方で最初に整理したいのは、MACDが何を見ている指標なのかです。MACDは短期EMAと長期EMAの差を使って、相場の勢いと方向感を見やすくしたテクニカル指標です。一般的にはMACDライン、シグナルライン、ヒストグラムの3つを見ます。MetaTrader 4公式ヘルプでも、MACDは26期間EMAと12期間EMAの差を基本にし、9期間のシグナルラインを重ねて売買機会を判断する指標として説明されています。

EA化するときは、チャート上で見ている感覚をそのまま自動化できるわけではありません。「なんとなく上向き」「そろそろ反転しそう」ではEAが判断できないからです。EAに渡すには、買い条件、売り条件、決済条件、取引しない条件をはっきり分ける必要があります。たとえば買いなら、MACDラインがシグナルラインを下から上に抜けた、価格が長期移動平均線より上にある、直近の足が確定している、というように条件を文章で固定します。

MACDは万能な予測装置ではなく、移動平均の差から相場の勢いを読む指標です。EAでは「勢いが出た場面だけを拾う道具」と考えると、条件設計がぶれにくくなります。

初心者の方がつまずきやすいのは、MACDの説明を読んだ直後にすぐEA化しようとすることです。まずは、どの通貨ペア、どの時間足、どの方向のトレードを狙うのかを決めてください。5分足で細かく回すEAと、1時間足でトレンドを拾うEAでは、同じMACDでも必要な条件が変わります。時間足を先に決めないままパラメータだけ触ると、バックテスト結果に合わせた後付けのロジックになりやすいですね。

要素EAで見る役割注意点
MACDライン短期と長期の勢い差価格より遅れて反応しやすい
シグナルラインクロス判定の基準未確定足では交差が消えることがある
ヒストグラム勢いの強弱確認色や形だけで売買を決めない

クロス条件を決める

MACD EAで最もわかりやすい売買条件は、MACDラインとシグナルラインのクロスです。MACDラインがシグナルラインを下から上に抜けたら買い、上から下に抜けたら売り、というルールですね。裁量トレードでもよく使われる考え方なので、ノーコードでEAを作る場合も最初の題材にしやすいです。

ただし、クロス条件は「交差した瞬間」ではなく「足が確定したあと」に判定するのが基本です。現在形成中のローソク足では、価格が少し戻るだけでクロスが出たり消えたりします。この状態でEAが発注すると、チャートを見返したときには存在しないシグナルでエントリーしたように見えることがあります。初心者ほどここで混乱しやすいので、条件名に「確定足で上抜け」「確定足で下抜け」と書いておくと安全です。

最初のMACD EAは、買い条件と売り条件を左右対称に作るより、まず買いだけ、または売りだけで検証すると原因を追いやすくなります。

クロス条件には、同じシグナルで何度も入らない仕組みも必要です。たとえば、MACDが上抜けしたあとに数本の足でラインが近いまま推移すると、条件の作り方によっては何度も買いエントリーしてしまいます。EAでは「クロスした足だけ」「ポジションがないときだけ」「同じ通貨ペアとマジックナンバーのポジションがないときだけ」のように、重複エントリーを防ぐ条件を入れておくと実運用に近づきます。

条件買いEAの例売りEAの例
クロスMACDがシグナルを上抜けMACDがシグナルを下抜け
判定足1本前の確定足で判定1本前の確定足で判定
重複防止保有ポジションなし保有ポジションなし

ゼロラインを使い分ける

MACD EAの作り方では、クロスだけでなくゼロラインをどう扱うかも重要です。ゼロラインは、短期EMAと長期EMAの差がプラスかマイナスかの境目です。MACDがゼロより上にあるときは、短期の勢いが長期より強い状態と見やすく、ゼロより下にあるときはその逆です。つまり、ゼロラインはトレンド方向の大まかなフィルターとして使えます。

買いEAなら「MACDがゼロより上にあるときだけ買う」、売りEAなら「MACDがゼロより下にあるときだけ売る」といった条件を足すと、逆方向のエントリーを減らしやすくなります。一方で、ゼロラインを厳しくしすぎると、トレンド初動のクロスを取り逃がすこともあります。安全寄りにするならゼロライン確認を入れる、シグナル数を増やしたいならクロスを優先して別のフィルターで補う、という考え方が現実的です。

ゼロライン条件は、勝率を上げる魔法ではありません。取引回数を減らして、方向感のない場面を避けるための絞り込み条件として使うのが向いています。

ゼロラインを使うときに注意したいのは、クロスのタイミングとゼロラインの条件がずれることです。MACDラインがシグナルラインを上抜けた時点ではまだゼロラインの下にあり、その後にゼロラインを上抜けるケースがあります。この場合、エントリーをクロス時点にするのか、ゼロライン上抜けまで待つのかで別のEAになります。どちらが正しいかではなく、狙う値動きが違うと考えてください。

  • クロス時点で入るEAは初動を取りやすい
  • ゼロライン確認後に入るEAは遅いが方向感を確認しやすい
  • 両方を混ぜると検証結果の原因がわかりにくい

フィルター条件を足す

MACDだけのEAは作りやすい反面、レンジ相場に弱くなりがちです。何度も小さなクロスが出る相場では、買った直後に下がり、売った直後に上がるような動きが増えます。そこで必要になるのがフィルター条件です。フィルターは、エントリー条件を増やして取引しない場面を決めるためのものです。

代表的なのは移動平均線フィルターです。たとえば買いだけなら、価格が200EMAより上にあるときだけMACDのゴールデンクロスを有効にします。これで大きな流れに逆らう買いを減らせます。ほかにも、ATRでボラティリティが低すぎる場面を避ける、スプレッドが広い時間帯を避ける、経済指標前後は止める、といったフィルターが考えられます。

フィルターは増やすほど良いわけではありません。まずは移動平均線、時間帯、ボラティリティのうち1つだけ足して、結果がどう変わるか確認するのがおすすめです。

フィルターを入れる目的は、勝てそうな理由を後付けすることではなく、負けやすい相場を避けることです。たとえばMACDのクロスが頻発するレンジを避けたいなら、ADXやATRのような相場の強さを見る条件を使う選択肢があります。トレンド方向だけに乗りたいなら、長期移動平均線や上位足の方向を使う方が合います。自作EA全体の考え方は、EA自作を初心者がノーコードで始める手順でも整理しています。

フィルター避けたい失敗使い方の例
移動平均線逆方向のエントリー200EMAより上だけ買い
ATR動かない相場の連敗ATRが一定以上のときだけ入る
時間帯薄商いのノイズ主要市場の時間だけ動かす

損切りと利確を先に決める

MACD EAの作り方で後回しにされがちなのが、損切りと利確です。でも実際には、エントリー条件より先に決めてもいいくらい重要です。なぜなら、同じMACDクロスで入っても、損切りが10pipsなのか50pipsなのか、利確が固定なのかトレーリングなのかで、まったく別のEAになるからです。

初心者のうちは、まず固定の損切りと固定の利確で検証するのがわかりやすいです。たとえば損切り30pips、利確45pipsのように、リスクリワードを少しだけ利確側に寄せます。そこから、時間足や通貨ペアに合わせて調整します。いきなり複雑なトレーリングストップや分割決済を入れると、良くなった理由も悪くなった理由も判断しづらくなります。

損切りなしのMACD EAはおすすめしません。バックテスト上は一時的にきれいに見えても、強いトレンド反転や急変動で大きな損失を抱える可能性があります。

もう一つ大切なのが、ロットを固定しすぎないことです。少額口座で大きなロットを入れると、MACDの条件が多少良くても資金管理で崩れます。最初は1回の損失が口座資金の1〜2%程度に収まるように設計し、連敗しても検証を続けられるサイズにしてください。EAは「勝つロジック」だけでなく、「負けても続けられる設計」があって初めて使いやすくなります。

先に決める項目

損切り幅、利確幅、最大保有時間、同時保有数、1回あたりの許容損失を先に決めてからMACD条件を調整すると、検証結果を比較しやすくなります。

MACD EAの作り方をノーコードで進める

ノーコード画面でMACD EAの条件を組み立てるイメージ

作る前にルールを書く

ノーコードでMACD EAを作る前に、まず売買ルールを日本語で書き出します。ツールを開いてから考え始めると、設定項目に引っ張られて本来作りたいロジックがぼやけます。最初に紙やメモで、買い条件、売り条件、決済条件、取引停止条件を分けておくと迷いにくいです。

たとえば買い条件は「1時間足で、確定足のMACDがシグナルを上抜けし、価格が200EMAより上にあるとき」と書けます。売り条件はその逆にするのか、買い専用EAにするのかを決めます。決済条件は「損切り30pips、利確45pips、またはMACDが逆クロスしたら決済」のように書きます。ここまで書けると、ノーコードツールに入れる条件がかなり明確になります。

ルールを日本語で書けないEAは、ノーコードでも作りにくいです。逆に、文章で説明できるルールなら、GUI上の条件ブロックに置き換えやすくなります。

この段階でやらない方がいいのは、過去チャートを見ながら都合のいい条件を次々に足すことです。「ここで負けたからRSIを追加」「ここで逃したから時間帯を広げる」といった調整を繰り返すと、過去にだけ合うEAになりやすいです。まずは小さく作って、検証しながら一つずつ足すのが現実的ですね。

  • 買い条件と売り条件を分ける
  • 決済条件をエントリー前に決める
  • 取引しない場面もルール化する
  • 最初から条件を増やしすぎない

NoCode EA Studioで組む

ルールを書き出したら、NoCode EA StudioのようなノーコードEA作成ツールで条件を組み立てます。MACDの条件、移動平均線フィルター、損切り、利確、ポジション数の制限などを画面上で設定できれば、MQLの文法を覚えなくてもロジックを形にできます。プログラミングが苦手な方にとっては、この「文章で決めた条件を画面で組む」流れが一番取り組みやすいかなと思います。

設定するときは、まずMACD条件だけで動く最小版を作ります。買いならMACD上抜け、売りならMACD下抜け、決済は固定の損切りと利確。ここで一度バックテストし、エントリーが想定通り出るか確認します。最初から移動平均線、ATR、時間帯、スプレッド制限を全部入れると、取引が出ないときに原因が追えません。EA作成では、動く最小形を作ってから条件を足すのが大切です。

EAを自作したいなら

NoCode EA Studioなら、MQLの知識なしでMT4・MT5対応の自動売買ロジックをブラウザ上で作成できます。

無料で試す →

温度が高い読者ほど、ここで「実際に触ってみたい」と感じるはずです。MACD条件を一つずつ画面に置き換えると、コードの文法よりも売買ルールそのものに集中できます。比較記事を先に読むより、まず最小ロジックを作って挙動を見た方が、自分に必要な条件も見えやすくなります。

設定順の目安

MACDクロス、売買方向、損切りと利確、ポジション数制限、フィルター条件、バックテストの順で進めると、どの条件が結果に効いたか確認しやすくなります。

確定足でだましを減らす

MACD EAをノーコードで作るときに必ず確認したいのが、条件判定を現在足で見るのか、確定足で見るのかです。現在足判定は反応が速い反面、足が確定する前にMACDのクロスが出たり消えたりします。実際のチャートではエントリーしたのに、後で見返すとクロスしていないように見えるケースもあります。

初心者向けには、1本前の確定足でMACDがクロスしたかを判定する方法がおすすめです。少し遅れて入ることになりますが、シグナルの再現性が高く、バックテストと実運用のズレを減らしやすいです。特にMACDは移動平均をもとにした指標なので、もともと反応が少し遅れます。その遅れを嫌って現在足にすると、今度はだましが増えやすくなります。

現在足でのクロス判定は、バックテスト上の見た目と実際の約定タイミングがずれやすいです。最初のEAでは確定足判定を基本にした方が検証しやすいです。

また、スプレッドが広い時間帯や経済指標前後は、確定足で見ても急な値動きに巻き込まれることがあります。MACDのロジックとは別に、取引時間や最大スプレッドを制限する条件を入れておくと、想定外のエントリーを減らせます。EAが動かない、想定と違う注文を出す、といった確認項目はMT4のEAが動かない時の即チェック表にもまとめています。

  • 現在足のクロスだけで発注する
  • スプレッド制限なしで短期足を回す
  • 同じシグナルで複数回エントリーする

バックテストで確認する

MACD EAを作ったら、いきなりリアル口座で動かすのではなく、バックテストで挙動を確認します。見るべき項目は、利益額だけではありません。エントリー位置、決済位置、最大ドローダウン、連敗数、取引回数、プロフィットファクター、特定期間だけに利益が偏っていないかを確認します。利益が出ていても、数回の大勝ちだけで成績が作られているEAは安定しにくいです。

MACD EAのバックテスト結果とリスクチェックのイメージ

バックテストでは、まず条件を固定した状態で期間を変えて確認します。直近1年だけ、過去3年、ボラティリティが高い時期、レンジが多い時期など、複数の相場で見てください。特定の期間だけきれいに勝つ場合は、過剰最適化の可能性があります。パラメータを細かく合わせる前に、ロジックの考え方が複数期間で大きく崩れないかを見る方が大切です。

バックテストで最初に見るのは、最終利益よりも「想定した条件で入っているか」です。利益だけを見ると、偶然勝ったEAを良いロジックだと誤解しやすくなります。

さらに、バックテストで良さそうに見えたらデモ口座でフォワードテストを行います。過去データで勝てても、実際のスプレッド、約定、サーバー遅延、稼働時間の影響で結果が変わることがあります。フォワードテストでは、バックテストと同じようなエントリーが出るか、取引回数が極端に違わないか、損切りや利確が正しく入るかを見ます。バックテスト結果の読み方はMT4 EAバックテスト結果の見方もあわせて確認してください。

確認項目見る理由注意点
取引回数検証に十分な回数か少なすぎると偶然の影響が大きい
最大ドローダウン資金がどれだけ減るか許容できないならロットを下げる
連敗数運用中の心理負担を見る連敗後も続けられる設計にする

MACD EAの作り方まとめ

MACD EAの作り方は、MACDのクロスを設定するだけで終わりではありません。まずMACDライン、シグナルライン、ゼロラインの役割を整理し、確定足で判定するのか、どの時間足で使うのか、損切りと利確をどうするのかを決める必要があります。そのうえで、移動平均線やATR、時間帯などのフィルターを一つずつ足して検証していく流れが現実的です。

ノーコードで作る場合も、重要なのはツールの操作そのものより、売買ルールを明確にすることです。買い条件、売り条件、決済条件、取引しない条件を日本語で説明できれば、NoCode EA StudioのようなツールでGUI上に置き換えやすくなります。反対に、ルールが曖昧なまま画面を触り始めると、条件を足しすぎて検証しにくいEAになってしまいます。

最初の目標は、いきなり稼げるEAを作ることではなく、狙った条件で正しく売買する小さなMACD EAを作ることです。

まずは、MACDクロス、確定足判定、固定の損切りと利確だけで最小版を作ってみてください。そこからバックテストで挙動を確認し、必要に応じてフィルターを追加します。過剰最適化を避けながら、フォワードテストまで進めると、実運用に近い判断ができます。

今すぐEA作成を試したい方は、NoCode EA Studioのアプリを開いて無料で触れます

よかったらシェアしてね!
目次