FX自動売買ロジックの作り方とは?RSI・MACDの条件例と検証手順

FX自動売買ロジックを作るとき、RSIやMACDの数値探しから始めると、条件は増えたのに売買の理由を説明できないEAになりがちです。先に決めるべきなのは、相場の方向、エントリー、決済、取引停止という4つの役割です。
結論からいうと、最初のロジックは一文で説明できる程度に絞り、各条件を「成立した・していない」で判定できる形にします。そのうえで、過去データ、調整に使っていない期間、デモ口座の順に検証すると、設定ミスと過剰最適化を切り分けやすくなります。
この記事では、FX自動売買ロジックの作り方を、移動平均・RSI・MACDを使った具体例とともに解説します。特定の設定で利益が出ることを保証するものではなく、ノーコードでEAを試作する前の仕様書として使える内容です。
- ロジックを方向・入口・出口・停止へ分ける
- 条件を数値と判定時点まで言語化する
- RSI・MACDは役割を重ねすぎない
- 未知期間とデモ口座まで同じ設定で試す
FX自動売買ロジックの作り方

4つの役割へ分解する
FX自動売買ロジックとは、単なる売買サインではなく、注文を許可してから閉じるまでの判断ルール全体です。まず「方向・入口・出口・停止」に分けると、一つのインジケーターへ多くの役割を背負わせずに済みます。
方向は買いと売りのどちらを許可するか、入口はいつ新規注文するか、出口はどの条件で決済するか、停止はどんな状況で取引しないかを決めます。入口だけを作ると、強い下落相場で買い続けたり、含み損の出口がなくなったりするため、4項目をセットで考えましょう。
| 役割 | 決めること | 条件例 |
|---|---|---|
| 方向 | 買い・売りを許可する相場 | 終値が長期移動平均より上 |
| 入口 | 注文を出す瞬間 | RSIが基準値を上抜ける |
| 出口 | 利益・損失を確定する条件 | 利確、損切り、反対シグナル |
| 停止 | 新規注文を休む条件 | スプレッド拡大、連敗、指定時間 |
改善時も役割別に見れば、注文が少なすぎるなら方向か入口、損失が深いなら出口かロット、急変時に崩れるなら停止条件、というように原因を追いやすくなります。
条件を真偽で書き出す
次に、裁量表現を機械が判定できる文章へ変えます。「上がりそうなら買う」「勢いが弱くなったら決済する」ではなく、使う価格、時間足、数値、比較対象、判定時点まで書きます。
たとえば買い条件なら、「1時間足の確定時に、終値が200期間移動平均より上で、RSIが30以下から30を上抜け、未保有なら次の足で買う」のようにします。現在の足で判定するのか、確定した一つ前の足で判定するのかも結果へ影響するため、省略できません。
- 通貨ペアと時間足を固定する
- 現在値ではなく何と比較するか決める
- 確定足か形成中の足かを指定する
- 同時保有数と再エントリー条件を決める
- 買い条件と売り条件を別々に書く
文章を読んだ二人が同じタイミングへ印を付けられないなら、まだ自動化できる仕様ではありません。例外を後から足す前に、まず基準ルールを真偽判定できる状態まで整えることが大切です。
RSI・MACDの条件例
RSI、MACD、移動平均を組み合わせるなら、それぞれの役割を重ねないようにします。移動平均を方向、RSIを押し目の入口、MACDを勢いの確認に使う、と先に担当を決めるイメージです。
以下は仕組みを理解するための買い条件例です。数値は採用値ではなく出発点なので、通貨ペア、時間足、取引コストを固定したうえで検証してください。
| 項目 | 買い条件例 | 設計上の目的 |
|---|---|---|
| 方向 | 確定足の終値が長期移動平均より上 | 下降方向の逆張りを減らす |
| 入口 | RSIが30以下から30を上抜ける | 売られ過ぎ状態からの戻りを待つ |
| 確認 | MACDラインがシグナルライン以上 | 勢いが逆向きでないか確認する |
| 発注 | 未保有かつ許容スプレッド内 | 重複発注と高コスト時の注文を防ぐ |
| 出口 | 損切り・利確を発注時に置く | 損失と目標を先に限定する |

