La stratégie de bottom fishing est une stratégie typique d'achat bas et de vente élevée. Elle utilise l'indicateur RSI pour identifier les points de survente et émet un signal d'achat lorsque le prix chute dans une certaine mesure, afin d'accumuler des jetons à un prix inférieur. Lorsque le prix rebondit, elle réalise des bénéfices en fixant le seuil de sortie du RSI. Cette stratégie convient à la détention à moyen et long terme.
Cette stratégie repose principalement sur l'indicateur RSI pour identifier les conditions de survente. La plage normale de l'indicateur RSI est de 0 à 100. Lorsque l'indicateur RSI tombe en dessous du seuil d'entrée fixé de 35, un signal d'achat est émis. Lorsque l'indicateur RSI remonte au-dessus du seuil de sortie fixé de 65, un signal de vente est émis. Cela permet une entrée et une sortie opportunes aux points de renversement de tendance pour mettre en œuvre un achat faible et une vente élevée.
En outre, une moyenne mobile simple de 100 périodes est également introduite dans la stratégie pour former une condition combinée avec l'indicateur RSI. Ce n'est que lorsque le prix tombe en dessous de la moyenne mobile tandis que le RSI entre dans la zone de survente que le signal d'achat sera déclenché. Cela peut aider à filtrer les fausses ruptures dans une certaine mesure et réduire les transactions inutiles.
Identifier efficacement les points de survente et les points de surachat avec l'indicateur de volatilité pour l'entrée aux points de renversement, obtenant ainsi une meilleure base de coûts
Filtrer les faux signaux en combinant avec la moyenne mobile, en évitant d'acheter au pic
Convient pour la détention à moyen et long terme, capable de détecter des tendances haussières potentielles
Il y a un certain retard, éventuellement manquant des opportunités d'inversion rapide
Il peut y avoir plus de clôtures à rentabilité réduite ou à perte sur les marchés de gamme
Optimisation des paramètres d'essai sur différentes pièces et délais
Essayez de combiner d'autres indicateurs tels que le MACD, les bandes de Bollinger, etc.
Ajustez dynamiquement les paramètres du RSI ou les paramètres de la moyenne mobile
Optimiser les stratégies de dimensionnement des positions
La stratégie de pêche de fond est une stratégie globale robuste et pratique d'achat bas et de vente élevée. En double filtrant avec RSI et moyenne mobile, il peut effectivement freiner les faux signaux et obtenir une base de coût inférieure avec des paramètres optimisés. En même temps, l'optimisation appropriée des paramètres de l'indicateur et l'ajustement des stratégies de position peuvent conduire à une plus grande efficacité d'utilisation du capital.
/*backtest start: 2024-01-10 00:00:00 end: 2024-01-17 00:00:00 period: 1m basePeriod: 1m 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/ // © Coinrule //@version=4 strategy(shorttitle='Optimized RSI Strategy',title='Optimized RSI Strategy - Buy The Dips (by Coinrule)', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" // RSI inputs and calculations lengthRSI = (14) RSI = rsi(close, lengthRSI) RSI_entry = input(35, title = 'RSI Entry', minval=1) RSI_exit = input(65, title = 'RSI Close', minval=1) //Calculate Moving Averages movingaverage_signal = sma(close, input(100)) //Entry strategy.entry(id="long", long = true, when = RSI< RSI_entry and close < movingaverage_signal and window()) //Exit //RSI strategy.close("long", when = RSI > RSI_exit and window()) plot (movingaverage_signal)