
La stratégie RSI-Bulling est une stratégie de négociation qui intègre les concepts des bandes de Bulling ((BB), des indices de force relative ((RSI) et des moyennes mobiles simples ((SMA)). La particularité de cette stratégie est qu’elle calcule un niveau dynamique entre les prix de clôture en amont et en aval. Cette fonctionnalité unique permet à la stratégie de s’adapter à la volatilité du marché et aux variations de prix.
Les crypto-monnaies et les marchés boursiers sont très volatils, ce qui est très approprié pour adopter la stratégie des bandes de Brin. L’RSI peut aider à identifier les situations d’achat et de vente excessive dans ce marché souvent spéculatif.
Les bandes de Bolling dynamiques: la stratégie commence par calculer les bandes de Bolling ascendantes et descendantes en fonction de la longueur et du nombre définis par l’utilisateur. Ensuite, la combinaison des bandes de Bolling et la dynamique des prix de clôture ajuste la valeur des bandes de Bolling actuelles. Enfin, un signal de plus est généré lorsque le prix traverse la bande de Bolling actuelle et un signal de vide lorsque le prix traverse la bande de Bolling actuelle.
RSI: Si l’utilisateur choisit de générer un signal avec le RSI, la stratégie calcule également le RSI et son SMA et les utilise pour générer des signaux de plus et de moins supplémentaires. Un signal basé sur le RSI n’est utilisé que lorsque le filtre de génération de signaux avec le RSI est réglé sur true.
Ensuite, la stratégie vérifie la direction de la transaction choisie et entre dans une position de plus ou de moins. Si la direction de la transaction est définie comme un axe bidirectionnel, la stratégie peut entrer dans une position de plus et de moins simultanément.
Finalement, les positions de plus ou de moins sont libérées lorsque le prix de clôture traverse la bande de la Bolling présente; les positions de moins ou de moins sont libérées lorsque le prix de clôture traverse la bande de la Bolling présente.
Cette stratégie, combinant les avantages des bandes de Brin, RSI et SMA, permet de s’adapter à la volatilité du marché, de capturer dynamiquement les fluctuations et de générer des signaux de transaction en cas de survente.
L’indicateur RSI complète les signaux de négociation des courbes de Brent et évite les entrées erronées dans les marchés en crise. Il permet de choisir entre le trading à long terme, à court terme ou à double sens, en fonction des différentes conditions du marché.
Les paramètres sont personnalisables et adaptés à vos préférences en matière de risque.
La stratégie s’appuie sur des indicateurs techniques et ne parvient pas à faire face à des basculements majeurs.
Une mauvaise configuration des paramètres de la bande de Bryn peut entraîner des signaux de transaction trop fréquents ou trop rares.
Le risque de transaction bilatérale augmente et la prudence est de mise face aux pertes de la contrefaçon.
Il est recommandé de combiner les stop-loss pour contrôler le risque.
Combiné à d’autres indicateurs de filtrage, tels que MACD.
Une stratégie de stop-loss supplémentaire
Optimiser les paramètres de la bande de Bryn et du RSI.
Ajustez les paramètres en fonction du type de transaction et de la période.
Envisagez d’optimiser le disque dur et ajustez les paramètres en fonction de la réalité.
La stratégie de capture de l’amplitude d’onde dynamique RSI-Bullins est une stratégie de capture de la volatilité du marché en combinant les avantages des bandes de Bullins, du RSI et des SMA. La stratégie peut être personnalisée et optimisée, mais ne peut pas prédire les variations fondamentales.
/*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.