【無料配布】RCI Multi Signal|非リペイントのクロス矢印付きMT4インジケータ(1〜3本対応)

スーツ姿のデグーマウスがMT4 EAのコードを指しながら解説しているイラスト。ぷろぐらむFXのデフォルトアイキャッチ。
MT4ノウハウ・インジケータ
記事内に商品プロモーションを含む場合があります
スポンサーリンク

「RCIのクロスシグナルを使いたいけど、リペイントが怖い…」
「短期・中期・長期をまとめて表示できるRCIが欲しい!」 そんな悩みを持つFX初心者〜中級者の方に向けて、確定足でシグナル判定する非リペイント仕様のRCIインジケータを開発しました。

今回無料配布するRCI Multi Signal(非リペイント版)は、 RCIを1〜3本同時表示でき、さらに短期 × 中期のクロスで矢印シグナルを出します。 シグナルは確定足のみで判定し、確定後のシグナルを保持する非リペイント仕様です。

初心者でもすぐに使えるように、インストール・設定・仕組みまで丁寧に解説しています。 あなたの裁量トレード・EA開発のどちらにも役立つインジケータです。

📘 この記事でわかること
  • RCIとは何か・どんな分析ができるか
  • RCI Multi Signal(非リペイント版)の主な機能
  • クロスシグナルの仕組み(買い/売り)
  • 表示本数(1〜3本)の切替方法
  • インジケータの導入手順と設定方法
  • 無料ダウンロードリンク
  • EAから呼び出す方法(iCustom)
現在の配布版:Version 1.02(2026/09/29)
v1.02では、同じ終値が複数ある場合に平均順位を割り当てるRCI計算へ更新しました。表示本数・シグナル判定・バッファ番号・EAからのiCustom()呼び出し順は従来版と互換性を維持しています。

まずは、RCIがどんな指標なのかを簡単に理解しておきましょう。


💡 RCIとは?|順位相関に基づく“相場の勢い”を測る指標

RCI(Rank Correlation Index)は、統計学で使われる順位相関をチャート分析に取り入れたオシレーターです。価格の「順位」と「時間の経過」を相関させることで、相場の勢い・反転タイミングを読み取ることができます。

一般的には以下のように使います:

  • +80〜+100付近:買われすぎ(下落しやすい)
  • -80〜-100付近:売られすぎ(上昇しやすい)
  • 短期と中期のクロス:トレンド転換のヒントに

計算式は“スピアマンの順位相関係数”と同じで、

RCIの計算式
  • n … 期間
  • d_i …「価格順位 − 時間順位」

今回のインジケータは、このRCIのクロス部分に特化して矢印シグナルを出す安全設計になっています。


⚙️ インジケータ概要|RCIを1〜3本表示 & クロスシグナル非リペイント

今回配布するRCI Multi Signal(非リペイント版)は、次のような機能を備えています。

  • 📈 RCIを1本 / 2本 / 3本の任意表示
  • 📌 短期 × 中期クロスで矢印を表示(確定足のみ)
  • ⚡️ 確定足で判定する非リペイント仕様
  • 💾 同値価格を平均順位で処理するRCI計算(v1.02)
  • 🤖 EAから iCustom でバッファ読み取り可能
  • 🔧 パラメータで自由に期間を調整
RCI Multi SignalをMT4に適用したチャート画面の例(非リペイント・クロス矢印付き)

🔍 クロスシグナルの仕組み

短期RCIが中期RCIを上抜けたら BUY、 短期RCIが中期RCIを下抜けたら SELL の矢印を表示します。

さらに本インジは“確定足のみ”で判定し、確定後のシグナルを保持する非リペイント仕様です。

RCI短期線と中期線が上抜けしてBUYシグナルが確定した例(非リペイント)
BUYの矢印
RCI短期線と中期線が下抜けしてSELLシグナルが確定した例(非リペイント)
SELLの矢印

🛠️ 表示本数の切替(1〜3本)

パラメータ「RCI_Mode」を変更することで、表示するRCIの本数を1~3で切り替えられます。

RCI Multi Signalの1本・2本・3本表示モードを比較した画像
※1本の時は、シグナルが表示されません

📝 パラメータ説明

入力できるパラメータは以下の通りです。

設定項目初期値内容
RCI_Mode3RCIの表示本数(1 / 2 / 3)
Period19短期RCIの期間
Period214中期RCIの期間
Period352長期RCIの期間(RCI_Mode=3で使用)
Signal_Ontrueクロス矢印の表示(true / false)
RCI Multi Signalインジケータのパラメータ設定画面(Period・Mode・Signal設定)

