La estrategia de reversión de retroceso de Fibonacci es una estrategia de negociación cuantitativa basada en los niveles de retroceso de Fibonacci y el indicador de fuerza relativa (RSI). Esta estrategia combina la teoría del canal de Fibonacci y el indicador de sobrecompra / sobreventa para realizar operaciones de reversión contra la tendencia principal con el fin de obtener ganancias en los ciclos a corto plazo.
La estrategia primero calcula dos zonas de precios importantes basadas en los niveles de Fibonacci de 0.618 - el punto más alto de 0.618 veces y el punto más bajo de 0.618 veces.
Además, la estrategia también utiliza el indicador RSI para determinar las condiciones de sobrecompra / sobreventa. RSI por debajo de 30 indica el estado de sobreventa, mientras que RSI por encima de 70 sugiere una condición de sobrecompra.
Combinando las dos condiciones, la señal de compra se activa cuando: el cierre se rompe por encima del punto bajo de 0.618 veces Y el RSI está por debajo de 30; la señal de venta se activa cuando: el cierre se rompe por debajo del punto alto de 0.618 veces Y el RSI supera 70.
En el caso de la compra, la estrategia se extenderá al precio de mercado. En el caso de la venta, se extenderá al precio de mercado. Además, los niveles de toma de ganancias y stop loss se establecen para que la posición se cierre cuando el precio se mueva favorablemente en un cierto porcentaje (toma de ganancias) o se mueve negativamente en un cierto porcentaje (stop loss).
La estrategia combina escenarios de tendencia y de reversión, teniendo en cuenta las tendencias principales y aprovechando al mismo tiempo el retroceso a corto plazo.
Hay algunos riesgos que hay que tener en cuenta:
La estrategia se puede optimizar aún más mediante:
Recopilar más datos históricos para probar y ajustar parámetros clave como el rango de la zona de Fibonacci y las líneas de sobrecompra / sobreventa del RSI para adaptarse mejor al mercado real.
Incorpore más indicadores para generar señales más fuertes, como patrones de velas, cambios de volumen, etc.
Ajustar parámetros o reglas de acuerdo con las diferentes características de los instrumentos de negociación.
Añadir un mecanismo de stop loss dinámico al precio de seguimiento en tiempo real.
La estrategia de reversión de retroceso de Fibonacci equilibra los escenarios de tendencia y reversión para obtener ganancias a corto plazo mientras se controlan los riesgos.
/*backtest start: 2023-11-06 00:00:00 end: 2023-12-06 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("FBS Trade", overlay=true) // Fibonacci seviyeleri fibonacciLevels = input(0.618, title="Fibonacci Düzeltme Seviyesi") // RSI ayarları rsiLength = input(14, title="RSI Periyodu") overboughtLevel = input(70, title="RSI Satış Sinyali Seviyesi") oversoldLevel = input(30, title="RSI Alış Sinyali Seviyesi") // Take Profit ve Stop Loss yüzdesi takeProfitPercent = input(1, title="Take Profit Yüzdesi") / 100 stopLossPercent = input(1, title="Stop Loss Yüzdesi") / 100 // Fibonacci seviyelerini hesapla highFibo = high * (1 + fibonacciLevels) lowFibo = low * (1 - fibonacciLevels) // RSI hesaplama rsiValue = ta.rsi(close, rsiLength) // Alış ve satış koşulları buyCondition = close > lowFibo and rsiValue < 30 sellCondition = close < highFibo and rsiValue > overboughtLevel // Take Profit ve Stop Loss seviyeleri takeProfitLong = strategy.position_avg_price * (1 + takeProfitPercent) stopLossLong = strategy.position_avg_price * (1 - stopLossPercent) takeProfitShort = strategy.position_avg_price * (1 - takeProfitPercent) stopLossShort = strategy.position_avg_price * (1 + stopLossPercent) // Alış ve satış işlemleri if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Take Profit ve Stop Loss seviyeleri if (strategy.position_size > 0) strategy.exit("Take Profit/Close Buy", from_entry="Buy", limit=takeProfitLong, stop=stopLossLong) if (strategy.position_size < 0) strategy.exit("Take Profit/Close Sell", from_entry="Sell", limit=takeProfitShort, stop=stopLossShort) // Sadece mumları ve buy/sell işlemlerini göster plot(close, color=color.black, title="Close") // Destek ve direnç bölgeleri supportLevel = input(27, title="Fibonacci Destek Seviyesi") resistanceLevel = input(200, title="Direnç Seviyesi") hline(supportLevel, "Fibonacci Destek Seviyesi", color=color.green) hline(resistanceLevel, "Direnç Seviyesi", color=color.red) // Trend çizgileri var line trendLine = na if (ta.crossover(close, highFibo)) trendLine := line.new(bar_index[1], highFibo[1], bar_index, highFibo, color=color.green, width=2) if (ta.crossunder(close, lowFibo)) trendLine := line.new(bar_index[1], lowFibo[1], bar_index, lowFibo, color=color.red, width=2) // RSI ve Fibo'yu grafiğe çizme hline(overboughtLevel, "RSI Satış Sinyali", color=color.red, linestyle=hline.style_dashed) hline(oversoldLevel, "RSI Alış Sinyali", color=color.green, linestyle=hline.style_dashed) plot(rsiValue, color=color.purple, title="RSI") // 15 dakikalıkta 3 mumda bir alarm is15MinBar = ta.change(time('15'), 1) if (is15MinBar % 3 == 0) alert("15 dakikalıkta 3 mum geçti.")