
La estrategia de reversión de Fibonacci cruzada por EMA es una estrategia de composición que combina varios indicadores técnicos. La estrategia utiliza principalmente el promedio móvil de los índices (EMA), el indicador de fuerza relativa (RSI) y el nivel de reversión de Fibonacci para identificar oportunidades potenciales de reversión de tendencia y continuación.
Los principios centrales de la estrategia incluyen:
EMA cruzada y rebote: utiliza el EMA de 50 ciclos como línea de referencia clave y considera una señal de tendencia potencial cuando el precio rompe el EMA50 o rebota desde el EMA50
Soporte y resistencia de los niveles de Fibonacci: los niveles de Fibonacci se calculan utilizando los máximos y mínimos de 20 ciclos, con especial atención a la zona entre el 50% y el 61,8% como posibles puntos de inflexión.
El RSI sobrecompra y sobreventa: utiliza el indicador RSI para identificar el estado de sobrecompra y sobreventa del mercado, especialmente en áreas de sobreventa donde el RSI está por debajo de 30.
Breakouts: monitorean si el precio ha superado los máximos o mínimos previos, como señal de confirmación de la continuación o reversión de la tendencia.
Gestión de riesgos: Se utiliza un porcentaje fijo de paradas y pérdidas para controlar el riesgo de cada operación.
Análisis multidimensional: combinación de varios indicadores técnicos para mejorar la fiabilidad y precisión de la señal.
Adaptabilidad: la capacidad de encontrar oportunidades de negociación en diferentes entornos de mercado, considerando las tendencias, la resistencia y el impulso de los soportes.
Control de riesgos: el uso de stop-loss de proporción fija para administrar eficazmente el riesgo de cada operación.
Ejecución automatizada: las estrategias pueden ser automatizadas a través de la plataforma TradingView, reduciendo la intervención humana y el impacto emocional.
Gestión de fondos: se opera con una proporción fija del valor neto de la cuenta y se ajusta automáticamente el tamaño de la posición según el tamaño de la cuenta.
Riesgo de brechas falsas: en los mercados de discusión, puede haber brechas falsas frecuentes que causan pérdidas continuas.
Riesgo de deslizamiento: En un mercado de alta volatilidad, el precio de transacción real puede estar muy alejado de las expectativas.
Exceso de transacciones: Las condiciones de entrada múltiples pueden conducir a transacciones frecuentes, aumentando los costos de las transacciones.
Sensibilidad de parámetros: la estrategia puede ser sensible a los cambios de parámetros como el ciclo EMA y la configuración del RSI.
Dependencia del entorno del mercado: la estrategia puede no funcionar bien en mercados donde no hay una tendencia clara.
Ajuste de parámetros dinámicos: Se puede considerar ajustar el ciclo EMA y los mínimos del RSI en función de la dinámica de la volatilidad del mercado.
La adición de indicadores de tráfico: la combinación de análisis de tráfico puede mejorar la fiabilidad de la señal de ruptura.
El filtro de tiempo: Aumente el filtro de tiempo de negociación para evitar los períodos de mayor volatilidad como la apertura y el cierre del mercado.
Evaluación de la intensidad de la tendencia: Introducción de indicadores de intensidad de la tendencia como el ADX, y adopción de estrategias más activas en las tendencias fuertes.
Análisis de múltiples marcos de tiempo: en combinación con análisis de marcos de tiempo más largos, mejora la precisión de la dirección de la operación.
La estrategia de inversión de Fibonacci cruzada de EMA es un sistema de negociación completo y complejo que identifica oportunidades de negociación potenciales mediante la integración de varios indicadores técnicos. Su ventaja es que analiza el mercado desde múltiples ángulos, lo que mejora la fiabilidad de la señal. Sin embargo, la estrategia también enfrenta riesgos como brechas falsas y exceso de comercio.
/*backtest
start: 2024-08-26 00:00:00
end: 2024-09-24 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Counter Trend Trading Strategy", overlay=true)
// Indicateurs
ema50 = ta.ema(close, 50)
rsi = ta.rsi(close, 14)
// Fonction pour calculer les niveaux de Fibonacci
fibonacci_levels(high_price, low_price) =>
fib_0 = low_price
fib_0_382 = low_price + (high_price - low_price) * 0.382
fib_0_5 = low_price + (high_price - low_price) * 0.5
fib_0_618 = low_price + (high_price - low_price) * 0.618
fib_1 = high_price
[fib_0, fib_0_382, fib_0_5, fib_0_618, fib_1]
// Calculer les niveaux de Fibonacci pour la période
var float highest_high = na
var float lowest_low = na
lookback_period = 20
if ta.change(time(timeframe.period))
highest_high := ta.highest(high, lookback_period)
lowest_low := ta.lowest(low, lookback_period)
[fib_0, fib_0_382, fib_0_5, fib_0_618, fib_1] = fibonacci_levels(highest_high, lowest_low)
// Détection de figure de continuation avec cassure et retest
continuation_pattern_breakout = (close > ema50) and ta.crossover(close, ema50)
// Détection de rejet de la MM50
rejection_ema50 = (high > ema50 and close < ema50)
// Détection de rejet de niveau Fibonacci
fibonacci_rejection = (close <= fib_0_618 and close >= fib_0_5)
// Détection de divergence RSI
rsi_divergence = (rsi < 30 and close == ta.lowest(close, 14))
// Détection de cassure d'ancien plus bas (LL) ou plus haut (HH)
lower_low_breakout = (close < ta.lowest(low, lookback_period))
higher_high_breakout = (close > ta.highest(high, lookback_period))
// Conditions d'entrée
long_condition = (continuation_pattern_breakout or rejection_ema50 or fibonacci_rejection or rsi_divergence or higher_high_breakout) and close > ema50
short_condition = (continuation_pattern_breakout or rejection_ema50 or fibonacci_rejection or rsi_divergence or lower_low_breakout) and close < ema50
// Exécution des ordres
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Conditions de sortie
take_profit_long = close * 1.02 // Exemple de prise de profit à 2%
stop_loss_long = close * 0.98 // Exemple de stop loss à 2%
take_profit_short = close * 0.98 // Exemple de prise de profit à 2%
stop_loss_short = close * 1.02 // Exemple de stop loss à 2%
// Sortie pour les positions longues
strategy.exit("Take Profit/Stop Loss Long", from_entry="Long", limit=take_profit_long, stop=stop_loss_long)
// Sortie pour les positions courtes
strategy.exit("Take Profit/Stop Loss Short", from_entry="Short", limit=take_profit_short, stop=stop_loss_short)