🤖 EAからの呼び出し(iCustom)

EAでRCIの値を読み取りたい場合、以下のように iCustom を使います。

int mode = 3;
int p1 = 9;
int p2 = 14;
int p3 = 52;
bool signalOn = true;

// 短期 / 中期 / 長期RCI
double rciShort = iCustom(NULL,0,"RCI-Multi-Signal",mode,p1,p2,p3,signalOn,0,1);
double rciMiddle = iCustom(NULL,0,"RCI-Multi-Signal",mode,p1,p2,p3,signalOn,1,1);
double rciLong = iCustom(NULL,0,"RCI-Multi-Signal",mode,p1,p2,p3,signalOn,2,1);

// BUY / SELLシグナル
double buySignal = iCustom(NULL,0,"RCI-Multi-Signal",mode,p1,p2,p3,signalOn,3,1);
double sellSignal = iCustom(NULL,0,"RCI-Multi-Signal",mode,p1,p2,p3,signalOn,4,1);

v1.02の入力パラメータ順は、RCI_Mode → Period1 → Period2 → Period3 → Signal_Onです。その後ろに、取得するバッファ番号とバーシフトを指定します。


📦 ファイルダウンロード

以下から、RCI Multi Signal(非リペイント版)インジケータを無料ダウンロードできます。

📥 RCI Multi Signal(非リペイント)をDL

※以下は、別のインジケーターを探したい方向けの参考リンクです。

\ 国内最大級のインジケータープラットフォーム /
GogoJungle(ゴゴジャン)でインジケーターの評価・レビューをチェック!

▶ GogoJungleでインジケーターを探す 【無料配布】RCI Multi Signal|非リペイントのクロス矢印付きMT4インジケータ(1〜3本対応)

🧪 動作確認済みFX業者

本インジは、以下の国内業者のMT4で動作確認済みです。

  • OANDA JAPAN
  • FXTF

その他のMT4対応業者でも基本的に動作します。


🧰 使い方(導入手順)

  1. ダウンロードしたインジをMT4の MQL4/Indicators に保存
  2. MT4を再起動
  3. ナビゲータからチャートへドラッグ&ドロップ

インジの導入が初めての方はこちら: 👉 MT4にインジケータを追加する方法


🧩 RCI Multi Signal の主要ロジック解説(技術者向け)

ここでは、RCI Multi Signal(非リペイント版)の内部ロジックの中から、特に重要な処理だけを抜粋して掲載します。 インジケータ全体の実装は非公開ですが、主要部分を理解することで、v1.02のRCI計算・確定足シグナル判定・EA連携の仕組みが確認できます。

なお、これらのコードはインジケータ利用者の学習・開発参考として提供するものであり、改変・転載はご遠慮ください。

🔹 1. RCI(順位相関)の計算コア部分

v1.02では、期間内に同じ終値が複数ある場合もRCIを適切に計算できるよう、同値価格へ平均順位を割り当てたうえで、価格順位と時間順位の相関係数を直接計算しています。

double CalcRCI(int shift,int period){
   if(period <= 1) return(EMPTY_VALUE);
   if(period > 200) return(EMPTY_VALUE);
   if(shift + period > Bars) return(EMPTY_VALUE);

   double mean = (period+1)/2.0;
   double covariance = 0.0;
   double variance_price = 0.0;
   double variance_time = 0.0;

   for(int a=0;a<period;a++){
      double target = Close[shift+a];
      int lower_count = 0;
      int equal_count = 0;

      for(int b=0;b<period;b++){
         double value = Close[shift+b];

         if(value < target){
            lower_count++;
         }else if(value == target){
            equal_count++;
         }
      }

      double price_rank = lower_count+(equal_count+1)/2.0;
      double time_rank = a+1;
      double price_diff = price_rank-mean;
      double time_diff = time_rank-mean;

      covariance += price_diff*time_diff;
      variance_price += price_diff*price_diff;
      variance_time += time_diff*time_diff;
   }

   if(variance_price <= 0.0 || variance_time <= 0.0) return(0.0);

   double rci = covariance/MathSqrt(variance_price*variance_time)*100.0;
   return(-rci);
}

例えば同じ終値が2つ並び、本来の順位が2位・3位に相当する場合は、両方へ2.5位を割り当てます。全期間の終値が同じなど価格順位に分散がない場合は、RCIを0として扱います。

🔹 2. クロスシグナル(BUY / SELL)非リペイント判定

