Стратегия разворота Золотого канала


Дата создания: 2023-12-07 15:15:26 Последнее изменение: 2023-12-07 15:15:26
Копировать: 0 Количество просмотров: 653
1
Подписаться
1619
Подписчики

Стратегия разворота Золотого канала

Обзор

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

Стратегический принцип

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

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

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

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

Анализ преимуществ стратегии

Эта стратегия объединяет трендовые и обратные факторы, учитывает как большие циклические тенденции, так и использует короткие циклические обратные моменты. Она имеет следующие преимущества:

  1. Золотая разделительная линия обладает естественным свойством поддержки и сопротивления и является эффективным инструментом для определения ключевых ценовых зон.
  2. RSI определяет состояние перепродажи, указывая на возможный поворотный момент.
  3. Я не могу позволить себе упустить возможность сделать обратный ход.
  4. Установка стратегии сдерживания убытков, контролируемый риск.

Анализ стратегических рисков

В этой стратегии есть некоторые риски, которые необходимо избегать:

  1. Если большой цикл не изменится, короткий цикл может вызвать убытки. Можно избежать тенденции большого цикла, оценив увеличение цикла.
  2. При отсутствии реверсии может быть задействована стоп-страха, что приводит к убыткам. Стоп-страха может быть расширена соответствующим образом.
  3. Это может занять много времени и потребует финансовой поддержки.

Направление оптимизации стратегии

Эта стратегия также может быть оптимизирована в следующих областях:

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

  2. Добавить другие показатели, чтобы сформировать более сильный торговый сигнал. Например, форма K-линии, изменение объема сделок и т. Д.

  3. Настройка параметров или оптимизация правил в зависимости от особенностей различных торговых сортов.

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

Подвести итог

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

Исходный код стратегии
/*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.")