La stratégie Bull Market Buy Dips vise à acheter les baisses sur le marché haussier en utilisant l'indicateur RSI et confirmer la tendance par des moyennes mobiles doubles.
La stratégie définit d'abord la date de début et la date de fin du backtesting, puis configure les paramètres de l'indice de volatilité et des moyennes mobiles rapides/lentes.
La logique du signal stratégique est la suivante:
Lorsque le RSI tombe en dessous du seuil (défaut 35), il déclenche un signal d'achat car il indique une zone de survente.
L'AM rapide doit être supérieure à l'AM lente, ce qui confirme la tendance haussière actuelle et évite les achats en consolidation.
Lorsque le prix dépasse le MA rapide et que le MA rapide dépasse le MA moyen, il déclenche un signal de fermeture pour réaliser un profit.
L'application raisonnable des principes de croisement RSI et MA aide à saisir les opportunités de recul sur le marché haussier et à réaliser des bénéfices une fois que le prix reprendra sa tendance.
L'indice de volatilité est très approprié pour capturer les points d'inversion. L'achat lorsque l'indice de volatilité entre dans la zone de survente permet de verrouiller avec précision les opportunités de survente. L'utilisation de l'indice de volatilité pour déterminer la tendance peut filtrer le marché et éviter les achats répétés en consolidation. Enfin, l'intersection de l'indice de volatilité confirme à nouveau la tendance pour réaliser des bénéfices en temps opportun et éviter les pertes de retrait.
Si le paramètre RSI est réglé trop large ou trop étroit, il peut perdre la précision dans le jugement des niveaux de survente. Les périodes de MA rapides ou lentes mal choisies peuvent également conduire à une fausse détermination de la tendance. Si le timing de prise de profit est inapproprié, trop tôt peut manquer d'autres profits tandis que trop tard peut sacrifier les profits gagnés.
Les paramètres du RSI peuvent être optimisés, des périodes de MA appropriées peuvent être sélectionnées et différents mécanismes de prise de profit peuvent être testés pour améliorer les performances de prise de profit.
Il est possible de tester différentes périodes du RSI pour optimiser le jugement de l'aire de survente. Différentes combinaisons de périodes de MA peuvent être essayées pour trouver les meilleurs paramètres pour la détermination de la tendance. D'autres mécanismes de prise de profit tels que le trailing stop, le stop de résistance peuvent également être testés. L'optimisation de la taille de la position peut mieux contrôler les risques. Enfin, en tenant compte des coûts de négociation, la stratégie peut être plus proche du trading en direct.
La stratégie des Bull Market Buy Dips a une logique claire et raisonnable dans l'ensemble, utilise habilement les principes RSI et MA pour capturer le moment de l'achat et de la prise de profit sur le marché en tendance. Grâce à l'optimisation des paramètres, aux tests de prise de profit et à la gestion de la taille des positions, la robustesse et les performances commerciales réelles peuvent être encore améliorées. Avec une idée simple et pratique, cette stratégie convient à la capture des revirements sur le marché haussier et peut apporter des profits décents au portefeuille.
/*backtest start: 2023-10-02 00:00:00 end: 2023-11-01 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(shorttitle='Buy The Dips in Bull Market',title='Buy The Dips in Bull Market (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") fromDay = input(defval = 10, title = "From Day") fromYear = input(defval = 2020, title = "From Year") thruMonth = input(defval = 1, title = "Thru Month") thruDay = input(defval = 1, title = "Thru Day") thruYear = input(defval = 2112, title = "Thru Year") showDate = input(defval = true, title = "Show Date Range") start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" // RSI inputs and calculations lengthRSI = input(14, title = 'RSI period', minval=1) RSI = rsi(close, lengthRSI) //MA inputs and calculations inSignal=input(9, title='MAfast') inlong1=input(50, title='MAslow') inlong2=input(200, title='MAslow') MAfast= sma(close, inSignal) MAslow= sma(close, inlong1) MAlong= sma(close, inlong2) RSI_buy_signal= input(35, title='RSI Buy Signal') //Entry strategy.entry(id="long", long = true, when = RSI < RSI_buy_signal and MAlong < MAslow and window()) //Exit strategy.close("long", when = close > MAfast and MAfast > MAslow and window()) plot(MAslow, color=color.orange, linewidth=1) plot(MAfast, color=color.purple, linewidth=1) plot(MAlong, color=color.blue, linewidth=2)