シグナルは、確定済みの2本(c+2 / c+1)を比較して短期RCIと中期RCIのクロスを判定します。現在足では判定せず、クロスが確定した足(c+1)へ矢印を記録する仕様です。

if(Signal_On && RCI_Mode >= 2 && c+2 < Bars){
   double s2 = RCI1[c+2];
   double s1 = RCI1[c+1];
   double m2 = RCI2[c+2];
   double m1 = RCI2[c+1];

   if(s2 != EMPTY_VALUE && s1 != EMPTY_VALUE && m2 != EMPTY_VALUE && m1 != EMPTY_VALUE){
      // BUY:短期RCIが中期RCIを上抜け
      if(s2 < m2 && s1 > m1){
         BuyArrow[c+1] = RCI1[c+1];
      }

      // SELL:短期RCIが中期RCIを下抜け
      if(s2 > m2 && s1 < m1){
         SellArrow[c+1] = RCI1[c+1];
      }
   }
}

矢印は価格チャート上ではなく、RCIサブウィンドウ内の短期RCI値へ表示します。確定足だけでクロスを判定するため、確定後のシグナルを保持する非リペイント仕様です。

🔹 3. インジケータバッファの構造(EA連携用)

本インジケータは SetIndexBuffer() によって RCI値・シグナル値を明確に区分しており、EAからの読み取りが容易です。

SetIndexBuffer(0,RCI1);      // 短期RCI
SetIndexBuffer(1,RCI2);      // 中期RCI
SetIndexBuffer(2,RCI3);      // 長期RCI
SetIndexBuffer(3,BuyArrow);  // BUYシグナル
SetIndexBuffer(4,SellArrow); // SELLシグナル

この構造により、iCustomを用いて短期RCI・中期RCI・長期RCI・BUYシグナル・SELLシグナルを取り出すことができます。

🔹 4. EA からの iCustom 取得例(開発者向け)

EA 開発者が RCI Multi Signal を組み込む際の、実践的な iCustom 呼び出し例です。

// RCI Multi Signal v1.02
int mode = 3;
int p1 = 9;
int p2 = 14;
int p3 = 52;
bool signalOn = true;

double R1 = iCustom(NULL,0,"RCI-Multi-Signal",mode,p1,p2,p3,signalOn,0,1);
double R2 = iCustom(NULL,0,"RCI-Multi-Signal",mode,p1,p2,p3,signalOn,1,1);
double R3 = iCustom(NULL,0,"RCI-Multi-Signal",mode,p1,p2,p3,signalOn,2,1);
double BuySig = iCustom(NULL,0,"RCI-Multi-Signal",mode,p1,p2,p3,signalOn,3,1);
double SellSig = iCustom(NULL,0,"RCI-Multi-Signal",mode,p1,p2,p3,signalOn,4,1);

EAロジックにRCIクロスを組み込みたい人向けに、この構造を公開しています。

🛠 開発者向け補足:インジケータの設計思想

  • 非リペイントを最優先(確定足のみで判定)
  • 1〜3本表示の柔軟性(短期のみ、中期まで、長期まで)
  • EA連携を前提(バッファ構造を明確化)
  • カスタム性の確保(期間・色・シグナルON/OFF)
  • 計算負荷への配慮(期間上限200・IndicatorCounted()で再計算範囲を抑制)

これらの思想に基づき、初心者〜上級者まで安心して利用できる「実戦向きのRCIインジケータ」として設計しています。

まとめ

RCI Multi Signal v1.02(非リペイント版)は、RCIを1〜3本自由に表示しつつ、確定足のクロスシグナルを利用できるMT4インジケータです。v1.02では同値価格を平均順位で処理するRCI計算へ更新しています。

特に、 ・裁量トレードの精度を上げたい ・EA開発でRCIクロスを使いたい ・リペイントしないシグナルを探している という人に強くおすすめできます。

ぜひあなたのトレードに取り入れてみてください。

📘 RCIシリーズまとめ(目的別ガイド)

RCIを使った分析・EA化について学びたい方はこちらもどうぞ。

コメント

  1. 松原さんのアイコン 松原 より:

    MT4に入れると逆に表示されます。

    • りょう りょう より:

      ご連絡ありがとうございます。
      確認したところ、RCIの計算上、一般的なRCI表示とプラス・マイナスが反対に表示されていました。
      上昇時にRCIが下側、下落時にRCIが上側へ出るような状態です。

      計算結果の符号を反転する形で修正しましたので、お手数ですが再度DLしVer1.01をご使用ください。
      ご指摘ありがとうございます。

タイトルとURLをコピーしました