Стратегия двойного отслеживания ударных паттернов


Дата создания: 2023-11-14 14:12:16 Последнее изменение: 2023-11-14 14:12:16
Копировать: 0 Количество просмотров: 360
1
Подписаться
1166
Подписчики

Стратегия двойного отслеживания ударных паттернов

Обзор

Двойная трейлерная стратегия - это количественная торговая стратегия, основанная на Bollinger Bands и EMA. Эта стратегия пытается захватить краткосрочные ценовые колебания, идентифицируя осцилляторные паттерны на основе Bollinger Bands и EMA.

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

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

Сначала стратегия рассчитывает середину траектории буринской полосы, т.е. n-дневную простую скользящую среднюю цены, где n-значение принимает по умолчанию 20 дней.

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

Таким образом, эта стратегия использует двойной отслеживание по EMA и Brin Belt, чтобы по возможности улавливать кратковременные колебания цены. Покупайте, когда EMA пересекает среднюю полосу, и продавайте, когда EMA пересекает среднюю полосу.

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

Эта стратегия двойного отслеживания имеет следующие преимущества:

  1. Используя EMA и Brin-band сдвоенный трейлер, можно одновременно определять тенденции и колебания, чтобы более точно улавливать краткосрочные колебания цен.

  2. EMA в качестве быстрой средней линии, средняя полоса Брин в качестве медленной средней линии, оба используются в сочетании, чтобы эффективно отфильтровывать ложные сигналы и улучшать качество сигнала.

  3. Параметры индикатора могут быть скорректированы, n-значения и стандартные отклонения по Брин-Бенду могут быть скорректированы в зависимости от рынка.

  4. Стратегические идеи просты, понятны и легко реализуемы, что очень хорошо подходит для краткосрочных потрясений.

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

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

Однако есть и потенциальные риски этой стратегии:

  1. Взлетно-посадочные полосы Брин легко образуют опоры и давление, что может привести к раннему вызову остановки.

  2. При перекрестке EMA и Бринской полосы цены могут отклоняться и посылать ошибочные сигналы.

  3. При значительных тенденциях EMA легко образует точки покупки в нижней части кубка san или точки продажи в верхней части кубка san, и может пропустить тенденцию.

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

  5. Неправильная настройка параметров может привести к чрезмерной торговле или упущенным торговым возможностям.

  6. Торговые расходы снижают реальную прибыль, поэтому нужно контролировать размер позиции.

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

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

  1. Повышение показателей, таких как трафик, фильтрация низкокачественных перекрестных сигналов.

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

  3. Стоп-стоп и стоп-стоп устанавливаются в соответствии с значениями ATR, что делает стоп-стоп более разумным.

  4. Повышение оценки трендов, чтобы избежать ошибочных сигналов в условиях трендов.

  5. Оптимизация параметров, таких как циклы EMA, параметры Брин-полосы и т. д., чтобы они были более подходящими для различных рыночных условий.

  6. Применение методов машинного обучения для динамической оптимизации параметров, чтобы сделать стратегию более грубой.

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

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

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

Исходный код стратегии
/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle="BBXEMA", title="Bollinger Bands Cross EMA", default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=true)
length = input(20, minval=1)
lengthEMA = input(9)
src = input(close, title="Source")
srcEMA = input(close, title="Source EMA")
//mult = input(2.0, minval=0.001, maxval=50)

// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2019, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true
basis = sma(src, length)
EMA = ema(srcEMA,lengthEMA)
//dev = mult * stdev(src, length)
//upper = basis + dev
//lower = basis - dev

Buy = crossover(EMA,basis)
Sell = crossunder(EMA,basis)

bb = plot(basis, color=color.red)
signal = plot(EMA, color=color.green)
//p1 = plot(upper, color=color.blue)
//p2 = plot(lower, color=color.blue)
//fill(p1, p2)

strategy.entry("Buy",true,when=window() and Buy)
strategy.close_all(when=window() and Sell)