Стратегия динамической скользящей средней и пересечения полос Боллинджера в сочетании с моделью оптимизации фиксированного стоп-лосса

MA BB SMA ATR SL TP
Дата создания: 2024-12-27 14:57:38 Последнее изменение: 2024-12-27 14:57:38
Копировать: 5 Количество просмотров: 437
1
Подписаться
1617
Подписчики

Стратегия динамической скользящей средней и пересечения полос Боллинджера в сочетании с моделью оптимизации фиксированного стоп-лосса

Обзор

Стратегия представляет собой торговую систему, основанную на тренде, которая сочетает скользящую среднюю (MA) с полосами Боллинджера. Стратегия определяет рыночные тенденции, анализируя позиционную взаимосвязь между ценой и 200-периодной скользящей средней, а также положение полос Боллинджера, одновременно интегрируя механизм стоп-лосса с фиксированным процентом для контроля риска. Стратегия предполагает управление позицией в размере 2,86%, что соответствует кредитному плечу 35x и отражает концепцию осмотрительного управления фондом.

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

Основная логика стратегии основана на следующих ключевых элементах:

  1. Использование 200-периодной скользящей средней в качестве основного индикатора тренда
  2. Объедините верхнюю и нижнюю дорожки 20-периодных полос Боллинджера в качестве оценки диапазона колебаний.
  3. Открывайте длинную позицию при соблюдении следующих условий:
    • Цена выше 200-дневной скользящей средней
    • Средняя линия полосы Боллинджера находится выше 200-дневной скользящей средней.
    • Цена пересекает нижнюю полосу Боллинджера снизу вверх.
  4. Открывайте короткую позицию при выполнении следующих условий:
    • Цена ниже 200-дневной скользящей средней
    • Средняя линия полосы Боллинджера находится ниже 200-дневной скользящей средней.
    • Цена пересекает верхнюю полосу Боллинджера сверху вниз
  5. Используйте фиксированный процент стоп-лосса в размере 3% для контроля риска
  6. Закрывайте длинные позиции, когда цена касается верхней полосы Боллинджера, и закрывайте короткие позиции, когда цена касается нижней полосы Боллинджера.

Стратегические преимущества

  1. Широкие возможности отслеживания тенденций
  • Эффективно определяйте долгосрочные тенденции с помощью 200-дневной скользящей средней
  • Полосы Боллинджера помогают определить краткосрочные и среднесрочные изменения тренда.
  1. Идеальный контроль риска
  • Механизм фиксированного стоп-лосса эффективно контролирует риск каждой транзакции
  • Динамический дизайн стоп-профита увеличивает возможности получения прибыли
  1. Гибкая оптимизация параметров
  • Период скользящей средней и параметры полос Боллинджера можно корректировать в соответствии с характеристиками рынка.
  • Коэффициент стоп-лосса можно регулировать в зависимости от толерантности к риску.
  1. Высокая степень систематизации
  • Торговые сигналы четкие и нет фактора субъективного суждения.
  • Подходит для автоматизированного исполнения сделок

Стратегический риск

  1. Риск волатильности рынков
  • Ложные сигналы прорыва могут часто возникать на боковом рынке.
  • Рекомендуется торговать только при наличии четкого тренда.
  1. Риск проскальзывания
  • Вы можете столкнуться с большим проскальзыванием в периоды высокой волатильности.
  • Рекомендуется установить разумную защиту от проскальзывания.
  1. Системный риск
  • Чрезвычайные ситуации на рынке могут привести к сбою стоп-лосса
  • Рекомендуется сотрудничать с другими мерами контроля риска.
  1. Риски оптимизации параметров
  • Чрезмерная оптимизация может привести к переобучению
  • Рекомендуется проводить бэктестинговую проверку в разные периоды времени.

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

  1. Динамическая оптимизация стоп-лосса
  • Представляем индикатор ATR для динамической регулировки расстояния стоп-лосса
  • Отрегулируйте процент стоп-лосса в соответствии с волатильностью рынка
  1. Оптимизация входных сигналов
  • Добавить индикатор подтверждения объема
  • Добавить фильтр силы тренда
  1. Оптимизация управления позициями
  • Реализовать динамическое управление позициями
  • Отрегулируйте коэффициент кредитного плеча в соответствии с волатильностью рынка
  1. Оптимизация времени торговли
  • Добавлен индикатор настроений рынка
  • Добавление временного фильтра

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

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

Исходный код стратегии
/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-25 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=5
strategy("MA 200 and Bollinger Bands Strategy", overlay=true) // 2.86% for 35x leverage

// inputs
ma_length = input(200, title="MA Length")
bb_length = input(20, title="Bollinger Bands Length")
bb_mult = input(2.0, title="Bollinger Bands Multiplier")

// calculations
ma_200 = ta.sma(close, ma_length)
bb_basis = ta.sma(close, bb_length)
bb_upper = bb_basis + (ta.stdev(close, bb_length) * bb_mult)
bb_lower = bb_basis - (ta.stdev(close, bb_length) * bb_mult)

// plot indicators
plot(ma_200, color=color.blue, title="200 MA")
plot(bb_upper, color=color.red, title="Bollinger Upper Band")
plot(bb_basis, color=color.gray, title="Bollinger Basis")
plot(bb_lower, color=color.green, title="Bollinger Lower Band")

// strategy logic
long_condition = close > ma_200 and bb_basis > ma_200 and ta.crossover(close, bb_lower)
short_condition = close < ma_200 and bb_basis < ma_200 and ta.crossunder(close, bb_upper)

// fixed stop loss percentage
fixed_stop_loss_percent = 3.0 / 100.0

if (long_condition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Stop Long", "Long", stop=strategy.position_avg_price * (1 - fixed_stop_loss_percent))

if (short_condition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Stop Short", "Short", stop=strategy.position_avg_price * (1 + fixed_stop_loss_percent))

// take profit conditions
close_long_condition = close >= bb_upper
close_short_condition = close <= bb_lower

if (close_long_condition)
    strategy.close("Long")

if (close_short_condition)
    strategy.close("Short")