RSI に 基づく ボリンジャー バンド と トレンド トレーキング 戦略

作者: リン・ハーンチャオチャン,日付: 2024-02-05 11:02:51
タグ:

img

この戦略は,ボリンジャー・バンドとRSI指標を組み合わせて,価格動向の重要な転換点を特定します. 傾向が逆転するときにポジションを確立し,その後,トレンドの勢いをフォローして利益を出します.

概要

この戦略は,まずボリンジャーバンドの上下帯を使用して価格振動範囲と方向を決定する.その後,RSIインジケーターを使用して,長期と短期の機会を識別する.例えば,RSIがオーバーバイト/オーバーセールエリアから出ると,下帯の近くでゴールデンクロスが現れると,ロングポジションを確立する.またはRSIがオーバーバイトエリアを出ると,上帯の近くでデスクロスが現れると,ショートポジションを確立する.その後,ストップと利益目標を追跡するためにボリンジャーバンドのダイナミックストップを使用する.

戦略の論理

この戦略は主にボリンジャーバンドとRSI指標の組み合わせを使用して,価格動向の主要な逆転を特定します.

ボリンジャー帯 (Bollinger Band) は,価格の変動範囲に基づいて上下帯を計算する技術指標である.価格の標準偏差を計算することにより,価格変動の幅を決定し,それに従って上下限をプロットする.上下帯は価格変動の上限を表し,下下帯は下限を表す.価格が上下帯に近づくと,価格が牛市で上向きに振動していることを示唆する.潜在的な下落は注意すべきである.価格が下下帯に近づくと,加速した下落を示唆する.潜在的なブランスは注意すべきである.

RSIは,価格上昇と減少の強さを計算することによって価格動向と過買い/過売状態を判断する技術指標である. 平均的な閉店利益と平均的な閉店損失を比較することによって,継続的な価格上昇または下落の勢いを測定する. 70を超えるRSIは過買い状態を示し,30未満は過売状態を示し,これは潜在的な価格逆転を意味する.

この戦略の取引シグナルは,ボリンジャーバンドとRSI信号の組み合わせから生じる.RSIがオーバーバイドゾーンから中立ゾーンに低下し,価格がボリンジャーバンドの下部帯を下回ると,上向きの価格トレンドが崩壊し,ショートポジションが出現することを示す.我々はショートポジションを確立することができます.逆に,RSIがオーバーセールゾーンから中立ゾーンに上昇し,価格が上部帯を下回ると,下向きの価格トレンドが崩壊し,ロングポジションが発生することを示す.我々はロングポジションを確立することができます.

ポジションを確立した後,ボリンジャー帯の上下帯はリスクと利益目標の管理のための動的ストップとして使用されます.価格が逆転して再びそれらのキーレベルを突破すると,我々はタイミングでポジションを閉じる.

利点

この戦略の最大の利点は,価格の重要なターニングポイントを特定する際に,ボリンジャーバンドとRSIインジケーターを相互に検証するために使用することです.ボリンジャーバンドを単独で使用することで,簡単に偽信号を生成できます.しかし,RSIのオーバーバイト/オーバーセールゾーンを組み合わせることで,偽取引は効果的に回避できます.もう1つの利点は,ボリンジャーバンドの動的上下帯を利益と損失のストップとして使用することです.これは固定利益と損失のストップを事前に設定するよりも柔軟で合理的です.

リスク

この戦略の主なリスクは2つの側面に反映されています.

  1. ボリンジャー帯のパラメータ設定が不適切である.ボリンジャー帯のパラメータが大きすぎたり小さすぎたりすると,上昇した振動を特定する効果は大きく減少します.

  2. インディケーターからの誤った信号.この戦略は主にボリンジャーバンドとRSIインディケーターを組み合わせて重要なポイントを識別する.個々の場合,発信された信号はまだ間違っている可能性があります.その時点で盲目的にそれらをフォローすると損失を引き起こす可能性があります.

上記のリスクに対処するために,最適化は次の側面で行うことができます:

  1. 適正なパラメータを設定するために,異なる市場とサイクル期間でボリンジャーバンドパラメータの最適な値をテストします.

  2. シグナルを検証し,単一の指標から誤った判断を避けるために他の指標を追加します.KDのような指標を追加できます.

  3. 特定の市場状況に基づいて参加するかどうかを決定するために手動的な経験的ルールを追加します

最適化

この戦略は,次の側面においてさらに最適化することができる.

  1. ベースに適した最適なパラメータを見つけるために,ボリンジャーバンドパラメータをテストし最適化します.

  2. ストップ・ロストと取利益戦略を加える. トレイリング・ストップや移動した利益目標を使用して,より大きな利益をロックすることができます.

  3. 入力信号の検証のためにより多くの指標とパターンを組み合わせ,正確性を向上させる.例には,ボリューム価格指標,基本要素などがあります.

  4. 異なる製品や市場の特徴に応じてパラメータ最適化組み合わせを設定し,複数のパラメータ組み合わせを持つ戦略プールを構築する.

結論

この戦略は,ボリンジャーバンドとRSIインジケーターを組み合わせて,2つのインジケーターが互いに検証するときに重要な潜在的な逆転点を特定します.主要市場ポイントを捕獲する際は比較的信頼性があります.ストップ損失と利益の引き上げのためのダイナミックバンドも合理的です.しかし,この戦略にはまだリスクがあります.したがって,運用戦略を最適化し検証するために他のツールが必要です.ライブ取引中に,取引経験に基づいて手動の干渉も必要です.一般的に,これは典型的な定量的な取引戦略です.


/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("TradeOptix 2.0", shorttitle="TradeOptix 2.0", overlay=true)


///////////// RSI
RSIlength = input(6, title='RSI Period Length')
RSIoverSold = 50
RSIoverBought = 50
price = close
vrsi = ta.rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input.int(200, minval=1, title='Bollinger Period Length')
BBmult = 2  // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = ta.sma(price, BBlength)
BBdev = BBmult * ta.stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = ta.crossover(source, BBlower)
sellEntry = ta.crossunder(source, BBupper)
plot(BBbasis, color=color.new(color.aqua, 0), title='Bollinger Bands SMA Basis Line')
p1 = plot(BBupper, color=color.new(#7787b9, 0), title='Bollinger Bands Upper Line')
p2 = plot(BBlower, color=color.new(#7787b9, 0), title='Bollinger Bands Lower Line')
fill(p1, p2, color = color.rgb(40, 226, 255, 90))





///////////// RSI + Bollinger Bands Strategy
long = ta.crossover(vrsi, RSIoverSold) and ta.crossover(source, BBlower)
close_long = ta.crossunder(vrsi, RSIoverBought) and ta.crossunder(source, BBupper)

if not na(vrsi)

    if long
        strategy.entry('Long', strategy.long, stop=BBlower, alert_message = "Exit")
        alert("Enter Calls")
    else
        strategy.cancel(id='Long')
        alert("Exit Calls")

    if close_long
        strategy.close('Long',alert_message = "Exit")
        alert("Exit Calls")


plotshape(long, title='UpTrend Begins', location=location.belowbar, style=shape.flag, size=size.tiny, color=color.new(color.green, 0))
plotshape(close_long, title='DownTrend Begins', location=location.abovebar, style=shape.flag, size=size.tiny, color=color.new(color.red, 0))



もっと