Стратегия реверсионного ретрассемента Фибоначчи

Автор:Чао Чжан, Дата: 2023-12-07 15:15:26
Тэги:

img

Обзор

Реверсивная стратегия Фибоначчи - это количественная стратегия торговли, основанная на уровнях реверсивного курса Фибоначчи и индикаторе относительной силы (RSI). Эта стратегия сочетает в себе теорию канала Фибоначчи и индикатор перекупленности/перепроданности для совершения реверсивных сделок против основного тренда с целью получения прибыли в краткосрочных циклах.

Логика стратегии

Стратегия сначала рассчитывает две важные ценовые зоны, основанные на уровнях Фибоначчи 0,618 - 0,618-кратная высокая точка и 0,618-кратная низкая точка.

Кроме того, стратегия также использует индикатор RSI для определения условий перекупа / перепродажи. RSI ниже 30 указывает на статус перепродажи, в то время как RSI выше 70 предполагает состояние перекупа. Это также подразумевает потенциальные перевороты цен.

Сочетая эти два условия, сигнал покупки запускается, когда: закрытие прерывается выше 0,618-кратной низкой точки И RSI ниже 30; сигнал продажи запускается, когда: закрытие прерывается ниже 0,618-кратной высокой точки И RSI превышает 70.

После сигнала покупки стратегия будет длинной по рыночной цене. После сигнала продажи она будет короткой по рыночной цене. Кроме того, уровни получения прибыли и остановки потери устанавливаются таким образом, что позиция будет закрыта, когда цена движется благоприятно на определенный процент (приобретение прибыли) или движется неблагоприятно на определенный процент (стоп-потеря).

Плюсы

Стратегия сочетает в себе как сценарии тренда, так и сценарии реверсии, принимая во внимание основные тенденции, при этом извлекая выгоду из краткосрочного ретрексера.

  1. Уровни Фибоначчи имеют свойственные атрибуты поддержки/сопротивления, служащие эффективным индикатором ценовой зоны.
  2. Статус перекупленности/перепроданности показателя RSI указывает на потенциальные поворотные моменты.
  3. Сигналы длинный/короткий ясны, поймать шансы на обратную.
  4. Принимать риск контроля прибыли/стоп-лосса.

Риски

Некоторые риски следует учитывать:

  1. Убытки могут возникнуть, если, несмотря на краткосрочные отскоки, не произойдет значительного изменения тренда.
  2. Стоп-лосс может быть задействован до того, как произойдет обратное движение.
  3. Смена может длиться длительное время, требуя достаточной поддержки капитала.

Оптимизация

Стратегия может быть дополнительно оптимизирована путем:

  1. Соберите больше исторических данных для тестирования и настройки ключевых параметров, таких как диапазон зоны Фибоначчи и линий перекупленности / перепродажи RSI для лучшего соответствия реального рынка.

  2. Включите больше индикаторов, чтобы генерировать более сильные сигналы, такие как модели свечей, изменения объема и т. Д.

  3. Корректировать параметры или правила в соответствии с различными характеристиками торговых инструментов.

  4. Добавьте динамический механизм остановки потери к цене в режиме реального времени.

Заключение

Стратегия 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.")


Больше