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

Автор:Чао Чжан, Дата: 2024-03-01 13:29:47
Тэги:

img

Обзор

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

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

Средняя полоса Боллингерских полос - это N-дневная простая скользящая средняя цена закрытия. Верхняя полоса - это средняя полоса + K раз N-дневные стандартные отклонения от закрывающейся цены. Нижняя полоса - это средняя полоса - K раз N-дневные стандартные отклонения от закрывающейся цены. Она длится, когда цена превышает среднюю полосу снизу, и становится короткой, когда цена превышает среднюю полосу сверху. Она открывает фиксированный размер для каждой сделки и устанавливает 0,5% прибыли и 3% стоп-лоса.

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

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

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

  1. Неправильное настройка параметров может привести к большему количеству сигналов, но меньшему уровню выигрыша.
  2. Высокочастотная торговля может значительно снизить маржу прибыли, если комиссионные относительно высоки.
  3. Неправильное установление стоп-прибыли/убытка может привести к преждевременному стоп-убытку или упущению большей прибыли.

Решения:

  1. Оптимизируйте параметры, чтобы найти лучшую комбинацию.
  2. Выбирайте ценные бумаги с более низкой комиссией.
  3. Оптимизировать уровень остановки прибыли/убытка посредством обратного тестирования.

Оптимизация

  1. Комбинируйте с другими индикаторами, такими как K-линейные паттерны и MACD, чтобы отфильтровать сигналы и улучшить показатель выигрыша.
  2. Добавьте больше типов получения прибыли, таких как остановка или частичное закрытие, чтобы расширить потенциал прибыли.
  3. Оптимизировать параметры полос Боллинджера и остановить уровень прибыли/убытка, чтобы найти лучшую комбинацию.

Заключение

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


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
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)

// Lógica de la estrategia
if (price_touches_basis_up)
    strategy.entry("Compra", strategy.long, qty = 1)
    
if (price_touches_basis_down)
    strategy.entry("Venta", strategy.short, qty = 1)

// Lógica para cerrar la operación con un movimiento del 0,5% (take profit) o 3% (stop loss)
target_profit = 0.005 // Actualizado a 0.5%
stop_loss = 0.03

if (strategy.position_size > 0)
    strategy.exit("Take Profit/Close", from_entry = "Compra", profit = close * (1 + target_profit))
    strategy.exit("Stop Loss/Close", from_entry = "Compra", loss = close * (1 - stop_loss))

if (strategy.position_size < 0)
    strategy.exit("Take Profit/Close", from_entry = "Venta", profit = close * (1 - target_profit))
    strategy.exit("Stop Loss/Close", from_entry = "Venta", loss = close * (1 + stop_loss))

// 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")


Больше