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

Автор:Чао Чжан, Дата: 2023-12-29 14:51:43
Тэги:

img

Обзор

Стратегия RSI Fibonacci Retracement генерирует торговые сигналы на основе перекрестки между индикатором RSI и установленными уровнями ретракциона Фибоначчи, занимая позиции при обратных изменениях в перекупленных и перепроданных зонах.

Принцип

Эта стратегия реализуется на основе перекрестки между индикатором RSI и уровнями ретрассемента Фибоначчи. Сначала рассчитывается значение индикатора RSI, затем устанавливаются уровни ретрассемента Фибоначчи (38,2%, 50%, 61,8%). Когда индикатор RSI пересекает уровень Фибоначчи, генерируется сигнал покупки. Когда он пересекает ниже, генерируется сигнал продажи.

Индикатор RSI используется для оценки того, является ли рынок перекупленным или перепроданным. RSI выше 70 указывает на перекупленную область, а ниже 30 указывает на перепроданную область. Когда RSI падает с перекупленной области в зону ретракциона Фибоначчи, это сигнал об обратном движении вперед. Когда RSI поднимается с перепроданной области в зону ретракциона Фибоначчи, это сигнал об обратном движении вперед.

Уровни ретракциона Фибоначчи в этой стратегии в основном служат ориентиром, формируя торговые сигналы с RSI. На трендовых рынках продолжение работы после ретракциона часто затрагивает уровни ретракциона Фибоначчи, которые действуют как поддержка и сопротивление.

Преимущества

  1. Использование РСИ для выявления формаций перекупленных и перепроданных, в сочетании с зоной ретрассемента Фибоначчи для захвата возможностей реверсии, может отфильтровать некоторые шумы.

  2. Тенденции, следующие по своей природе, могут отражать среднесрочные и долгосрочные тенденции.

  3. Может адаптироваться к различным рыночным ситуациям путем корректировки зоны ретрекча Фибоначчи.

Риски

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

  2. Процесс ретрекчейнга может вновь продемонстрировать высокие и низкие показатели, что требует остановки потерь для контроля рисков.

  3. Неправильное настройка параметров может привести к чрезмерной торговле или недостаточному использованию возможностей реверсии.

Руководство по оптимизации

  1. Подумайте о включении других индикаторов для фильтрации времени входа, таких как MACD, полосы Боллинджера, чтобы судить о направлении тренда.

  2. Параметры, такие как периоды RSI и уровни ретрассемента Фибоначчи, могут быть оптимизированы.

  3. Установите динамическую стоп-лосс, чтобы зафиксировать прибыль.

Резюме

В целом стратегия ретрацирования RSI имеет хорошую стабильность в качестве следующей стратегии. По сравнению с отдельными стратегиями RSI, добавление области ретрацирования Fibonacci может эффективно отфильтровать некоторые шумные сделки. Благодаря оптимизации параметров он может адаптироваться к различным торговым инструментам на различных рынках. В заключение это надежная и простая в оптимизации стратегия.


/*backtest
start: 2022-12-22 00:00:00
end: 2023-12-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// (c) ReduX_o, 2019. All rights reserved.
//
// How to trade:
// The indicator is more reliable in longer time frames
// Choose a fibonacci level as reference 
// Buy when the RSI line turns green
// Sell when the RSI line turns red



//@version=4
strategy("RSI Fibonacci Levels", overlay=false, initial_capital=2000, currency=currency.USD, commission_value=0.1, slippage=0, commission_type=strategy.commission.percent, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)


len = input(14, minval=1, title="Rsi Periods")
f1 = input(title="Fibonacci Level", defval="38.2", options=["38.2", "50", "61.8"])

// === BACKTEST RANGE ===
FromYear = input(defval=2010, title="From Year", minval=2010)
FromMonth = input(defval=1, title="From Month", minval=1)

ToYear = input(defval=2020, title="To Year", minval=2010)
ToMonth = input(defval=1, title="To Month", minval=1)


src = hl2
fi= (f1 == "38.2") ? 38.2 : (f1 == "50")? 50 : 61.8


up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)


//***************************************************
rcolor = rsi >= fi ? color.lime : color.red

plot(rsi, title="RSI", color=rcolor, transp=0)
band1 = hline(78.6, color=color.red, linestyle= hline.style_solid,  editable= false)
band0 = hline(23.6, color=color.lime, linestyle= hline.style_solid, editable= false)
band2 = hline(61.8, color=color.gray, editable= false)
band3 = hline(50, color=color.black, editable= false)
band4 = hline(38.2, color=color.gray, editable= false)
band5 = hline(fi, color=color.blue, linestyle= hline.style_solid, editable= false)

strategy.entry("LE", strategy.long, comment="L", when=rsi >= fi )
strategy.entry("SE", strategy.short, comment="S", when=rsi < fi )




Больше