Cette stratégie identifie les tendances des prix et prend des décisions d'achat à bas prix en combinant les moyennes mobiles, l'indicateur MACD et l'indicateur RSI. Elle génère des signaux d'achat lorsque la moyenne mobile à court terme dépasse la moyenne mobile à long terme et que le prix de clôture est supérieur à la moyenne mobile à 50 jours. Elle génère des signaux de vente lorsque l'inverse se produit. En outre, la stratégie utilise l'indicateur RSI pour éviter les zones de surachat et de survente, et l'histogramme MACD pour déterminer la tendance à moyen et à long terme.
Le noyau de cette stratégie repose sur le double système de croisement des moyennes mobiles, qui génère des signaux d'achat et de vente lorsqu'une courte période EMA (3 jours) traverse une longue période EMA (30 jours).
En outre, la stratégie intègre une ligne moyenne mobile de 50 jours pour éviter les transactions fréquentes, en l'utilisant comme filtre pour les signaux de trading.
En outre, l'indicateur RSI identifie les scénarios de surachat (au-dessus de 70) et de survente (au-dessous de 30).
Enfin, l'histogramme MACD est utilisé pour déterminer la tendance à moyen et à long terme du marché. Avec l'histogramme MACD > 0, le fond est tendance haussière, de sorte que les signaux d'achat sont plus fiables. Lorsque l'histogramme MACD < 0, le fond est tendance baissière, de sorte que les signaux d'achat peuvent faire face à des corrections bientôt.
Le plus grand avantage de cette stratégie est l'utilisation combinée de plusieurs indicateurs, ce qui rend chaque décision de trading très confiante et fiable.
Un autre avantage est qu'il combine le trading de tendance et le trading de réversion moyenne. Suivre la tendance est essentiel pour les traders de tendance, mais les stratégies avancées ne seront pas rigides à ce sujet.
Les risques majeurs proviennent de chocs soudains des prix dus à des événements d'actualité importants, qui peuvent pénétrer les points de stop loss et entraîner de grosses pertes.
Un autre risque est l'arrêt des retraits temporaires d'un marché haussier à moyen et long terme.
La stratégie peut être optimisée dans les dimensions suivantes:
Optimisation des paramètres pour trouver les combinaisons optimales.
Incorporer plus d'indicateurs comme les bandes de Bollinger et KDJ pour enrichir le modèle.
Testez des mécanismes de stop loss plus avancés tels que le stop loss de suivi et le stop loss de volatilité.
Optimiser certaines parties de la stratégie pour s'adapter à un plus grand nombre de marchés.
En conclusion, en combinant les moyennes mobiles, le RSI et le MACD, cette stratégie parvient à générer des signaux de haute qualité et à éviter les limitations d'indicateurs uniques. Elle effectue chaque transaction en toute confiance en confirmant la tendance.
/*backtest start: 2023-02-13 00:00:00 end: 2024-02-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('sachin 3.30 ', overlay=true) // Input parameters length = input.int(14, title='RSI Length', minval=1) overbought = input.int(70, title='RSI Overbought Level', minval=0, maxval=100) oversold = input.int(30, title='RSI Oversold Level', minval=0, maxval=100) ema3_length = input(3, title='EMA 3 Length') ema30_length = input(30, title='EMA 30 Length') ema50_length = input(50, title='EMA 50 Length') // Calculate EMAs ema3 = ta.ema(close, ema3_length) ema30 = ta.ema(close, ema30_length) ema50 = ta.ema(close, ema50_length) // Calculate RSI rsiValue = ta.rsi(close, length) // Calculate MACD [macdLine, signalLine, hist] = ta.macd(close, 12, 26, 9) var float buyPrice = na // Buy condition: EMA 3 crosses above EMA 30 and price is above EMA 50 buyCondition = ta.crossover(ema3, ema30) and close > ema50 if (buyCondition) buyPrice := close strategy.entry('Buy', strategy.long) // Exit long position when close is below EMA30 and below the low of the previous 3 candles after the buy entry exitLongCondition = close < ema30 and close < ta.lowest(low, 3) and close < buyPrice if (exitLongCondition) strategy.close('BuyExit') // Sell condition: EMA 3 crosses below EMA 30 and price is below EMA 50 sellCondition = ta.crossunder(ema3, ema30) and close < ema50 if (sellCondition) strategy.entry('Sell', strategy.short) // Exit short position when close is above EMA30 and above the high of the previous 3 candles after the sell entry exitShortCondition = close > ema30 and close > ta.highest(high, 3) if (exitShortCondition) strategy.close('SellExit') // Plot EMAs on the chart plot(ema3, color=color.new(color.blue, 0), title='EMA 3') plot(ema30, color=color.new(color.red, 0), title='EMA 30') // Change color of EMA 50 based on MACD histogram ema50Color = hist > 0 ? color.new(color.blue, 0) : hist < 0 ? color.new(color.black, 0) : color.new(color.blue, 0) plot(ema50, color=ema50Color, title='EMA 50 Colored') // Change color of EMA 30 based on RSI trend ema30Color = rsiValue > oversold ? color.new(color.green, 0) : rsiValue < overbought ? color.new(color.red, 0) : color.new(color.blue, 0) plot(ema30, color=ema30Color, title='EMA 30 Colored') // Highlight Buy and Sell signals on the chart bgcolor(buyCondition ? color.new(color.green, 90) : na) bgcolor(sellCondition ? color.new(color.red, 90) : na) // Plotting Buy and Sell Signals on the Chart until strategy exit barcolor(strategy.position_size > 0 and rsiValue > overbought ? color.new(color.yellow, 0) : strategy.position_size < 0 and rsiValue < oversold ? color.new(color.black, 0) : na)