La stratégie de tendance de l'alligator RSI est basée sur la combinaison de l'indicateur RSI et de l'indicateur Alligator pour déterminer l'entrée et la sortie des tendances. Elle utilise trois lignes moyennes mobiles - la ligne de la mâchoire de l'alligator, la ligne des dents et la ligne des lèvres, construites par RSI de différentes périodes.
La stratégie de tendance de l'alligator RSI construit les trois lignes de l'indicateur de l'alligator en utilisant l'indicateur RSI.
La logique du signal d'entrée est la suivante:
Signal long: lorsque la ligne des dents traverse la ligne des lèvres et que la ligne de la mâchoire est plus haute que la ligne des dents, allez long.
Signal court: lorsque la ligne des dents traverse la ligne des lèvres et que la ligne de la mâchoire est inférieure à la ligne des dents, passez court.
La stratégie fixe également les conditions de stop loss et de prise de profit:
La stratégie RSI Alligator Trend présente les points forts suivants:
La stratégie RSI Alligator Trend comporte également les risques suivants:
Les paramètres du cycle peuvent être ajustés pour réduire la probabilité de fausses éruptions.
Le paramètre de stop loss peut être trop agressif, avec une forte probabilité d'un stop loss inutile.
Si le marché bouge violemment, le stop loss peut ne pas jouer son rôle approprié de protection de la marge.
Lorsque les positions longues et courtes changent fréquemment, la pression sur les coûts de négociation est plus grande.
La stratégie RSI Alligator Trend peut être optimisée dans les aspects suivants:
Optimiser les paramètres de ligne Alligator pour trouver la meilleure combinaison de paramètres
Optimiser la logique de la condition d'entrée, comme l'ajout d'indicateurs tels que le volume des transactions pour filtrer les signaux
Optimiser les stratégies de prise de bénéfices et de stop-loss afin de les rendre plus adaptables aux conditions du marché et aux niveaux de marge
Ajouter des mécanismes pour faire face aux événements extrêmes et éviter l'exposition à des conditions de marché anormales
Ajouter des algorithmes de position ouverte pour contrôler la proportion de capital investi dans une seule transaction afin d'atténuer les risques
En général, la stratégie de tendance du RSI Alligator est une stratégie de suivi de tendance fiable et facile à utiliser. Elle utilise l'indicateur Alligator pour déterminer la direction de la tendance, combiné à l'indicateur RSI pour définir des seuils de référence, qui peuvent effectivement verrouiller la tendance et définir des points de sortie raisonnables.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=3 // RSI Alligator // Forked from Author: Reza Akhavan // Updated by Khalid Salomão strategy("RSI Alligator Strategy", overlay=false, pyramiding=0, default_qty_type=strategy.cash, default_qty_value=25000, initial_capital=25000, commission_type=strategy.commission.percent, commission_value=0.15, slippage=3) // === TA LOGIC === overBought = input(70, minval=0, maxval=100, title="Over bought") overSold = input(30, minval=0, maxval=100, title="Over sold") jawPeriods = input(5, minval=1, title="Jaw Periods") jawOffset = input(0, minval=0, title="Jaw Offset") teethPeriods = input(13, minval=1, title="Teeth Periods") teethOffset = input(0, minval=0, title="Teeth Offset") lipsPeriods = input(34, minval=1, title="Lips Periods") lipsOffset = input(0, minval=0, title="Lips Offset") jaws = rsi(close, jawPeriods) teeth = rsi(close, teethPeriods) lips = rsi(close, lipsPeriods) plot(jaws, color=green, offset=jawOffset, title="Jaw") plot(teeth, color=red, offset=teethOffset, title="Teeth") plot(lips, color=blue, offset=lipsOffset, title="Lips") // // === Signal logic === // LONG_SIGNAL_BOOLEAN = crossover(teeth, lips) and jaws > teeth SHORT_SIGNAL_BOOLEAN = crossunder(teeth, lips) and jaws < teeth // === INPUT BACKTEST DATE RANGE === strategyType = input(defval="Long Only", options=["Long & Short", "Long Only", "Short Only"]) FromMonth = input(defval = 7, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2018, title = "From Year", minval = 2017) ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 2020, title = "To Year", minval = 2017) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => true // === STRATEGY BUY / SELL ENTRIES === // TODO: update the placeholder LONG_SIGNAL_BOOLEAN and SHORT_SIGNAL_BOOLEAN to signal // long and short entries buy() => window() and LONG_SIGNAL_BOOLEAN sell() => window() and SHORT_SIGNAL_BOOLEAN if buy() if (strategyType == "Short Only") strategy.close("Short") else strategy.entry("Long", strategy.long, comment="Long") if sell() if (strategyType == "Long Only") strategy.close("Long") else strategy.entry("Short", strategy.short, comment="Short") // === BACKTESTING: EXIT strategy === sl_inp = input(10, title='Stop Loss %', type=float)/100 tp_inp = input(90, title='Take Profit %', type=float)/100 stop_level = strategy.position_avg_price * (1 - sl_inp) take_level = strategy.position_avg_price * (1 + tp_inp) strategy.exit("Stop Loss/Profit", "Long", stop=stop_level, limit=take_level)