RSIのクロスを詳しく組みたい場合はRSI EAをノーコードで作る手順、MACDの確定足判定や重複注文まで確認したい場合はMACD EAの条件設定と検証手順へ進むと、個別の設定を深掘りできます。
二つの指標が同じ値動きを言い換えているだけなら、条件を増やしても新しい情報は増えません。MACDを外した基準と比べ、リスクを抑えたまま結果が安定するか、取引回数が減りすぎないかを確認して採否を決めます。
出口と停止を先に決める
同じエントリーでも、利確、損切り、保有時間が違えば成績は別物になります。入口の数値を細かく調整する前に、1回の許容損失、最大保有時間、同時ポジション数を決めます。
停止条件には、許容スプレッド、経済指標前後、日次損失、連敗、通信異常などがあります。自動売買は人が見ていない時間にも同じ判断を繰り返すため、「いつ動くか」と同じくらい「いつ動かないか」が重要です。
損切りを広げる、含み損でポジションを増やす、負けた直後にロットを上げる設計は、短いテスト期間の見た目をよくしても損失を深くする場合があります。最大損失を説明できないロジックは実運用へ進めない方が安全です。
金融庁は、FXに相場変動、流動性、信用、システムなどのリスクがあると案内しています。EAでもこれらは消えません。実資金を使う前にFX取引に伴うリスクの公式案内を確認し、生活資金と分けた範囲で判断してください。
FX自動売買ロジックの検証手順

基準テストを一つ作る
最初のバックテストは、最高利益を探す作業ではありません。注文と決済が仕様どおりに動くかを確認し、変更前後を比べる基準結果を作る工程です。
通貨ペア、時間足、期間、初期資金、スプレッドや手数料の前提を固定し、まず条件の少ない版をテストします。チャート上で数件の注文を目視し、シグナルの足、約定時点、利確・損切り、停止時間が文章どおりか照合しましょう。
確定足、売買方向、重複発注、決済の動作を目視します。
条件を足す前の取引回数、損益、ドローダウン、連敗を基準にします。
変更の効果と副作用が分かるよう、同時に複数項目を動かしません。
見る指標は純利益だけではありません。取引回数、最大ドローダウン、平均利益と平均損失、最大連敗を並べると、利益の裏で負担が増えていないか判断しやすくなります。
未知期間で過剰最適化を見る
設定の調整に使った期間だけで成績を評価すると、その期間固有の値動きへ合わせ込みやすくなります。調整後は、数値を決めるときに使っていない期間へ同じ設定を当てます。
採用候補が一つの数値だけ極端によく、隣の数値で崩れる場合も注意が必要です。最高値を選ぶより、近い設定や異なる相場局面でも損失の範囲と取引傾向を説明できる範囲を探します。
| 比較 | 確認すること | 危険なサイン |
|---|---|---|
| 調整期間 | 基本動作と狙った相場 | 利益だけを見て条件を追加 |
| 未知期間 | 損失幅と取引傾向の再現 | 取引が消える、損失が急拡大 |
| 近接パラメータ | 小さな数値変更への耐性 | 一点だけ成績が突出 |
| 相場局面 | トレンド・レンジ時の弱点 | 苦手な局面を説明できない |
悪化した結果をすぐ調整へ使うと、その期間も学習済みになります。未知期間は合否確認に使い、落ちた理由からロジックの前提自体を見直すことが大切です。
デモ口座で実行差を確認
バックテストを通過しても、すぐ実資金へ移さず、デモ口座でフォワードテストを行います。過去データ上の計算と実行環境では、スプレッドの変化、約定のずれ、通信、再起動、稼働時間の扱いが異なるからです。
バックテストと同じ通貨ペア・時間足・パラメータで動かし、注文時刻、想定シグナル、約定価格、決済理由、エラーの有無を照合します。利益が出たかより、同じ条件が同じ意図で実行されたかを先に見ます。
- 再起動後も意図せず重複注文しない
- 許容外スプレッドで新規注文しない
- 時間条件と日またぎが想定どおり動く
- 通信復旧後のポジション管理が続く
- 停止条件が実際に新規注文を止める
実資金へ進める場合も、デモと同じ設定を保ち、失っても生活へ影響しない小さな取引量から監視します。設定と資金量を同時に変えると、何が原因で結果が変わったのか分からなくなります。
ノーコードで小さく試す
ここまでの一文仕様と4つの役割が決まれば、ロジックを画面上の条件ブロックへ置き換えられます。最初から完成形を目指さず、買い条件だけ、固定の利確・損切り、1ポジションという小さな版を動かすと、設定ミスを見つけやすいですね。
文章にしたロジックを画面で試す
NoCode EA Studioなら、MQLの知識なしでMT4・MT5対応の自動売買ロジックをブラウザ上で組み立てられます。
FX自動売買ロジックの完成は、バックテストの利益が最大になった瞬間ではありません。売買理由、弱い相場、1回と一定期間の損失上限、停止と再開の条件を自分の言葉で説明でき、同じ設定で段階検証できた状態が一つの区切りです。
