Il s'agit d'une stratégie de négociation intraday basée sur un double système de moyenne mobile exponentielle (EMA) combiné à l'indice de force relative (RSI). La stratégie identifie les tendances du marché et les opportunités de négociation à travers des signaux croisés de EMA rapides et lents, confirmés par l'indicateur de dynamique RSI, tout en incorporant des mécanismes de stop-loss et de take-profit pour la gestion des risques. La stratégie utilise une approche de gestion de l'argent, en utilisant un pourcentage fixe du capital du compte pour le trading.
La logique de base comprend plusieurs éléments clés: 1. utilise deux EMA avec des périodes différentes (défault 12 et 26) comme indicateurs de tendance 2. Incorpore le RSI (périodes de défaut 14) comme confirmation de l'élan Condition d'entrée longue: EMA rapide traverse EMA lente avec RSI supérieur à 50 4. Condition d'entrée courte: EMA rapide traverse EMA lente avec RSI inférieur à 50 Utilisation fixe de 20% du capital du compte pour la dimensionnement des positions 6. intègre un stop-loss réglable (par défaut 1%) et un take-profit (par défaut 2%) 7. met en œuvre la fermeture de position sur les signaux de croisement inverse
Cette stratégie construit un système de trading complet en combinant le système de tendance EMA avec l'indicateur de dynamique RSI. Ses atouts résident dans la logique de trading systématique et la gestion complète des risques, bien que les impacts des conditions du marché doivent être pris en compte.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-16 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("Estrategia Intradía - Cruce EMA + RSI - Optimizado", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=20) // Parámetros CON rangos de optimización ema_fast_length = input.int(title="Período EMA Rápida", defval=12, minval=5, maxval=30, step=1) ema_slow_length = input.int(title="Período EMA Lenta", defval=26, minval=15, maxval=50, step=1) rsi_length = input.int(title="Período RSI", defval=14, minval=7, maxval=21, step=1) rsi_overbought = input.int(title="Nivel de Sobrecompra RSI", defval=70, minval=60, maxval=80, step=1) rsi_oversold = input.int(title="Nivel de Sobreventa RSI", defval=30, minval=20, maxval=40, step=1) stop_loss_percent = input.float(title="Stop Loss (%)", defval=1.0, minval=0.1, maxval=3.0, step=0.1) take_profit_percent = input.float(title="Take Profit (%)", defval=2.0, minval=0.5, maxval=5.0, step=0.1) // Cálculos ema_fast = ta.ema(close, ema_fast_length) ema_slow = ta.ema(close, ema_slow_length) rsi = ta.rsi(close, rsi_length) // Condiciones de entrada longCondition = ta.crossover(ema_fast, ema_slow) and rsi > 50 shortCondition = ta.crossunder(ema_fast, ema_slow) and rsi < 50 // Gestión de entradas y salidas var float longQty = na var float shortQty = na if longCondition longQty := 20 / close strategy.entry("Long", strategy.long, qty=longQty) if stop_loss_percent > 0 and take_profit_percent > 0 strategy.exit("Exit Long", "Long", stop=close * (1 - stop_loss_percent / 100), limit=close * (1 + take_profit_percent / 100)) if strategy.position_size > 0 and ta.crossunder(ema_fast, ema_slow) strategy.close("Long") longQty := na if shortCondition shortQty := 20 / close strategy.entry("Short", strategy.short, qty=shortQty) if stop_loss_percent > 0 and take_profit_percent > 0 strategy.exit("Exit Short", "Short", stop=close * (1 + stop_loss_percent / 100), limit=close * (1 - take_profit_percent / 100)) if strategy.position_size < 0 and ta.crossover(ema_fast, ema_slow) strategy.close("Short") shortQty := na // Visualizaciones plot(ema_fast, color=color.blue, title="EMA Rápida") plot(ema_slow, color=color.orange, title="EMA Lenta") plot(rsi, color=color.purple, title="RSI") hline(50, color=color.gray)