
Die RSI-Bulling-Band-Strategie ist eine Handelsstrategie, die die Bulling-Band (BB), den Relativ-Schwachen-Indikator (RSI) und den einfachen Moving Average (SMA) integriert. Die Strategie ist einzigartig, da sie einen dynamischen Level zwischen dem oberen und unteren Kurs berechnet, der auf den Schlusskurs basiert. Diese einzigartige Funktion ermöglicht es der Strategie, sich an Marktvolatilität und Preisänderungen anzupassen.
Die Kryptowährungs- und Aktienmärkte sind sehr volatil und eignen sich daher hervorragend für eine Bollinger-Band-Strategie. Der RSI hilft dabei, Überkäufe und Überverkäufe in diesem oft spekulativen Markt zu erkennen.
Dynamische Bollingband: Die Strategie berechnet zunächst die oberen und unteren Bollingbands nach der von dem Benutzer definierten Länge und dem Multiplikator. Dann wird der Wert des PresentBollingBand in Kombination mit dem Bollingband und der Schlusskursdynamik angepasst. Schließlich wird ein Mehrsignal erzeugt, wenn der Preis den Present BollingBand durchquert, und ein Leersignal, wenn der Preis den Present BollingBand durchquert.
RSI: Die Strategie berechnet auch den RSI und seine SMA, wenn der Benutzer sich entscheidet, ein RSI-Signal zu erzeugen, und verwendet diese, um zusätzliche Über- und Unterziehungssignale zu erzeugen. Ein RSI-basiertes Signal wird nur verwendet, wenn die Option “RSI-Signal erzeugen” auf “true” gesetzt ist.
Die Strategie überprüft dann die gewählte Handelsrichtung und geht entsprechend in eine Über- oder Unterkursposition. Wenn die Handelsrichtung auf den Zwei-Strahler eingestellt ist, kann die Strategie gleichzeitig in eine Über- und Unterkursposition gehen.
Schließlich wird ein Plus-Betrieb platziert, wenn der Schlusskurs die gegenwärtige Bollingbandbreite durchschreitet; ein Short-Betrieb wird platziert, wenn der Schlusskurs die gegenwärtige Bollingbandbreite durchschreitet.
Die Strategie kombiniert die Vorteile der Bollinger Bands, RSI und SMA-Indikatoren, um die Volatilität des Marktes anzupassen, die Dynamik der Schwankungen zu erfassen und Handelssignale bei Überkauf und Überverkauf zu erzeugen.
Der RSI ergänzt die Brin-Band-Trading-Signale und verhindert falsche Eintritte in den turbulenten Märkten. Er erlaubt die Auswahl, nur zu handeln, nur zu handeln oder in beide Richtungen zu handeln, um sich an unterschiedliche Marktbedingungen anzupassen.
Die Parameter sind individuell anpassbar und an die persönlichen Risikopräferenzen angepasst.
Die Strategie ist auf technische Indikatoren angewiesen und kann nicht mit den grundlegenden Veränderungen umgehen.
Die falsche Einstellung der Brin-Band-Parameter kann zu einer zu häufigen oder zu spärlichen Erzeugung von Handelssignalen führen.
Die Risiken im Zwei-Wege-Handel erhöhen sich, und man muss vorsichtig sein, um Verluste aus der Börsennotierung zurückzuführen.
Es wird empfohlen, die Risiken in Kombination mit Stop Loss zu kontrollieren.
Filtersignale in Kombination mit anderen Indikatoren, z. B. MACD.
Erhöhung der Stop-Loss-Strategie.
Optimierung der Brin-Band- und RSI-Parameter.
Anpassung der Parameter an die verschiedenen Handelsarten und -zyklen
Berücksichtigen Sie die Optimierung der Festplatte und passen Sie die Parameter an die tatsächliche Situation an.
Die RSI-Brin-Band-Strategie ist eine technisch-indikatorgetriebene Strategie, die die Vorteile von Brin-Bändern, RSI und SMA-Indikatoren kombiniert, um die Marktschwankungen durch die dynamische Anpassung von Brin zu erfassen. Die Strategie bietet viel Platz für die Anpassung und Optimierung, kann jedoch keine grundlegenden Veränderungen vorhersagen.
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 15m
basePeriod: 5m
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/
// © PresentTrading
//@version=5
// Define the strategy settings
strategy('Volatility Capture RSI-Bollinger - Strategy [presentTrading]', overlay=true)
// Define the input parameters for the indicator
priceSource = input.source(title='Source', defval=hlc3, group='presentBollingBand') // The price source to use
lengthParam = input.int(50, 'lengthParam', minval=1, group='presentBollingBand') // The length of the moving average
multiplier = input.float(2.7183, 'Multiplier', minval=0.1, step=.1, group='presentBollingBand') // The multiplier for the ATR
useRSI = input.bool(true, 'Use RSI for signals', group='presentBollingBand') // Boolean input to decide whether to use RSI for signals
rsiPeriod = input.int(10, 'RSI Period', minval=1, group='presentBollingBand') // The period for the RSI calculation
smaPeriod = input.int(5, 'SMA Period', minval=1, group='presentBollingBand') // The period for the SMA calculation
boughtRange = input.float(55, 'Bought Range Level', minval=1, group='presentBollingBand') // The level for the bought range
soldRange = input.float(50, 'Sold Range Level', minval=1, group='presentBollingBand') // The level for the sold range
// Add a parameter for choosing Long or Short
tradeDirection = input.string("Both", "Trade Direction", options=["Long", "Short", "Both"], group='presentBollingBand') // Dropdown input for trade direction
// Calculate the bollingerBand
barIndex = bar_index // The current bar index
upperBollingerBand = ta.sma(high, lengthParam) + ta.stdev(high, lengthParam) * multiplier // Calculate the upper Bollinger Band
lowerBollingerBand = ta.sma(low, lengthParam) - ta.stdev(low, lengthParam) * multiplier // Calculate the lower Bollinger Band
var float presentBollingBand = na // Initialize the presentBollingBand variable
crossCount = 0 // Initialize the crossCount variable
// Calculate the buy and sell signals
longSignal1 = ta.crossover(priceSource, presentBollingBand) // Calculate the long signal
shortSignal1 = ta.crossunder(priceSource, presentBollingBand) // Calculate the short signal
// Calculate the RSI
rsiValue = ta.rsi(priceSource, rsiPeriod) // Calculate the RSI value
rsiSmaValue = ta.sma(rsiValue, smaPeriod) // Calculate the SMA of the RSI value
// Calculate the buy and sell signals
longSignal2 = rsiSmaValue > boughtRange // Calculate the long signal based on the RSI SMA
shortSignal2 = rsiSmaValue < soldRange // Calculate the short signal based on the RSI SMA
presentBollingBand := na(lowerBollingerBand) or na(upperBollingerBand)?0.0 : close>presentBollingBand?math.max(presentBollingBand,lowerBollingerBand) : close<presentBollingBand?math.min(presentBollingBand,upperBollingerBand) : 0.0
if (tradeDirection == "Long" or tradeDirection == "Both") and longSignal1 and (useRSI ? longSignal2 : true) // Use RSI for signals if useRSI is true
presentBollingBand := lowerBollingerBand // If the trade direction is "Long" or "Both", and the long signal is true, and either useRSI is false or the long signal based on RSI is true, then assign the lowerBollingerBand to the presentBollingBand.
strategy.entry("Long", strategy.long) // Enter a long position.
if (tradeDirection == "Short" or tradeDirection == "Both") and shortSignal1 and (useRSI ? shortSignal2 : true) // Use RSI for signals if useRSI is true
presentBollingBand := upperBollingerBand // If the trade direction is "Short" or "Both", and the short signal is true, and either useRSI is false or the short signal based on RSI is true, then assign the upperBollingerBand to the presentBollingBand.
strategy.entry("Short", strategy.short) // Enter a short position.
// Exit condition
if (strategy.position_size > 0 and ta.crossunder(close, presentBollingBand)) // If the strategy has a long position and the close price crosses under the presentBollingBand, then close the long position.
strategy.close("Long")
if (strategy.position_size < 0 and ta.crossover(close, presentBollingBand)) // If the strategy has a short position and the close price crosses over the presentBollingBand, then close the short position.
strategy.close("Short")
//~~ Plot
plot(presentBollingBand,"presentBollingBand", color=color.blue) // Plot the presentBollingBand on the chart.