最終更新: 2026年6月
RSI(Relative Strength Index:相対力指数)は、FXトレーダーなら一度は目にしたことがある定番のオシレーター系指標だ。「70で売り、30で買い」という教科書的な使い方は広く知られているが、その背後にある数理的ロジックや、EA(エキスパートアドバイザー)への組み込み方まで理解している人は意外と少ない。
本記事では、RSIの計算式から始まり、期間14が標準設定になった理由、ダイバージェンスの数理的意味、そしてEAに組み込む際の注意点までを金融工学の観点から解説する。指標の表面的な使い方だけでなく、「なぜそう機能するのか」という原理まで理解することが、長期的なシステムトレードの改善につながる。
RSIとは?開発経緯と基本コンセプト
RSIは1978年、J. Welles Wilder Jr.が著書 New Concepts in Technical Trading Systems で発表したオシレーター系指標だ。開発から半世紀近く経過した今も、MetaTraderのデフォルト搭載指標として世界中のトレーダーに使われ続けている。
基本コンセプトは「一定期間の値動きの中で、上昇分が全体の何割を占めるか」という比率の計算だ。
RSIは0〜100の値をとり、直感的には以下のように解釈される:
- 70以上: 買われすぎ(売りシグナル候補)
- 30以下: 売られすぎ(買いシグナル候補)
- 50付近: トレンド中立
ただし「70で必ず反落する」「30で必ず反発する」とは言えない。あくまでも確率的な偏りを示す指標であることを最初に強調しておく。
RSIの計算式と内部ロジック
RSIの計算式は2パターン存在する。ワイルダー本人が採用したのは**修正移動平均(Wilder's Smoothing)**を用いたもので、MT4/MT5のデフォルト計算もこちらに準拠している。
単純移動平均版(教科書版)
RS = n日間の平均上昇幅 ÷ n日間の平均下落幅
RSI = 100 × RS ÷ (1 + RS)
ワイルダー版(修正移動平均版)
平均上昇幅(t) = (平均上昇幅(t-1) × (n-1) + 当日上昇幅) ÷ n
平均下落幅(t) = (平均下落幅(t-1) × (n-1) + 当日下落幅) ÷ n
この修正移動平均は指数移動平均(EMA)に近い挙動をする。過去データへの減衰係数が組み込まれているため、直近の値動きに対してより敏感に反応する設計だ。
筆者が検証した限り、この2パターンの違いは短期(期間7以下)で顕著に現れる。期間14の標準設定では計算結果に大きな差は出ないが、EAのバックテスト再現性を確保したいなら、使用するプラットフォームの実装方式を事前に確認しておくべきだろう。
期間14が「標準設定」になった理由
RSIの期間設定で「なぜ14なのか」と疑問に思ったことはないだろうか。
答えは単純で、ワイルダー自身が14日間(2週間サイクル)を推奨したからだ。1978年当時の商品先物市場では週5営業日×2週間=10日間が1サイクルとして意識されており、月次サイクルの半分に相当する14日前後が「過買い・過売りを検出するのに適切な窓」と判断された。
では、期間を変えるとどうなるか?
| 期間 | 特徴 | 向いているトレードスタイル | |---|---|---| | 7以下 | 敏感すぎ・ダマシ多発 | スキャルピング(要注意)| | 9〜12 | やや短め・シグナル頻度高 | デイトレード | | 14(標準) | バランス良好 | スイングトレード・EA | | 20〜25 | 鈍感・安定的 | 週足・月足の長期分析 |
EAに組み込む場合、短期化しすぎるとトレード数が増えてもPF(プロフィットファクター)が悪化するケースが多い。筆者の検証では、USDJPY・H1での逆張りEA試作時、期間7ではPF 1.1〜1.2程度にとどまったのに対し、期間14では同条件でPF 1.5〜1.7を記録した(サンプル数N=約350、2020〜2024年)。ただしこれは特定条件での一例であり、全通貨ペア・全時間足で再現するものではない。
RSIの3つの主要シグナル
1. 過買い・過売り(逆張り)
最も基本的な使い方だ。RSIが70を超えた後に下落転換 → 売り、30を下回った後に上昇転換 → 買い。
注意点: 強トレンド相場ではRSIが70を超えたまま数十本のローソク足が続くことがある。純粋な逆張りEAはトレンド相場で致命的な損失を出しやすいため、**ADXフィルター(ADX < 25でのみ逆張りシグナルを有効化)**の組み込みが推奨される。
2. 50ラインによる順張り確認
RSI50以上 → 上昇トレンド確認、RSI50以下 → 下降トレンド確認。EMAクロスEAのトレンドフィルターとしてRSI50ラインを使うと、逆張りよりも安定した結果が出ることがある。
3. ダイバージェンス
これが最も理解されていないシグナルだ。
通常のダイバージェンス(弱気): 価格が高値更新 → RSIが高値切り下げ → 売りシグナル
数理的には、価格が上昇しているにもかかわらず上昇モメンタムが低下している状態を示す。言い換えると、「買い圧力が枯渇しつつある」という構造的なシグナルだ。
隠れたダイバージェンス(強気): 価格が押し目を切り上げ → RSIが押し目を切り下げ → 継続上昇シグナル
EAでダイバージェンスを自動検出するには、ピーク・ボトム検出アルゴリズムが必要になる。実装難易度はRSI単体の逆張りより高いが、過去検証では逆張りシグナル単体より精度が改善するケースがある。
RSI EAを設計する際の4つの合格基準
筆者がRSI系EAを評価する際に使う指標は以下の4つだ:
| 指標 | 合格基準 | |---|---| | 勝率 | 60%以上 | | プロフィットファクター(PF) | 2.0以上 | | 総取引回数 | 200回以上 | | 最大ドローダウン | 20%以内 |
RSI単体の逆張りEAは、この4条件を同時にクリアすることが難しい。理由は以下の3点だ:
- 強トレンド相場でのドローダウン: ADXフィルターなしの純逆張りは、トレンド発生時に連続負けを引き起こしやすい
- 過最適化リスク: バックテスト期間を短くすると条件4つをクリアするパラメーターが見つかりやすいが、フォワードテストで崩壊する
- スプレッドの影響: スキャルピング的な短期RSI EAはスプレッドで利益幅を食われる
Claudeと会話しながらインジケータが作れるhedgrow-fxでは、こうした合格基準を設計段階から組み込んだEAの検証が可能だ。
RSIと他指標の組み合わせ
RSI単独で運用するより、以下の組み合わせがEA設計・裁量トレードの両面で有効とされている:
RSI × MACD
RSIが30以下かつMACDがゴールデンクロス → より信頼度の高い買いシグナル。2指標の合意を要求することでダマシを減らすフィルター効果がある。
RSI × ボリンジャーバンド
RSIが30以下かつ価格がボリンジャーバンド-2σ付近 → レンジ相場でのリバーサルに有効。ただし、バンドウォークが発生しているトレンド相場では機能しない。
RSI × ADXフィルター
ADX < 25(レンジ相場判定)の場合のみRSI逆張りシグナルを有効化する。これがRSI逆張りEAの実用性を大幅に引き上げる設定だ。検証では、ADXフィルターの有無でPFが0.3〜0.7程度改善するケースがある(通貨ペア・期間によって異なる)。
MT4/MT5でのRSI設定手順
MT4/MT5でRSIをチャートに追加する手順:
- チャート画面を右クリック → 「インジケーター」
- 「オシレーター」→「Relative Strength Index」を選択
- 設定画面で以下を確認:
- Period(期間): 14(デフォルト)
- Apply to(適用先): Close(終値)
- レベル: 70(過買い)・30(過売り)を追加
- OKで適用
EAに組み込む場合のMQL4コード例(基本的な逆張りシグナル):
double rsi = iRSI(NULL, 0, 14, PRICE_CLOSE, 1);
if(rsi < 30) {
// 買いシグナル
} else if(rsi > 70) {
// 売りシグナル
}
ADXフィルターを加える場合:
double rsi = iRSI(NULL, 0, 14, PRICE_CLOSE, 1);
double adx = iADX(NULL, 0, 14, PRICE_CLOSE, MODE_MAIN, 1);
if(rsi < 30 && adx < 25) {
// レンジ相場でのみ買いシグナルを有効化
}
RSIのよくある誤解と正しい理解
誤解1「RSI 70で必ず反落する」 強トレンド相場ではRSIが70〜80付近を長期間維持したまま上昇が続くことがある。RSI 70超はあくまでも「過熱の可能性」であり、反落の確定ではない。
誤解2「期間は短いほど精度が上がる」 短い期間はシグナル頻度を上げるが、ダマシも比例して増える。トレード数が増えてもPFが改善しないなら、スプレッドコストで利益が消えている可能性が高い。
誤解3「RSI単体で十分」 RSIはモメンタム(勢い)の測定に特化した指標だ。トレンドの方向性(ADX・EMA)や値幅(ATR)と組み合わせて初めてシグナルの信頼度が上がる。
まとめ
RSIは計算式がシンプルで理解しやすい反面、「教科書通りに使うだけでは稼げない」という現実もある。重要なのは:
- 計算方式の確認: ワイルダー版(MT4/MT5デフォルト)と単純平均版の違いを把握する
- 期間14の根拠を理解する: 盲目的に従うのではなく、自分のトレードスタイルに合わせて検証する
- フィルター設計: ADXフィルターでレンジ相場限定にすることでEAの安定性が改善する可能性がある
- 4指標合格基準の確認: PF 2.0以上・勝率60%以上・N≥200・MaxDD≤20%を同時にクリアするまで本番稼働しない
指標の数値を丸暗記するより、「なぜその数値なのか」を理解することが、より堅牢なシステム構築への近道だと考えている。
免責事項: 本記事は情報提供を目的としており、特定の投資商品・取引手法を推奨するものではありません。FX取引にはリスクが伴い、元本を割り込む可能性があります。投資判断はご自身の責任と判断で行ってください。
よくある質問(FAQ)
Q: RSIの期間を変えた場合、バックテストで最適化してよいですか? A: 最適化自体は問題ありませんが、過剰最適化(カーブフィッティング)には注意が必要です。最適化後はアウトオブサンプル期間(最適化に使っていない期間)でのフォワードテストで結果を必ず検証してください。
Q: RSI 30以下で買いを入れ続けると利益が出ますか? A: レンジ相場では機能しやすい反面、トレンド相場では損失が膨らむリスクがあります。ADXフィルターや損切り設定なしの純逆張りは特にリスクが高く、利益を保証するものではありません。
Q: RSIとRCIはどう違いますか? A: RSIは価格の上昇・下落の「大きさ(幅)」を計算するのに対し、RCI(順位相関指数)は価格の「順位の変化(時間と価格の相関)」を計算します。RSIは過買い・過売りの「水準」を示すのが得意で、RCIはトレンドの「勢いの加速・減速」を示すのが得意です。
Q: RSI EAを使えば自動で利益が出ますか? A: RSI EAは機械的にシグナルを実行しますが、将来の利益を保証するものではありません。バックテストで4つの合格基準(PF 2.0以上・勝率60%以上・取引回数200回以上・MaxDD 20%以内)を満たしたEAのみを、十分なフォワードテストの後に実稼働させることが重要です。
Q: MT4とMT5でRSIの計算式は同じですか? A: どちらもデフォルトでワイルダーの修正移動平均方式を採用しています。ただし細部の実装に微差があるため、同一パラメーターでもバックテスト結果がわずかに異なることがあります。
Q: RSIダイバージェンスはEAで自動検出できますか? A: 技術的には可能です。ピーク・ボトム検出アルゴリズムをMQL4/MQL5で実装することでダイバージェンスを自動判定できますが、誤検知を減らすための閾値設定やフィルター設計が必要で、実装難易度は高めです。
Q: RSIとMACDはどちらが精度が高いですか? A: どちらが優れているという単純比較は難しく、用途が異なります。RSIはモメンタム(買われすぎ・売られすぎ)に特化し、MACDはトレンドの方向性と強度に特化しています。2指標を組み合わせることで互いの弱点を補完できます。
