RSI-CCI融合戦略は,RSIとCCIの2つの指標の優位性を統合することで,強力な取引戦略を形成します.それは,同時に動量と周期的な変化を捕捉し,市場状況をより全面的に判断することができます.
RSIとCCIの値を計算する.
z-scoreを使用してRSIとCCIの値を標準化し,比較性を高めます.
標準化されたRSIとCCIを一定の重みで融合させる.
計算の動向を把握し,超買いと超売りを識別する.
融合指数で軌道に乗るときは空きを考慮し,融合指数で軌道に乗るときは多行を考慮する.
RSIまたはCCIを単独で使用するよりも,この戦略は以下の利点があります.
この2つの指標の優位性を組み合わせることで,判断の正確さを向上させました.
ダイナミックな上下軌道設定は科学的に合理化され,誤判を減らす.
標準化された処理により,異なる指標を比較し,融合効果を高める.
傾向と過剰買いと過剰売れを同時に判断できる.
この戦略にはいくつかのリスクがあります.
パラメータが正しく設定されず,重要な取引のタイミングを逃す可能性があります.
体重を正しく設定しないと,指標の効果が弱まります.
逆のトレードが起こりうる.
上下軌道が緩やかすぎたり密集すぎたりして誤判の危険がある.
ウェブのコンテンツを最適化するには,以下のポイントを考慮する必要があります.
異なるパラメータをテストし,最適なパラメータを見つけます.
市場状況に応じて指標を最適化する.
トレンド指数と量値指数の組み合わせにより,正確性が向上します.
ストップダストストップを設定し,リスクをコントロールする.
上下軌のパラメータを最適化し,感度と騒音のバランスをとる.
RSI-CCI融合戦略は,指標融合の考え方により判断力を高め,科学的にパラメータを設定し,リスクをコントロールする前提下,全体的な効果は単一の指標戦略よりも優れている.しかし,市場調整方案に応じて注意が必要です.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © Julien_Eche
//@version=5
// strategy("RSI-CCI Fusion Strategy", shorttitle="RSI-CCI Fusion Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
length = input(14, title="Length")
rsi_weight = input.float(0.5, title="RSI Weight", minval=0.0, maxval=1.0)
cci_weight = 1.0 - rsi_weight
enableShort = input(false, "Enable Short Positions")
src = close
rsi = ta.rsi(src, length)
cci = ta.cci(src, length)
// Standardize the RSI and CCI values using z-score
rsi_std = ta.stdev(rsi, length)
rsi_mean = ta.sma(rsi, length)
rsi_z = (rsi - rsi_mean) / rsi_std
cci_std = ta.stdev(cci, length)
cci_mean = ta.sma(cci, length)
cci_z = (cci - cci_mean) / cci_std
// Combine the standardized RSI and CCI
combined_z = rsi_weight * rsi_z + cci_weight * cci_z
// Rescale to the original scale
rescaled = combined_z * ta.stdev(combined_z, length) + ta.sma(combined_z, length)
// Calculate dynamic upper and lower bands
upper_band = ta.sma(rescaled, length) + ta.stdev(rescaled, length)
lower_band = ta.sma(rescaled, length) - ta.stdev(rescaled, length)
// Buy and sell conditions
buySignal = ta.crossover(rescaled, lower_band)
sellSignal = ta.crossunder(rescaled, upper_band)
// Enter long position
if buySignal
strategy.entry("Buy", strategy.long)
// Exit long position
if sellSignal
strategy.close("Buy")
// Enter short position if enabled
if enableShort and sellSignal
strategy.entry("Sell", strategy.short)
// Exit short position if enabled
if enableShort and buySignal
strategy.close("Sell")