Облако Боллинджера Пересечение полос Двойная скользящая средняя Количественная трендовая стратегия

MA BB
Дата создания: 2024-12-27 15:54:08 Последнее изменение: 2024-12-27 15:54:08
Копировать: 2 Количество просмотров: 431
1
Подписаться
1617
Подписчики

Облако Боллинджера Пересечение полос Двойная скользящая средняя Количественная трендовая стратегия

Обзор

Данная стратегия представляет собой количественную торговую систему, основанную на облаке Ишимоку. В этой стратегии в основном используются сигналы пересечения Leading Span A и Leading Span B для определения направления рыночного тренда и генерации торговых сигналов. Стратегия использует метод оценки динамического ценового диапазона в сочетании с расчетным принципом канала Дончиана, что позволяет эффективно улавливать поворотные моменты рыночных тенденций.

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

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

  1. Линия конверсии: использует медиану канала Дончиана с 9 периодами в качестве индикатора быстрой реакции.
  2. Базовая линия: использует медиану канала Дончиана за 26 периодов в качестве индикатора среднесрочного тренда.
  3. Ведущий интервал A: рассчитывается на основе среднего значения линии конверсии и базовой линии.
  4. Leading Span B: использует 52-периодную медиану канала Дончиана в качестве индикатора долгосрочного тренда.
  5. Запаздывающий интервал: переместить цену закрытия на 26 периодов назад.

Условия срабатывания торговых сигналов следующие:

  • Длинный сигнал: когда ведущая полоса A пересекает ведущую полосу B снизу вверх.
  • Короткий сигнал: когда ведущая полоса A пересекает ведущую полосу B сверху вниз.

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

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

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

  1. Риск запаздывания: из-за использования метода расчета с более длительным периодом возможна определенная задержка в сигналах входа и выхода.
  2. Риск нестабильного рынка: на боковом и нестабильном рынке могут возникать частые ложные сигналы прорыва.
  3. Чувствительность параметров: Различные комбинации параметров могут привести к большим различиям в эффективности стратегии.
  4. Риск просадки: когда тренд разворачивается, вы можете столкнуться с большей просадкой.

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

  1. Введение показателей объема: эффективность тренда может быть подтверждена путем объединения изменений объема
  2. Оптимизируйте выбор параметров: динамически корректируйте различные параметры в соответствии с характеристиками различных рыночных циклов.
  3. Добавьте вспомогательные индикаторы: вы можете добавить такие индикаторы, как RSI или MACD, в качестве вспомогательных подтверждающих сигналов.
  4. Улучшить механизм стоп-лосса: разработать более гибкие стратегии стоп-лосса, такие как скользящий стоп-лосс

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

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

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mrbakipinarli

//@version=6
strategy(title="Ichimoku Cloud Strategy", shorttitle="Ichimoku Strategy", overlay=true)

// Inputs for Ichimoku Cloud
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(26, minval=1, title="Lagging Span")

// Functions
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))

// Ichimoku Components
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

// Plotting Ichimoku Components
plot(conversionLine, color=color.new(#2962FF, 0), title="Conversion Line")
plot(baseLine, color=color.new(#B71C1C, 0), title="Base Line")
plot(close, offset = -displacement + 1, color=color.new(#43A047, 0), title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=color.new(#A5D6A7, 0), title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=color.new(#EF9A9A, 0), title="Leading Span B")

// Kumo Cloud
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

// Trading Logic
longCondition = ta.crossover(leadLine1, leadLine2)
shortCondition = ta.crossunder(leadLine1, leadLine2)

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)