Долгосрочная торговая стратегия на основе индикатора Bollinger Bands %B


Дата создания: 2024-02-01 11:15:44 Последнее изменение: 2024-02-01 11:15:44
Копировать: 0 Количество просмотров: 567
1
Подписаться
1617
Подписчики

Долгосрочная торговая стратегия на основе индикатора Bollinger Bands %B

Обзор

Эта стратегия основана на дизайне торговых сигналов на основе индикатора %B, который делает ставку при значении %B ниже установленной отметки, используя динамический способ наращивания позиций, чтобы отслеживать тенденцию и достичь заданной точки остановки после достижения равновесия. Эта стратегия применяется для выявления отскока после прорыва нижнего уровня поддержки.

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

  1. Вычисление средней, верхней и нижней полос N-го соединения
  2. Расчет %B: ((закрытие - снижение) / ((повышение - снижение))
  3. Когда %B меньше установленного порога (по умолчанию 0), делаем больше
  4. Исходя из цены открытия позиции, рассчитывается стоп-линия (при 105 процентах от цены открытия позиции по умолчанию) и стоп-линия (при 95 процентах от цены открытия позиции по умолчанию)
  5. После открытия позиции, продолжайте наращивать позиции до тех пор, пока вы соответствуете требованиям.
  6. Первое, что вызывает условия стоп-стоп, определяет плавную позицию.

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

Эта стратегия имеет следующие преимущества:

  1. Использование индикатора %B для идентификации точки отскока при поддержке подрельсовой подвески в поясе Бурин, с более высокой эффективностью
  2. Динамический подход к закладке позволяет отслеживать тренд и получать прибыль.
  3. Ясные условия остановки и убытков, способствующие контролю риска

Анализ рисков

Однако эта стратегия также несет в себе некоторые риски:

  1. %B имеет высокую вероятность подачи ложного сигнала и требует подтверждения в сочетании с другими показателями
  2. Ожидается более частые перебои с землетрясением
  3. Слишком радикальные ставки могут привести к еще большим рискам

Решение проблемы:

  1. Использование в сочетании с KD, MACD и другими индикаторами для обеспечения надежности торговых сигналов
  2. Регулирование позиции остановки, расширение пространства, выдерживающего колебания
  3. Разумный контроль над долей разовых пополнений, чтобы предотвратить риск выхода из-под контроля

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

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

  1. Испытание различных комбинаций параметров, чтобы найти оптимальный параметр
  2. Оптимизация логики наращивания запасов, прекращение наращивания запасов после достижения определенной доли прибыли
  3. Увеличение фильтрации ликвидности, чтобы избежать ошибочных сделок с низколиквидными акциями

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

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

Исходный код стратегии
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands %B Long Strategy", shorttitle="BB %B Long Strategy", overlay=true)

// Girdiler
length = input.int(20, title="BB Length")
src = input(close, title="Source")
dev = input.float(2.0, title="Deviation")
kar_hedefi = input(5, title="Take Profit")
zarar_durumu = input(100, title="Stop Loss")
start_date = input(timestamp("01 Jan 2023 00:00 +0000"), "Start Date")
end_date = input(timestamp("01 Jan 2024 00:00 +0000"), "End Date")
altinda_kalirsa_long = input.float(0, title="hangi degerin altinda long alsin")

// Bollinger Bantları %B göstergesi
basis = ta.sma(src, length)
stdDev = ta.stdev(src, length)
upperBand = basis + dev * stdDev
lowerBand = basis - dev * stdDev
percentB = (src - lowerBand) / (upperBand - lowerBand)

// Alım-Satım Sinyalleri
longCondition = percentB < altinda_kalirsa_long

// Kar/Zarar Hesaplama
takeProfit = strategy.position_avg_price * (1 + kar_hedefi / 100)
stopLoss = strategy.position_avg_price * (1 - zarar_durumu / 100)

// Long (Alım) İşlemi
if (longCondition )
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfit, stop=stopLoss)

// Take Profit Seviyesi Çizgisi
plot(takeProfit, title="Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)