Реверсивная стратегия Фибоначчи - это количественная стратегия торговли, основанная на уровнях реверсивного курса Фибоначчи и индикаторе относительной силы (RSI). Эта стратегия сочетает в себе теорию канала Фибоначчи и индикатор перекупленности/перепроданности для совершения реверсивных сделок против основного тренда с целью получения прибыли в краткосрочных циклах.
Стратегия сначала рассчитывает две важные ценовые зоны, основанные на уровнях Фибоначчи 0,618 - 0,618-кратная высокая точка и 0,618-кратная низкая точка.
Кроме того, стратегия также использует индикатор RSI для определения условий перекупа / перепродажи. RSI ниже 30 указывает на статус перепродажи, в то время как RSI выше 70 предполагает состояние перекупа. Это также подразумевает потенциальные перевороты цен.
Сочетая эти два условия, сигнал покупки запускается, когда: закрытие прерывается выше 0,618-кратной низкой точки И RSI ниже 30; сигнал продажи запускается, когда: закрытие прерывается ниже 0,618-кратной высокой точки И RSI превышает 70.
После сигнала покупки стратегия будет длинной по рыночной цене. После сигнала продажи она будет короткой по рыночной цене. Кроме того, уровни получения прибыли и остановки потери устанавливаются таким образом, что позиция будет закрыта, когда цена движется благоприятно на определенный процент (приобретение прибыли) или движется неблагоприятно на определенный процент (стоп-потеря).
Стратегия сочетает в себе как сценарии тренда, так и сценарии реверсии, принимая во внимание основные тенденции, при этом извлекая выгоду из краткосрочного ретрексера.
Некоторые риски следует учитывать:
Стратегия может быть дополнительно оптимизирована путем:
Соберите больше исторических данных для тестирования и настройки ключевых параметров, таких как диапазон зоны Фибоначчи и линий перекупленности / перепродажи RSI для лучшего соответствия реального рынка.
Включите больше индикаторов, чтобы генерировать более сильные сигналы, такие как модели свечей, изменения объема и т. Д.
Корректировать параметры или правила в соответствии с различными характеристиками торговых инструментов.
Добавьте динамический механизм остановки потери к цене в режиме реального времени.
Стратегия Fibonacci Retracement Reversal сбалансирует тенденции и сценарии обратного движения с целью получения прибыли в краткосрочной перспективе при одновременном контроле рисков.
/*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.")