Bollinger Bands と RSI 組み合わせの取引戦略

作者: リン・ハーンチャオチャン,日付: 2024-02-04 15時09分35秒
タグ:

img

概要

これは,ボリンジャーバンドと相対強度指数 (RSI) を使った組み合わせの取引戦略です. RSIがオーバー買いまたはオーバーセールエリアに到達したとき,ボリンジャーバンドの上下線と組み合わせて購入・売却信号を生成することです.

戦略名

BB-RSI 組み合わせの取引戦略

戦略原則

この戦略は,まず,中間線,上間線,下間線を含む通常のボリンガー帯を計算する.中間線は,特定の期間における閉値の単純な移動平均線であり,上間線と下間線は,中間線の1つの標準偏差以上および以下である.

同時に,この戦略はRSI指標を計算します.RSIは,平均的な閉じる上昇傾向と平均的な閉じる下落傾向を比較することによって,現在の市場が過買いまたは過売されているかどうかを判断します.

RSIが低点 (デフォルト30) 未満である場合,市場は過売り状態である.RSIが高点 (デフォルト70) 以上の場合,市場は過買い状態である.

この戦略では,RSIがoversoldゾーンに達すると,閉値がBollinger Bands下線より低い場合,買い信号が生成されます.RSIがoversoldゾーンに達すると,閉値がBollinger Bands上線より高い場合,売り信号が生成されます.

利点分析

この組み合わせ戦略の最大の利点は,市場のターニングポイントを発見できるということです.株価がボリンジャー帯幅の比較的大きな領域にあるとき,それは市場の変動が大きいことを意味します.この時点で,RSIを通じて市場が過剰購入または過剰販売されているかどうかを判断することによって,逆転のタイミングを特定することができます.

もう一つの利点は柔軟なパラメータ設定である.ボリンジャーバンドとRSIインジケーターの両方が,トレーダーはニーズに基づいて最適化できる調整可能なパラメータを持っています.

リスク分析

この戦略の最大のリスクは,生成されたシグナルの数が少ないことです.特に長期の片道トレンド市場では,過剰にフィットする傾向があります.この時点で,RSIが過剰購入および過剰販売状態に達することは困難です.取引シグナルを生成することはできません.

また,パラメータ設定の難しさもリスクである.ボリンジャーバンドとRSIの両方がサイクルおよび他のパラメータを設定する必要があります.不適切な選択は戦略の結果が悪い結果をもたらす可能性があります.これは,トレーダーが市場を徹底的に理解することを要求します.そうでなければ,彼らは慎重に戦略を使用する必要があります.

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

より多くの取引機会を得るために,RSIの過剰購入および過剰販売ラインは適切に調整することができます.例えば,過剰販売ラインは40に上昇し,過剰購入ラインは60に低下し,信号がより簡単に形成できます.

また,一方的なトレンド市場の盲目逆転を避けるためにトレンド判断メカニズムを導入する方向性もある.例えば,長期サイクルの移動平均の方向性はフィルター条件として計算できる.移動平均の方向性が一致するときにのみシグナルが生成される.

概要

BB-RSIの組み合わせ戦略は,サポートとレジスタンスを決定するためにボリンジャーバンドと,反転点での信号を生成して,過剰購入および過剰販売状態を決定するために,RSIを使用する.それは市場のターニングポイントを効果的に特定することができ,典型的な反転取引戦略である.パラメータ最適化とルール精製を通じて,この戦略は定量取引のための強力なツールになることができます.


/*backtest
start: 2023-01-28 00:00:00
end: 2024-02-03 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/
// © samuelarbos


//@version=4
strategy("Estrategia de Bandas de Bollinger y RSI", overlay=true)

// Definimos los parámetros de las bandas de Bollinger
source = input(close, title="Precio base")
length = input(20, minval=1, title="Longitud")
mult = input(2.0, minval=0.001, maxval=50, title="Desviación estándar")

// Calculamos las bandas de Bollinger
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

// Definimos el RSI y sus parámetros
rsi_source = input(close, title="RSI Fuente")
rsi_length = input(14, minval=1, title="RSI Longitud")
rsi_overbought = input(70, minval=0, maxval=100, title="RSI Sobrecompra")
rsi_oversold = input(30, minval=0, maxval=100, title="RSI Sobrevendido")

// Calculamos el RSI
rsi = rsi(rsi_source, rsi_length)

// Definimos las señales de compra y venta
buy_signal = crossover(close, lower) and rsi < rsi_oversold
sell_signal = crossunder(close, upper) and rsi > rsi_overbought

// Compramos cuando se da la señal de compra
if (buy_signal)
    strategy.entry("Buy", strategy.long)
    
// Vendemos cuando se da la señal de venta
if (sell_signal)
    strategy.entry("Sell", strategy.short)

もっと