この戦略は,ボリンジャーバンドとRSIダブル確認戦略と呼ばれています.Bollinger Bandの上下帯を計算し,RSIからの過剰購入と過剰販売の信号を組み合わせることで,低値で購入し高値で販売することを目指しています.
この戦略は主に2つの指標,ボリンジャーバンドとRSIをベースにしている.
ボリンジャー帯には上帯,中帯,下帯が含まれ,これらは一定の期間における移動平均値と標準偏差を計算することによって構築される.価格が上帯に近いとき,過剰購入エリアを示します.下帯に近いとき,過剰販売エリアを示します.
RSI は,底部リバウンドと上部コールバックのタイミングを決定するために使用されます. RSI 70 以上は過買いゾーンで,30以下は過売りゾーンです.
この戦略の取引信号は以下の通りです
これは,誤った信号が単一の指標に依存することを避け,より信頼性の高い低価格購入と高価格販売戦略を達成します.
リスク管理ソリューション:
この戦略は,ボリンジャーバンドとRSIの二重検証メカニズムを通じて低買いと高売りを実現し,偽信号を削減し,ベストエントリータイミングを逃すのを避ける.一方,パラメータ化されたデザインは適応性と最適化スペースを増加させる.しかし,安定性を向上させるためにさらなる最適化が必要なリスクはまだある.全体として,この戦略はトレンドとオーバーバイト・オーバーセールレベルの追跡の利点を組み合わせている.適切なパラメータチューニングとリスク管理により,良質な利益の可能性がある.
/*backtest start: 2024-01-06 00:00:00 end: 2024-02-05 00:00:00 period: 1h basePeriod: 15m 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)