Стратегия торговли высокой частотой на основе полос Боллинджера

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

img

Обзор

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

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

Стратегия использует индикатор полос Боллинджера, чтобы определить, достигли ли цены перекупленного или перепроданного уровня. Полосы состоят из верхней полосы, нижней полосы и средней полосы. Средняя полоса представляет собой простое движущееся среднее числа цен на n дней. Верхняя полоса представляет собой среднюю полосу плюс k раз стандартного отклонения цен на n дней. Нижняя полоса представляет собой среднюю полосу минус k раз стандартного отклонения. k обычно устанавливается на 2. Когда цены приближаются к верхней полосе, это указывает на перекуп. Когда цены приближаются к нижней полосе, это указывает на перепродажу.

Эта стратегия устанавливает период Боллинджера на 20 дней и k на 2. Когда цены касаются среднего диапазона, он сигнализирует о том, что цены возвращаются из экстремальных районов, генерируя торговые сигналы. Длинный сигнал запускается, когда цены пересекают средний диапазон. Короткий сигнал запускается, когда цены падают ниже среднего диапазона.

При вхождении в позиции, весь капитал инвестируется (включая собственный капитал и плавающую прибыль/убыток). Затем устанавливается диапазон прибыли 0,5%. Когда цены движутся выше 0,5%, позиции закрываются на прибыль.

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

Преимущества этой стратегии:

  1. Использование полос Боллинджера для идентификации торговых сигналов более эффективно для обнаружения экстремалов, чем простые скользящие средние.

  2. Высокочастотный подход быстро достигает прибыли в коротких торговых циклах.

  3. Инвестирование всего капитала максимизирует потенциал прибыли.

  4. Установка диапазона получения прибыли эффективно управляет риском и блокирует прибыль.

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

Существуют также некоторые риски:

  1. Болинджерские диапазоны чувствительны к параметрам ввода.

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

  3. Вложение всего капитала рискованно, а черные лебеди могут привести к большим потерям.

  4. Сжатый диапазон получения прибыли увеличивает частоту торговли и сложность операций.

Решения:

  1. Оптимизируйте параметры Боллинджера для поиска идеальных настроек.

  2. Используйте биржи с нулевой платой, как Binance Spot.

  3. Установите стоп-потери, чтобы ограничить максимальные потери.

  4. Расширить диапазон получения прибыли, чтобы уменьшить частоту торговли.

Оптимизация

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

  1. Добавление показателей объема, таких как "На балансе объема", для фильтрации подделок.

  2. Оптимизирую параметры Боллинджера, чтобы найти лучшие комбинации.

  3. Использование адаптивных диапазонов стоп-лосса и прибыли, например, расширение диапазонов по мере накопления сделок или выигрышей.

  4. Включение моделей машинного обучения для прогнозирования сигналов покупки/продажи.

  5. Избегайте торгов вокруг крупных событий, таких как отчеты о прибыли, основанные на фундаментальных данных.

Заключение

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


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

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

// Parámetros de las Bandas de Bollinger
length = input(20, title="Longitud")
mult = input(2.0, title="Multiplicador")

// Calcula las Bandas de Bollinger
basis = ta.sma(close, length)
upper_band = basis + mult * ta.stdev(close, length)
lower_band = basis - mult * ta.stdev(close, length)

// Condiciones para realizar operaciones
price_touches_basis_up = ta.crossover(close, basis)
price_touches_basis_down = ta.crossunder(close, basis)

// Monto inicial de inversión
monto_inicial = 10

// Lógica de la estrategia
if (price_touches_basis_up)
    qty = strategy.equity + strategy.netprofit // Invertir el total del capital más las ganancias en cada operación
    direction = close > basis ? strategy.long : strategy.short
    strategy.entry("Operacion", direction, qty = 1)

// Lógica para cerrar la operación con un movimiento del 0.5% (take profit)
target_profit = 0.005 // Actualizado a 0.5%

if (strategy.position_size != 0)
    direction = strategy.position_size > 0 ? strategy.long : strategy.short
    strategy.exit("Take Profit/Close", from_entry = "Operacion", profit = close * (1 + target_profit))

// Dibuja las Bandas de Bollinger en el gráfico
plot(upper_band, color=color.blue, title="Upper Band")
plot(lower_band, color=color.red, title="Lower Band")
plot(basis, color=color.green, title="Basis")

// Muestra el monto inicial de inversión en la barra del título
var label lbl = label.new(na, na, "")
label.set_text(lbl, "Monto Inicial: $" + str.tostring(monto_inicial, "#.########"))
label.set_xy(lbl, bar_index, low)
label.set_color(lbl, color.new(color.blue, 0))


Больше