複数のタイムフレームを横軸に層化したRSI戦略

作者: リン・ハーンチャオチャン, 日時: 2023-09-28 16:12:25
タグ:

概要

この戦略は,複数のタイムフレームをリペインティングしないRSI戦略で,より高い2つのタイムフレームがオーバーセールされた場合にのみ長引く.私はBTC/USD1分で書いたが,論理は他の資産にも機能すべきだ.資産がダウントレンドにあるときに利益を得るために設計されている.

原則

斜面層化とは,異なる時間枠にわたって広がるエントリーと出口条件を指す.通常,ダウントレンドでは,現在のタイムフレームのオーバーカップゾーンに達しないため,指標は利益にならない可能性があります.むしろ,より高いタイムフレームのオーバーカップゾーンが最初に到達し,後押しが続きます.斜面層化戦略は,斜面的に販売することによってこれを緩和します.つまり,より速いタイムフレームがオーバーカップに達すると販売し,より遅いタイムフレームがオーバーセールに達すると購入します.

この戦略は斜めに層化されている.全体的なトレンドに基づいて斜め上と斜め下を切り替える別のスクリプトを作成することができます. 延長された上昇傾向期では,この指標が頻繁に点滅しない可能性があります. これは時間系列xタイムフレームチャートでX形として可視化できます. 考慮すべきことがあります...

利点

  • 複数のタイムフレームでRSI指標を使用し,信号の信頼性を向上させる
  • 斜面層化により下落傾向の機会が増える
  • 塗り替えない指標は信頼できる信号を出す
  • 設定可能なRSIパラメータと過買い/過売りレベルは,異なる市場に適応する
  • 取引コストを考慮し,高周波取引よりも安定した利益を目指す

リスク と 解決策

  • RSIは誤った信号,パラメータの調整,またはフィルターを追加しやすい
  • 斜面層化により入力の難易度が高くなり 層付きタイムフレームが短くなる
  • 方向性リスクに曝されている場合のみ,長期/短期バランスを考える
  • 取引ごとに損失を制御するために固定ストップ損失を使用します.

オプティマイゼーションの方向性

  • トレンド検出を追加し,ダウントレンドでは斜面層化,上昇トレンドでは斜面上層化を使用します
  • 最適なコンボを見つけるためにRSIパラメータを最適化
  • 音量,MAなどフィルターを追加して信号品質を向上させる
  • 短期戦略を追加して,戦略はすべての市場で利益を得ることができます
  • ストップ・ロスを最適化して引き上げを減らす

概要

ダウントレンドの戦略は,ダウントレンドのトレンドを回転させることが可能である.多時間フレームのRSIと斜面層化を使用して,ダウントレンドのブランスを捕捉する機会を提供します.非再塗装は信号の信頼性を向上させます.パラメータ最適化,フィルターを追加し,短い戦略により,任意の市場にとって強力な戦略にすることができます.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-06-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wbburgin

//@version=5
strategy("MTF Layered RSI - Bitcoin Bot [wbburgin]",overlay=false, pyramiding = 20, initial_capital=10000)

length = input.int(7,"RSI Length")
tf2 = input.timeframe("3",title="HT 1")
tf3 = input.timeframe("5",title="HT 2")
ob = input.int(80,"Overbought Level")
os = input.int(20,"Oversold Level")

rsi = ta.rsi(close,length)
rsi2 = request.security(syminfo.tickerid, tf2, rsi[1], barmerge.gaps_off, lookahead=barmerge.lookahead_on)
rsi3 = request.security(syminfo.tickerid, tf3, rsi[1], barmerge.gaps_off, lookahead=barmerge.lookahead_on)

plot(rsi,color=color.yellow,title="RSI Current TF")
plot(rsi2,color=color.new(color.yellow,50),title="RSI HT1")
plot(rsi3,color=color.new(color.yellow,75),title="RSI HT2")

lm=hline(os,title="Oversold")
hm=hline(ob,title="Overbought")

fill(hm,lm,color=color.new(color.blue,95))

htCross = (ta.crossover(rsi2,os) and rsi3>os and rsi>os) or (ta.crossover(rsi3,os) and rsi2>os and rsi>os)
buySig = (ta.crossover(rsi,os) and rsi2 < os and rsi3 < os) or htCross
sellSig = ta.crossunder(rsi,ob)

if buySig
    strategy.entry("Long",strategy.long)
if sellSig
    strategy.close("Long")

plotshape(buySig,title="Buysig",style=shape.triangleup,location=location.bottom,color=color.green,size=size.tiny)
plotshape(sellSig,title="Sellsig",style=shape.triangledown,location=location.top,color=color.red,size=size.tiny)

もっと