マルチ指標融合戦略は,複数の異なるタイプの技術指標を組み合わせて,それぞれの優位性を組み合わせることで,取引の勝利率を高める目的を達成するために,より正確で総合的な市場判断を実現します.
この戦略は,3つの異なる技術指標を同時に使用しています:変動率指数 (VI),ROC-RSI,価格変動率 (Price ROC).
まず,戦略計算VIは,正向変化指標VIPと負向変化指標VIMから構成されている.VIPとVIMは,それぞれ価格の上昇力と下降力を測定する.VIPとVIMの変動率を比較することで,将来の価格の上昇または下降の可能性を判断することができる.
第二に,戦略はROCとRSIを組み合わせてROC-RSI指標を形成する.ROCは,価格がより長い周期で変化することを測定し,RSIは,より短い周期で価格が超買い超売りすることを反映する.ROC-RSIは,現在の株式価格が非合理的な極域にあるかどうかを判断するために,この2つの側面の情報を統合する.
最後に,価格変動率 (Price ROC) は,価格変動の強さを直接反映する.VIとROC-RSIとは異なり,価格自体の観点からトレンドを判断する.
戦略は,上記の3つの指標を組み合わせて使用し,同時に購入または販売のシグナルを発信した場合のみ,取引指示を生成します.これは,いくつかの潜在的な偽信号をフィルターして,信号の信頼性を向上させます.
この多指標組合せ戦略の最大の利点は,異なる指標の優位性を統合して,より包括的で正確な判断を形成できることです.
具体的には,VIは,買賣力の反映をすることができ,トレンドの転換を捕捉します.ROC-RSIは,価格が冷たく熱くされていないかどうかを判断できます.Price ROCは,価格の変化のトレンドを直接反映します.各指標は相互に検証することができ,単一の指標が誤りを引き起こさないようにします.
また,複数の指標が同時に信号を発信することを要求することで,偽の信号をフィルタリングすることができ,取引信号の質も向上します.
つまり,多指標の組み合わせ戦略は,各指標の優位性を活用し,相互に補完的な検証を行い,より信頼性の高い正確な取引戦略を実現します.
この戦略の主なリスクは,各指標のパラメータが正しく設定されず,結果として指標間の衝突が生じることにある.
例えば,VIとPrice ROCが上昇傾向にあると判断しても,ROC-RSIが高くなりすぎると売り込み信号を発信し,買い取りの機会を逃す可能性があります.
この戦略を最適化するには,以下のステップを踏む必要があります.
各指標のパラメータを調整して,一致した取引信号を発信できるようにする.
使用する指標の数と種類を増加または減少させ,最適の指標の組み合わせを見つける.例えば,移動平均などのトレンド指標を添加することができる.
指数信号の合并ロジックを調整する.例えば,多数指数に変更して信号を発したときに取引する.
単発損失を抑えるためのストップ・メカニズムが追加された.
ポジションサイズ設定など,資金管理戦略の最適化
品種や取引時期の適応をテストする
継続的な最適化により,多指標組合せ戦略を最大限に活用して,安定した超利益を得ることができます.
多指標組合せ戦略は,VI,ROC-RSI,Price ROCなどの指標の優位性を融合して,より信頼性の高い,包括的な市場判断を実現し,取引の勝率を向上させます.その最大の優位性は,指標が互いに検証し,単一の指標が誤りを引き起こさないことです.同時に,指標組合せを最適化することも,戦略の最大効果を達成するための鍵です.継続的なテストと最適化により,多指標組合せ戦略は,取引の効果を効果的に向上させることができます.
/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("drnkk Strategy", overlay=true)
//IF Function
IF(input)=>(exp(2*input)-1)/(exp(2*input)+1)
//VI Inputs
VI_pm = input(4, title="VI Period",minval=2)
VI_ps = input(3, title="VI Smoothing Period",minval=0)
//VI Calculation
VMP = sum( abs( high - low[1]), VI_pm )
VMM = sum( abs( low - high[1]), VI_pm )
STR = sum( atr(1), VI_pm )
VIP = VMP / STR
VIM = VMM / STR
//VI Smoothing
wmaVIP = (wma(VIP-1,VI_ps))*10
wmaVIM = (wma(VIM-1,VI_ps))*10
//VI IF Transform
IF_VIP=IF(wmaVIP)*100
IF_VIM=IF(wmaVIM)*100
roc_VIP =(wmaVIP - wmaVIP[VI_ps]) / VI_ps
plot(roc_VIP ? roc_VIP : na, color=lime)
roc_VIM = (wmaVIM - wmaVIM[VI_ps]) / VI_ps
plot(roc_VIM ? roc_VIM : na, color=purple)
//ROC-RSI Inputs
RSI_pm = input(2, title="ROC-RSI Period",minval=2)
RSI_ps = input(2, title="Smooth Period",minval=0)
//ROC Calculation and Smoothing
raw_ROC=(close - close[RSI_pm])/RSI_pm
wma_ROC=wma(raw_ROC,RSI_ps)
IF_ROC = IF(wma_ROC)*100
//RSI Calculation, Smoothing, Inverse Fisher Transformation
raw_RSI=0.1*(rsi(close,RSI_pm)-50)
wma_RSI=wma(raw_RSI,RSI_ps)
IF_RSI = IF(wma_RSI)*100
VI_long = roc_VIP >roc_VIM
VI_short = roc_VIM >roc_VIP
RSI_long = IF_RSI > 80
RSI_short = IF_RSI < -80
ROC_long = IF_ROC > 75
ROC_short = IF_ROC < -75
longCondition = year >= 2018 and VI_long and ROC_long and RSI_long
if (longCondition)
strategy.entry("BUY", strategy.long)
shortCondition = year >= 2018 and VI_short and ROC_short and RSI_short
if (shortCondition)
strategy.entry("SELL", strategy.short)