RSI moyenne mobile Stratégie d'oscillation croisée double

Auteur:ChaoZhang est là., Date: 2024-02-23 14:07:43 Je vous en prie.
Les étiquettes:

img

Résumé

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 logique de la stratégie

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é.

Analyse des avantages

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.

Analyse des risques

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.

Optimisation

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.

Conclusion

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))


Plus de