Боллингерские полосы и стратегия торговли Фибоначчи

Автор:Чао Чжан, Дата: 2021-09-21 21:04:38
Тэги:

Обзор

Эта стратегия сочетает в себе индикаторы Болинджеровских полос и Фибоначчи для многоиндикаторного подхода. Она относится к типичному типу стратегии комбинированных индикаторов.

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

Стратегия основана на двух основных показателях:

  1. Боллингерские полосы

    Вычисляет верхние, средние и нижние диапазоны.

  2. Сдвиги Фибоначчи

    Вычисляет уровни 0% и 100% ретракции на основе исторических максимумов и минимумов.

Конкретная логика торговли:

Длинный сигнал: цена переходит верхнюю полосу и находится выше 0% поддержки Фибоначчи.

Короткий сигнал: цена прорывается ниже нижней полосы и находится ниже 100% сопротивления Фибоначчи.

Выходы расположены вокруг средней полосы для получения прибыли или стоп-лосса.

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

  • Комбинирует диапазоны Боллинджера и индикаторы Фибоначчи
  • Полосы оценивают тренд, Фибоначчи определяет ключевые уровни
  • Совокупная вероятность ложных сигналов ниже
  • Средний диапазон выходов контроля
  • Ясные правила въезда и выезда, легко применяемые

Риски

  • Показатели, основанные на МР, могут отставать, не достигая лучших уровней
  • Чисто индикаторные, медленные реакции на крупные события
  • Двойные фильтры ограничивают частоту торговли
  • Неправильные параметры отрицательно влияют на диапазоны и ретрассе
  • Параметры требуют оптимизации для различных продуктов

Риски могут быть уменьшены:

  • Оптимизация для лучших комбинаций параметров
  • Расслабление критериев входа, например, добавление моделей свечей.
  • Улучшение выходов с последними остановками
  • Отдельное испытание параметров по продуктам
  • Система регулирования размеров позиций

Руководство по улучшению

Стратегия может быть улучшена путем:

  1. Оптимизация параметров полос Боллинджера

    Найти оптимальные соотношения для верхних/нижних полос

  2. Оптимизация периодов ретрассирования Фибоначчи

    Испытание различных периодов обратного отслеживания для отслеживания

  3. Упрощение условий въезда

    Наблюдение за моделями свечей на перерывах полосы

  4. Улучшение выходов

    Рассмотрение механизмов остановки

  5. Испытания специфических для продукта параметров

    Параметры требуют настройки для различных продуктов

Резюме

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


/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands & Fibonacci Strategy", shorttitle="BB & Fib Strategy", overlay=true)

// Initialize position variables
var bool long_position = false
var bool short_position = false

// Bollinger Bands settings
length = input.int(20, title="Bollinger Bands Length")
src = input(close, title="Source")
mult = input.float(2.0, title="Standard Deviation Multiplier")

basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)

upper_band = basis + dev
lower_band = basis - dev

// Fibonacci retracement levels
fib_0 = input.float(0.0, title="Fibonacci 0% Level", minval=-100, maxval=100) / 100
fib_100 = input.float(1.0, title="Fibonacci 100% Level", minval=-100, maxval=100) / 100

// Plotting Bollinger Bands
plot(upper_band, color=color.red, title="Upper Bollinger Band")
plot(lower_band, color=color.green, title="Lower Bollinger Band")

// Calculate Fibonacci levels
fib_range = ta.highest(high, 50) - ta.lowest(low, 50)
fib_high = ta.highest(high, 50) - fib_range * fib_0
fib_low = ta.lowest(low, 50) + fib_range * fib_100

// Plot Fibonacci retracement levels
plot(fib_high, color=color.blue, title="Fibonacci High")
plot(fib_low, color=color.orange, title="Fibonacci Low")

// Entry conditions
long_condition = ta.crossover(close, upper_band) and low > fib_low
short_condition = ta.crossunder(close, lower_band) and high < fib_high

// Plot arrows on the chart
plotshape(series=long_condition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=short_condition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Entry and exit logic
if long_condition and not short_position
    strategy.entry("Long", strategy.long)
    long_position := true
    short_position := false

if short_condition and not long_position
    strategy.entry("Short", strategy.short)
    short_position := true
    long_position := false

// Exit conditions (you can customize these)
long_exit_condition = ta.crossunder(close, basis)
short_exit_condition = ta.crossover(close, basis)

if long_exit_condition
    strategy.close("Long")
    long_position := false

if short_exit_condition
    strategy.close("Short")
    short_position := false



Больше