
この戦略は,RSI指標とCCI指標を組み合わせた量化取引戦略と呼ばれています. この戦略は,RSI指標とCCI指標の組み合わせを主に市場における過剰買い過剰売り現象を判断して,反転の機会を捕捉するために使用します.具体的には,戦略は,RSIの多空線を計算して,CCI指標の多空信号を組み合わせて,多頭と空頭の開場ルールを設定します.
この戦略の核心的な論理は,RSI指数とCCI指数の統計的特性を同時に利用して,市場が現在過買または過売状態にあるかどうかを判断することです.
まず,RSIは,RSIの一部である。RSIは,市場の超買い超売り現象を反映する。RSIが70以上なら超買い領域であり,30未満なら超売り領域である。この戦略では,長線と短線の両RSIが設定され,長線は,デフォルトで14周期,短線は12周期である。長線は,コアトレンドを判断し,短線は,より敏感な転換点を追跡する。長線と短線のRSI指標が同方向 (例えば,双重超買いまたは双重超売り) になると,市場が明確な非均衡状態にあることを表す.これは,逆転の最良のチャンスである。
次に,CCI部分。CCI指標は14周期のパラメータで超買い超売り判断にも利用できる。CCIが100以上は超買い,100未満は超売りである。本策はCCI指標のこの特性を利用して,ポジション開設ルールを設定する.CCI指標がRSI指標の多空信号と一致するときに,すなわち,RSI指標が判断した開設方向を実行する。
この戦略は,以下のようなルールで展開されます.
多頭開設:RSI指標が超売り領域を示しているとき (この周期で長短線RSIは30未満) とCCI指標が100未満であるとき,多頭開設.
空頭開設:RSI指標が超買区を示しているとき (この周期で長短線RSIが均等70以上) とCCI指標が100以上であるとき,空頭開設.
RSI指標とCCI指標の共同判断により,真の超買超売り区間を効果的に確認することができ,戦略の安定性と収益性の向上を図ることができます.
この戦略の最大の利点は,RSIとCCIの2つの指標の統計法則を同時に利用することで,超買い超売り現象をより正確に識別でき,反転を捕捉するための理想的な切断点を提供することです.具体的利点は次のとおりです.
この戦略の主なリスクは,RSIとCCIが判断した超買い超売りシグナルが,実際の反転時刻を完全に反映しているとは限りません.具体的リスクは,以下のとおりです.
リスクに対応する解決策は以下の通りです.
この戦略は,実際の運用においてさらに最適化できる.主な最適化アイデアは以下の通りです.
テストと最適化により,この戦略の収益性と安定性がさらに向上すると期待できます.
この戦略は,より典型的な逆転キャプチャ戦略の1つである. RSIとCCIの2つの一般的な指標を組み合わせて,超買い超売り区間を判断し,それに応じた開口ルールを設計することで,簡単な実用的なショートライン取引戦略を形成する. この戦略の主要な優点は,判断をより正確にするために,偽逆転の誤導を回避するために,逆転の最適なタイミングを把握するために,指標の組み合わせを使用することです.
/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//Author: RvZ14
//Based on Joseph Nemeth MACD+CCI strategy
//Reference reading: https://sites.google.com/site/forexjosephnemeth/home/macd-cci
strategy(title="MACD+CCI Strategy", shorttitle="macd/cci")
length = input(14, minval=1)
fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(2,minval=1)
src = input(close, title="CCI Source")
//cci
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
plot(cci, title = "cci", color=#5DADE2,linewidth = 1,transp = 0)
band1 = hline(100, color=gray, linewidth = 1)
band0 = hline(-100, color=gray, linewidth = 1)
fill(band1, band0, color= #F9E79F)
//macd
source = close
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)
hist = macd - signal
plot(hist, color=#EC7063, style=histogram)
plot(macd, title = "macd", color=#5DADE2, linewidth = 1,transp = 0)
plot(signal, title = "signal", color=#F5B041,linewidth = 1,transp = 0)
longCond = cci > 100 and macd > 0 or cci > -100 and macd < 0
shortCond = cci < -100 and macd < 0 or cci < 100 and macd > 0
strategy.entry("long",strategy.long,when = longCond == true)
strategy.entry("short",strategy.short,when=shortCond == true)