cTraderでRCIを表示する
RCIとは
MT4にも最初から入ってないわりに日本では結構メジャーなインジケーターとしてRCIが挙げられます。
Rank Correlation Indexの略で、価格と時間のスピアマンの順位相関係数を-100~+100の数値に補正してインジケーター化したものです。
RSI等と同じように相場の行きすぎを表すオシレーター系の1種ですが、期間内の価格の順位だけに着目するため、価格差そのものには影響されず、指定期間内で少しずつでも順調に上がり続けてれば+100に近づき、下がり続けてれば-100に近づくという性質を持ちます。
1本だけ表示させて、相場の過熱感を見る使い方のほかに、3本表示させて短期戦と長期戦の交差や位置関係を見る使い方も有名です。
cTraderでRCIを表示するには
cTraderには組み込まれておらず、フリーでダウンロードできるインジケータはあるようですが、3本表示できるものが見当たらなかったため作りました。
計算式を確認したい方や自作cBot内で使いたい方もいるかもしれないので、ソースコード付きで配布します。
ダウンロードしたらダブルクリックしてcTraderにインストールしてください。
なお、期間内に全く同じ価格が存在した場合は厳密な値とは異なるかもしれませんが、実用上は問題ありません。
使い方
インジケータのCustomからRankCorrelationIndexを選択します。
そのままOKを押せば、短期(9)中期(26)長期(52)の3本が表示されるようになってます。無駄に6本まで同時に表示できるようになってたり、基準価格を終値以外に変更できたりしますので、使い方に合わせて設定を変更してください。
cBotから使うには
Automate画面から参照を追加
まず最初に利用したいcBotで参照を追加する必要があります。
「VisualStudioで開く」の前にcTraderの組み込み環境から行う方が楽です。上記のように選択して「Apply」を押します。
あとは組み込みインジケーターと同じ
これで組込インジケーターのようにIndicatorsから利用できるようにしてあります。
RankCorrelationIndex _rci;
protected override void OnStart() {
// 期間9のRCIを用意する
_rci = Indicators.RankCorrelationIndex(Bars.ClosePrices, 9);
}
protected override void OnTick() {
if(_rci.Result1.LastValue > 80) {
// 最新のRCI値が80以上の時の処理
}
}
2本、3本と同時に使う場合は初期化時に3つ目4つ目の引数を期間を追加指定しておけば、Result2、Result3で値の取得ができます。
RCIを使いこなしてるトレーダーさんいましたら、ぜひ活用してcBotを作ってみてください。