コンテンツにスキップ

【移植#85】色つきRCIとStochasticを同じ窓で比べる — 似た線でも計算は別

EURUSD H1の実チャートで、色つきRCI30、RCIのSMA10、未平滑Stochastic30を重ねて比較したMT5画面

この記事の3行まとめ

  • RCIは終値の時間順位と価格順位を比べ、Stochasticは終値が期間内の高値・安値のどこにあるかを測ります
  • 同じ30本で計算しても、EURUSD H1の検証500本では正規化した2線の差が最大1.487でした
  • MT5の実機で5バッファ×確定500本×3回、計7,500値を独立照合し、不一致はありませんでした

「似ている」から一歩進めて数値を比べる

前回の移植#84では、MAクロスを仮想約定した損益線の読み方を扱いました。今回の元記事は2010年4月20日公開の「色つきRCIはStochastic に似ていた。」です。著者は、00-RCI_v101.mq4とColor Stochastic.mq4を合成した色つきRCIを示し、期間を調整すると両者が似て見えると述べています。一方で、同列に扱ってよいかは分からない、と留保していました。

元記事を読む

原典の配布ページから00-RCI_v101Color.mq4を確認しました。色分けはRCIが+0.6を超えるか、-0.6を下回るかで決まります。RCI本体は期間内の終値を高い順に並べ、同じ価格には新しい足から順に別の順位を付けます。これは平均順位を使う方式とは異なります。順位規則については移植#13でも検証しています。

今回のMT5版は、原典のRCI順位と厳密な閾値を引き継ぎ、比較用のStochasticを追加しました。原典の画面や入力設定を丸ごと再現するものではありません。

RCIは順位、Stochasticは値幅を見る

同じ期間 (n=30) でも、両者が読んでいる情報は違います。RCIでは、直近足を0位とする時間順位 (t_i) と、終値を高い順に並べた価格順位 (p_i) の差を使います。

\[ RCI=1-\frac{6\sum_{i=0}^{n-1}(t_i-p_i)^2}{n(n^2-1)} \]

Stochasticは、その足の終値 (C) と期間内の最高値 (H)、最安値 (L) から、未平滑の位置を求めます。画面で比較しやすいよう、一般的な0〜100の値を-1〜+1へ変換しました。

\[ Stoch_{raw}=2\frac{C-L}{H-L}-1 \]
項目 RCI 今回のStochastic
入力 30本の終値の並び 30本の高値・安値と現在の終値
主に示すもの 時間が進むほど終値の順位が上がったか 終値が期間の値幅のどこにあるか
同値の扱い 原典互換の連続した整数順位 順位付けをしない
画面の尺度 -1〜+1 0〜100を-1〜+1へ変換

高値と安値が同じ場合、Stochasticは割り算できないので空値にします。RCIの終値が同値でも、原典互換の順位付けで数値を出します。この違いだけでも、2本を代用品として一括りにはできません。

3色のRCIと比較線を読む

MT5版では、RCIを中立の灰色、+0.6超を緑、-0.6未満を赤で描きます。青線はRCIの単純移動平均10本、黄線は未平滑Stochastic30本です。RCIとStochasticの差もバッファへ記録しますが、表示尺度を壊さないよう差分線は描きません。

バッファ 内容
0 RCI
1 RCIの色番号(中立0、上側1、下側2)
2 RCIのSMA
3 正規化した未平滑Stochastic
4 RCI − Stochastic(データのみ)

形成中の0番足は価格が動くたびに更新されます。後から確定した過去の値を見て「この時点で必ず同じ色だった」とは言えません。確認には確定足を使ってください。

使い方と入力

85_RCI_Stochastic_Comparison_v1_00.mq5 をダウンロード

MT5のデータフォルダにあるMQL5/Indicatorsへ保存し、MetaEditorでコンパイルしてからチャートへ適用します。発注するEAではなく、表示専用のインジケーターです。

入力 既定値 内容
InpPeriod 30 RCIとStochasticで共通の期間
InpMAPeriod 10 RCIの単純移動平均期間
InpUpper / InpLower +0.6 / -0.6 RCIの厳密な色分け境界
InpMaxBars 1,200 描画する直近の最大本数

原典にある適用価格の選択、RCI移動平均のEMA・SMMA・LWMAは含めていません。終値RCIとSMAへ限定して、Stochasticとの計算差が読めるようにしました。MT5標準Stochasticの平滑化された%Kや%Dとも数値が一致する設定ではありません。

MT5で独立照合した結果

専用MT5 Build 6182、EURUSD H1で配布指標と独立の検証EAを実行しました。両方ともコンパイル0エラー・0警告です。検証EAは指標の計算関数を呼ばず、OHLCから高い順の選択を繰り返してRCIを求め、別に最高値・最安値からStochasticを計算しました。

検査 結果
確定足 500本
5バッファ×500本×3回 7,500値一致、不一致0
正規化した2線の最大絶対差 1.487(この検証区間)
RCIを0.01ずらす負対照 一致判定が拒否
価格履歴 検査の前後で確定足の時刻とOHLCが一致
注文数・ポジション数 変更なし

3回は同じ確定足を繰り返し照合した回数です。異なる1,500本を調査したという意味ではありません。最大差もこの銘柄・時間足・期間の観測値で、他の相場へ一般化できません。

冒頭の画像は検証時にMT5から撮影した実画面です。白・緑・赤がRCI、青がRCIのSMA、黄がStochasticです。2本が同方向に動く場面はありますが、黄線が動いてもRCIがほぼ横ばいの場面があり、色分けのタイミングまで同じとは言えません。

これだけでは分からないこと

この比較は値の定義と表示の一致を確かめるものです。RCIとStochasticのどちらが売買で優れるか、閾値を越える売買で利益が出るかは調べていません。売買成績を知るには、エントリー・決済・コストを定義し、別期間でも検証する必要があります。

次: 【移植#86】Bid・Askから離れた水平線を引く — pointsと複数インスタンスの扱い

— SPONSORED —