Cette stratégie s'appelle
Le MACD est l'indicateur de divergence de convergence de moyenne mobile, jugeant la tendance et les renversements du marché.
Le RSI est l'indice de force relative, qui mesure les conditions de surachat et de survente.
La logique de négociation est la suivante:
Lorsque le croisement MACD se produit avec le franchissement de la ligne rapide au-dessus de la ligne lente, il indique que la tendance à court terme change de baisse à hausse, mais un signal d'achat n'est confirmé que lorsque le RSI est à des niveaux bas (en dessous du paramètre prédéfini) pour éviter les fléchissements dans les zones de surachat.
Lorsque le croisement MACD se produit avec le franchissement de la ligne rapide en dessous de la ligne lente, il signale l'inversion de la tendance à court terme de haut en bas, mais un signal de vente n'est confirmé que lorsque le RSI atteint des niveaux élevés (au-dessus du paramètre prédéfini) afin d'éviter des sauts dans les zones de survente.
Cette stratégie convient aux marchés cryptographiques actuels en oscillation et en variation pour saisir les opportunités d'inversion aux hauts et aux bas pour les profits. Mais un stop loss doit être appliqué pour limiter les pertes d'un seul commerce.
En conclusion, la combinaison du MACD et du RSI peut améliorer l'efficacité de la stratégie pour les marchés oscillants. Mais aucun indicateur ne peut parfaitement prédire les marchés. Les traders ont encore besoin d'un jugement solide sur les tendances du marché et d'un ajustement flexible de la stratégie.
/*backtest start: 2022-09-06 00:00:00 end: 2023-03-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Range Strat - MACD/RSI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, precision=2, initial_capital=100, pyramiding=2, commission_value=0.05) // Make input options that configure backtest date range startDate = input(title="Start Date", defval=13) startMonth = input(title="Start Month", defval=6) startYear = input(title="Start Year", defval=2022) endDate = input(title="End Date", defval=1) endMonth = input(title="End Month", defval=7) endYear = input(title="End Year", defval=2200) // Look if the close time of the current bar // falls inside the date range inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) and (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0)) // RSI Settings length = input( 14 ) overSold = input( 55 ) overBought = input( 50 ) price = open vrsi = ta.rsi(price, length) cu = (vrsi <= overSold) co = (vrsi >= overBought) //MACD Settings fastLength = input(12) slowlength = input(26) MACDLength = input(9) MACD = ta.ema(open, fastLength) - ta.ema(open, slowlength) aMACD = ta.ema(MACD, MACDLength) delta = MACD - aMACD MACDco = ta.crossover(delta, 0) MACDcu = ta.crossunder(delta, 0) // Strategy Entry if (not na(vrsi)) if (inDateRange and MACDco and cu) strategy.entry("LONG", strategy.long, comment="LONG") if (inDateRange and MACDcu and co) strategy.entry("SHORT", strategy.short, comment="SHORT") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)