La stratégie d'oscillation double croisée de la moyenne mobile du RSI est une stratégie de trading quantitative qui utilise à la fois les croisements de l'indicateur du RSI et les moyennes mobiles pour déterminer les entrées et les sorties.
La stratégie est principalement basée sur l'utilisation combinée de l'indicateur RSI et des moyennes mobiles. Tout d'abord, calculez la valeur du RSI sur une certaine période et définissez des lignes d'achat / survente. Deuxièmement, calculez des moyennes mobiles rapides et lentes. Lorsque le RSI dépasse la moyenne mobile lente, tandis que la valeur du RSI est en dessous de la ligne de survente et de la bande inférieure, un signal d'achat est généré; Lorsque le RSI dépasse la moyenne mobile lente, tandis que le RSI est au-dessus de la ligne d'achat et de la bande supérieure, un signal de vente est généré.
Le plus grand avantage de cette stratégie est qu'elle utilise à la fois l'indicateur RSI pour juger des conditions de surachat/survente et les moyennes mobiles pour déterminer la direction de la tendance, ce qui peut efficacement éviter de fausses ruptures.
Les principaux risques de cette stratégie peuvent inclure: une fréquence de négociation élevée conduisant à une sur-trading; des paramètres incorrects peuvent réduire la précision du signal.
Considérez l'ajustement des paramètres du RSI ou de la moyenne mobile pour s'adapter à différents cycles; Combinez avec d'autres indicateurs pour filtrer les signaux; Configurez un stop-loss et un profit pour contrôler les risques; Optimisez la taille des positions sur chaque transaction.
En général, la stratégie d'oscillation croisée double moyenne mobile du RSI est une stratégie de trading à court terme relativement stable et fiable. Avec un bon réglage des paramètres et un contrôle des risques, elle peut obtenir un bon retour sur investissement.
/*backtest start: 2024-01-23 00:00:00 end: 2024-02-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI slowma Ismael", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Definir la longitud del RSI rsi_length = input(title='RSI Length', defval=14) //media Fast = input(title='Fast', defval=7) slow = input(title='Slow', defval=2) // Definir los niveles de sobrecompra y sobreventa del RSI rsi_overbought = input(title='RSI Overbought Level', defval=72) rsi_oversold = input(title='RSI Oversold Level', defval=29) // Definir la longitud y la desviación estándar de las Bandas de Bollinger bb_length = input(title="Bollinger Bands Length", defval=14) bb_stddev = input(title="Bollinger Bands StdDev", defval=2) // Calcular RSI rsi_value = ta.rsi(close, rsi_length) // Calcular Bandas de Bollinger bb_upper = ta.sma(rsi_value, bb_length) + bb_stddev* ta.stdev(rsi_value, bb_length) bb_lower = ta.sma(rsi_value, bb_length) - bb_stddev * ta.stdev(rsi_value, bb_length) //media movil adelantada fastMA = ta.sma(rsi_value, Fast) slowMA = ta.sma(rsi_value, slow) // Definir la señal de compra y venta buy_signal = (ta.crossover(rsi_value, slowMA) and rsi_value < bb_lower and rsi_value < rsi_oversold) or (rsi_value < bb_lower and rsi_value < rsi_oversold) sell_signal = (ta.crossunder(rsi_value, slowMA) and rsi_value > bb_upper and rsi_value > rsi_overbought) or (rsi_value > bb_upper and rsi_value > rsi_overbought) // Configurar las condiciones de entrada y salida del mercado if buy_signal strategy.entry("Buy", strategy.long) if sell_signal strategy.close("Buy") // Configurar el stop loss y el take profit stop_loss = input.float(title='Stop Loss (%)', step=0.01, defval=3) take_profit = input.float(title='Take Profit (%)', step=0.01, defval=8) strategy.exit("Exit Long", "Buy", stop=close - close * stop_loss / 100, limit=close + close * take_profit / 100) // Configurar la visualización del gráfico plot(slowMA, title='RSISMA', color=color.rgb(75, 243, 33), linewidth=1) plot(fastMA, title='RSIFMA', color=color.rgb(75, 243, 33), linewidth=1) plot(rsi_value, title='RSI', color=color.purple, linewidth=1) // Marcar las zonas de sobrecompra y sobreventa en el grafico del RSI hl= hline(rsi_overbought, title='Overbought', color=color.purple, linestyle=hline.style_dotted, linewidth=1) hll= hline(rsi_oversold, title='Oversold', color=color.purple, linestyle=hline.style_dotted, linewidth=1) fill(hl,hll, color= color.new(color.purple, 91)) bbfill = plot(bb_upper, title='Bollinger Bands up', color=color.blue, linewidth=1) bbfill1= plot(bb_lower, title='Bollinger Bands down', color=color.blue, linewidth=1) fill(bbfill,bbfill1, color= color.new(#2bb5ec, 91))