Esta estrategia es un sistema avanzado de seguimiento de tendencias basado en los principios de retroceso de Fibonacci. Identifica zonas de soporte y resistencia potenciales mediante el cálculo dinámico de los niveles clave de retroceso de Fibonacci (23,6%, 38,2%, 50%, 61,8%, 78,6%). El sistema utiliza una ventana de retroceso de 100 períodos para determinar los puntos más altos y más bajos, que sirven como base para calcular los niveles de retroceso. La estrategia incorpora señales de entrada precisas y mecanismos de gestión de riesgos, activando señales de negociación en las breakouts clave de nivel de Fibonacci.
La lógica central se basa en la teoría de que los precios tienden a revertirse cerca de los niveles clave de retroceso de Fibonacci durante las tendencias principales.
Esta es una estrategia de trading sistemática basada en la teoría clásica del análisis técnico. Su implementación programática proporciona objetividad y repetibilidad. La principal ventaja radica en combinar la teoría de Fibonacci con un estricto control de riesgos, adecuado para los mercados de tendencia. A través de la optimización y mejora continua, la estrategia tiene el potencial de mantener un rendimiento estable en varias condiciones de mercado.
/*backtest start: 2024-11-11 00:00:00 end: 2024-12-10 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Fibonacci Retracement Strategy", overlay=true) // Inputs lookback_period = input.int(100, title="Lookback Period") level_1 = input.float(0.236, title="Fibonacci Level 1") level_2 = input.float(0.382, title="Fibonacci Level 2") level_3 = input.float(0.5, title="Fibonacci Level 3") level_4 = input.float(0.618, title="Fibonacci Level 4") level_5 = input.float(0.786, title="Fibonacci Level 5") // Calculate highest high and lowest low over the lookback period high_level = ta.highest(high, lookback_period) low_level = ta.lowest(low, lookback_period) // Calculate Fibonacci retracement levels fib_236 = low_level + (high_level - low_level) * level_1 fib_382 = low_level + (high_level - low_level) * level_2 fib_50 = low_level + (high_level - low_level) * level_3 fib_618 = low_level + (high_level - low_level) * level_4 fib_786 = low_level + (high_level - low_level) * level_5 // Plot Fibonacci levels on the chart plot(fib_236, color=color.green, title="Fib 23.6%") plot(fib_382, color=color.blue, title="Fib 38.2%") plot(fib_50, color=color.orange, title="Fib 50%") plot(fib_618, color=color.red, title="Fib 61.8%") plot(fib_786, color=color.purple, title="Fib 78.6%") // Entry and Exit Conditions buy_signal = ta.crossover(close, fib_618) sell_signal = ta.crossunder(close, fib_382) // Strategy Orders if buy_signal strategy.entry("Buy", strategy.long) // Exit based on stop-loss and take-profit conditions take_profit = high_level // Exit at the highest Fibonacci level (100%) stop_loss = low_level // Exit at the lowest Fibonacci level (0%) strategy.exit("Sell", from_entry="Buy", limit=take_profit, stop=stop_loss) // Visualization of Signals plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")