Inverse Fisher RSI Moving Average Multi Timeframe Strategyは,より長いタイムフレームで逆調整されたRSI指標の移動平均を計算することによって,潜在的な市場逆転点を特定しようとする定量的な取引戦略です.
戦略はまず通常のRSI指標を計算し,RSI_pmパラメータがRSI計算期間を表します.その後,元のRSIは数学関数IF (input) => (exp) 2を通じて逆調整されます.入力)-1)/exp2調整されたRSIは IF_RSI変数に転送されます.
過剰なノイズをフィルタリングするために,この戦略は,RSI_ps期間中のIF_RSIの移動平均をさらに計算し,購入・販売シグナルを決定するために使用される最終指標wma_RSIを得ます.この指標は0-100の範囲にさらにマッピングされます.
最後に,戦略は,この指標をより高いタイムフレームにプロットし,0.8と -0.8で
この戦略は,ダブルスムージングを通じてRSIトレンドを処理し,過剰なノイズを効果的にフィルタリングし,比較的明確な逆転信号をロックすることができます.ダブルスムージングは,元のRSIインジケーターと絶対調整されたRSIインジケーターにそれぞれ適用されます.この方法は,インジケーターの平均逆転特性を向上させ,比較的信頼性の高い取引信号を生成することができます.
さらに,戦略で採用された多時間枠分析方法により,より高いレベルの時間枠で指標のブレイクが特定され,長期の逆転機会を把握し,短期間の過剰な市場騒音による干渉を回避できます.
この戦略は,購入・販売ポイントを決定するために移動平均指標に依存し,一定の遅れがあります.長期の牛市では,調整された指標の上昇空間が限られ,トレンド機会を完全に把握できなくなります.
一方,調整は,短期的訂正の後もリバウンドの機会を逃す可能性があります.指標パラメータが適切に最適化されていない場合,特定の戦略リスクに直面することがあります.
市場状況に適した調整を試みる.例えば,最適なパラメータ組み合わせを見つけるために,異なるRSI計算サイクルとスムージング期間のパラメータをテストすることができます.
また,シグナルを検証し,戦略の安定性を向上させるために他の補助指標を組み合わせることを検討する価値があります.例えば,ボリューム指標,ボリンジャー帯など,トレンド信号の強さを判断するために追加することができます.
インバースフィッシャーRSI移動平均多時間枠戦略は,全体的に堅牢な論理を持っていますが,より広範な市場状況に適応するために最適化が必要です.信頼性の高い定量的な取引戦略になるために,さらなるテストと改善に値します.
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title = "Inverse Fisher RSI-MTF2", shorttitle="INRSIM2",overlay=true) //Inputs RSI_pm = input(5, title="RSI Main Period",minval=2) RSI_ps = input(1, title="RSI Smooth Period",minval=0) //Functions IF(input)=>(exp(2*input)-1)/(exp(2*input)+1) //RSI Calculation raw_RSI=0.1*(rsi(close,RSI_pm)-50) wma_RSI=wma(raw_RSI,RSI_ps)*100 IF_RSI = IF(wma_RSI) resCustom = input(title="Timeframe", defval="1440" ) v=request.security(syminfo.tickerid, resCustom,IF_RSI) a=v>0.8 b=v<-0.8 z=0.8 buy = crossover(v,z) sell=crossunder(v,b) plotshape(sell, title="sell", style=shape.triangledown,location=location.abovebar, color=red, transp=0, size=size.small) plotshape(buy, title="buy", style=shape.triangleup,location=location.belowbar, color=green, transp=0, size=size.small) //Strategy golong = crossover(v,z) goshort = crossunder(v,b) strategy.entry("Buy",strategy.long,when = golong) strategy.entry("Sell",strategy.short,when = goshort)