Cette stratégie est un système complet de suivi des tendances qui combine plusieurs indicateurs techniques et méthodes d'analyse de l'élan. Le noyau de la stratégie utilise des croisements de moyennes mobiles, la confirmation de tendance et des indicateurs d'élan, combinés au contrôle de la volatilité pour la gestion des risques.
La stratégie utilise un mécanisme de confirmation des signaux à plusieurs niveaux, comprenant les éléments clés suivants:
Les conditions générales d'échange sont les suivantes: Conditions longues: EMA9 dépasse EMA21, ligne MACD au-dessus de la ligne de signal et positive, RSI compris entre 40-70, prix au-dessus de EMA9 Conditions courtes: EMA9 dépasse EMA21, ligne MACD inférieure à la ligne de signal et négative, RSI compris entre 30 et 60, prix inférieur à EMA9
Cette stratégie construit un système de trading de suivi de tendance relativement complet grâce à la combinaison de plusieurs indicateurs techniques. Les principaux avantages résident dans la fiabilité du signal et le contrôle rationnel des risques, bien qu'il soit confronté à des défis liés au retard et à l'optimisation des paramètres.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estratégia Cripto - 1D", shorttitle="Estratégia Cripto", overlay=true) // Definição das Médias Móveis Exponenciais (EMA) ema9 = ta.ema(close, 9) ema21 = ta.ema(close, 21) // Definição do MACD [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) // Definição do RSI rsi = ta.rsi(close, 14) // Volume médio volMedio = ta.sma(volume, 14) // Definição das Bollinger Bands basis = ta.sma(close, 20) dev = ta.stdev(close, 20) upperBand = basis + 2 * dev lowerBand = basis - 2 * dev // Condições de Compra (Long) longCondition = (ema9 > ema21) and (macdLine > signalLine) and (macdLine > 0) and (volume > volMedio) and (rsi > 40 and rsi < 70) and (close > ema9) if (longCondition) strategy.entry("Compra", strategy.long) // Condições de Venda (Short) shortCondition = (ema9 < ema21) and (macdLine < signalLine) and (macdLine < 0) and (volume > volMedio) and (rsi < 60 and rsi > 30) and (close < ema9) if (shortCondition) strategy.entry("Venda", strategy.short) // Stop Loss e Take Profit strategy.exit("Take Profit/Stop Loss", from_entry="Compra", loss=200, profit=400) strategy.exit("Take Profit/Stop Loss", from_entry="Venda", loss=200, profit=400) // Plotagem das Médias Móveis e Bollinger Bands plot(ema9, color=color.green, title="EMA 9") plot(ema21, color=color.red, title="EMA 21") plot(upperBand, color=color.blue, title="Upper Band") plot(lowerBand, color=color.blue, title="Lower Band")