Стратегия прорыва полосы MACD BB

MACD EMA BB SMA
Дата создания: 2024-04-25 17:16:28 Последнее изменение: 2024-04-25 17:16:28
Копировать: 0 Количество просмотров: 1022
1
Подписаться
1617
Подписчики

Стратегия прорыва полосы MACD BB

Обзор

Стратегия MACD BB - это торговая стратегия, основанная на индикаторе MACD и индикаторе буринского пояса. Стратегия использует индикатор MACD для захвата краткосрочных тенденций на рынке и одновременно использует индикатор буринского пояса для определения зон перекупа и перепродажи на рынке.

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

Принцип прорыва в диапазоне MACD BB выглядит следующим образом:

  1. Расчет MACD-индикатора: расчет MACD-индикатора с использованием быстрого скользящего среднего ((EMA) и медленного скользящего среднего ((EMA)).
  2. Вычисление Брин-полосы: использование показателя MACD для вычисления простого скользящего среднего ((SMA) и стандартного отклонения вверх и вниз по Брин-полосе.
  3. Сигналы с несколькими головами: стратегия открывается, когда индикатор MACD прорывает Брин и выходит на рельсы.
  4. Пустой сигнал: стратегия открывает пустую позицию, когда индикатор MACD прорывает подъемную линию Брин.
  5. Стоп-стоп: стратегия может устанавливать стоп-стоп и стоп-процент для управления риском торговли.

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

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

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

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

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

  1. Подтверждение тренда: после создания торгового сигнала, можно подтвердить эффективность тренда в сочетании с другими показателями или ценовым поведением, чтобы отфильтровать некоторые ошибочные сигналы.
  2. Динамический стоп: в зависимости от динамики волатильности рынка или ценового поведения, для лучшего контроля риска.
  3. Адаптация параметров: адаптация параметров стратегии с помощью машинного обучения или алгоритмов оптимизации для адаптации к различным рыночным условиям.

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

Стратегия прорыва в MACD BB-диапазоне заключается в том, чтобы торговать на ранних стадиях формирования тренда, используя комбинацию индикатора MACD и индикатора Brin. Преимущества стратегии заключаются в том, что она может улавливать краткосрочные тенденции и учитывать волатильность цен, но она также сталкивается с риском амплитуды, частыми сделками и проблемами оптимизации параметров.

Исходный код стратегии
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//AK MACD BB 
strategy("AK MACD BB strategy", overlay = true)

// Inputs for TP and SL
tp_percent = input.float(1.0, title="Take Profit %") / 100
sl_percent = input.float(1.0, title="Stop Loss %") / 100

length = input.int(10, minval=1, title="BB Periods")
dev = input.float(1, minval=0.0001, title="Deviations")

//MACD
fastLength = input.int(12, minval=1, title="fastLength") 
slowLength=input.int(26,minval=1)
signalLength=input.int(9,minval=1)
fastMA = ta.ema(close, fastLength)
slowMA = ta.ema(close, slowLength)
macd = fastMA - slowMA

//BollingerBands

Std = ta.stdev(macd, length)
Upper = (Std * dev + (ta.sma(macd, length)))
Lower = ((ta.sma(macd, length)) - (Std * dev))


Band1 = plot(Upper, color=color.gray, style=plot.style_line, linewidth=2,title="Upper Band")
Band2 = plot(Lower, color=color.gray, style=plot.style_line, linewidth=2,title="lower Band")
fill(Band1, Band2, color=color.blue, transp=75,title="Fill")

mc = macd >= Upper ? color.lime:color.red

// Indicator

plot(macd, color=mc, style =plot.style_circles,linewidth = 3, title="macd")
zeroline = 0 
plot(zeroline,color= color.orange,linewidth= 2,title="Zeroline")

//buy
barcolor(macd >Upper ? color.yellow:na)
//short
barcolor(macd <Lower ? color.aqua:na)
if macd > Upper
    strategy.entry("Long", strategy.long)
    // strategy.exit("Long TP/SL", "Long", limit=close * (1 + tp_percent), stop=close * (1 - sl_percent), comment = "Long Exit" )

if macd < Lower
    strategy.entry("Short", strategy.short)
    // strategy.exit("Short TP/SL", "Short", limit=close * (1 - tp_percent), stop=close * (1 + sl_percent), comment = "Short Exit")