Стратегия боковых прорывных колебаний

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

img

Обзор

Стратегия оборотных колебаний (англ. Sideways Breakthrough Oscillation Strategy) - это количественная торговая стратегия, которая использует полосы Боллинджера и индикатор MACD для определения сигналов покупки и продажи.

Принцип стратегии

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

В дополнение к использованию полос Боллинджера для определения торговых точек, эта стратегия также включает в себя индикатор MACD для определения торговых сигналов. Индикатор MACD включает в себя линию DIF, линию DEA и линию MACD. Линия DIF - это разница между 12-дневной экспоненциальной скользящей средней и 26-дневной экспоненциальной скользящей средней, линия DEA - это 9-дневная экспоненциальная скользящая средняя, а линия MACD - это разница между линиями DIF и DEA. Сигнал покупки генерируется, когда линия MACD превращается из отрицательной в положительную, а сигнал продажи генерируется, когда она превращается из положительной в отрицательную.

Комбинируя диапазоны Боллинджера и индикаторы MACD, правила генерации торговых сигналов для стратегии боковых прорывных колебаний следуют: сигнал покупки выпускается, когда цена проходит через нижнюю полосу канала Боллинджера; сигнал продажи выпускается, когда цена проходит через верхнюю полосу канала Боллинджера. Закрыть позицию, когда цена снова проходит через рельсы канала.

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

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

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

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

Несмотря на то, что стратегия боковых прорывных колебаний имеет много преимуществ, в фактической торговле все еще существуют некоторые риски, которые в основном отражаются в следующих аспектах:

  1. Изменения в колеблющихся тенденциях могут вызвать неудачу стратегии. Если цена быстро входит в канал после прорыва через канал, существует риск попадания в ловушку;
  2. Неправильное настройка параметров Bollinger Channel также повлияет на эффективность стратегии. Если полоса пропускания установлена слишком большой или слишком маленькой, это повлияет на эффект захвата торговых точек;
  3. Неправильные параметры индикатора MACD могут привести к тому, что сигналы будут продвигаться или отставать, что повлияет на уровень прибыли стратегии;
  4. В стратегии не учитываются факторы управления рисками, и существует риск увеличения потерь.

Чтобы уменьшить вышеуказанные риски, мы можем оптимизировать следующие аспекты:

  1. Включать индикаторы тренда, чтобы избежать сигналов, когда цены являются только краткосрочными ретрексерами;
  2. тестирование и оптимизация параметров Bollinger Channels и MACD для выбора оптимальных параметров;
  3. включать стратегии стоп-лосса для контроля одиночных потерь;
  4. Увеличить модуль управления позициями для контроля риска.

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

Стратегия боковых прорывных колебаний также имеет место для дальнейшей оптимизации, которая может быть сделана в основном в следующих направлениях:

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

Резюме

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


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy("Seitwärtsdoppelpenetration", overlay=false)

//Keltner Channel
source = open

useTrueRange = input(true)
length = input(20, minval=1)
mult = input(4.0)

ma = sma(source, length)
range = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult

crossUpper = crossover(source, upper)
crossLower = crossunder(source, lower)

//Entry
buyEntry = cross(lower,source)
sellEntry = cross(upper,source)

if (cross(lower,source))
    strategy.entry("buyEntry", strategy.long, comment="buyEntry")

if (cross(source, upper))
    strategy.entry("sellEntry", strategy.short, comment="sellEntry")

buyExit = cross(source, upper)
sellExit = cross(lower,source)

strategy.close("buyEntry", buyExit)
strategy.close("sellEntry", sellExit)


Больше