В процессе загрузки ресурсов... загрузка...

Стратегия комбинации MACD и Supertrend

Автор:Чао Чжан, Дата: 2024-06-03 16:35:15
Тэги:MACD

img

Обзор

В этой статье представлена торговая стратегия, которая сочетает в себе два технических индикатора: MACD и Supertrend. Стратегия использует перекрестные сигналы индикатора MACD и направление тренда индикатора Supertrend для определения точек входа и выхода, направленные на получение прибыли от трендовых рынков. Основная идея стратегии заключается в том, чтобы пойти в длинный курс, когда MACD пересекает линию сигнала, и Supertrend зеленый, и идти в короткий, когда MACD пересекает линию сигнала, и Supertrend красный.

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

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

Преимущества стратегии

  1. Комбинируя индикаторы тренда и импульса, он может лучше улавливать трендовые рынки. Индикатор MACD ориентирован на будущее и может заранее судить об обратных тенденциях, в то время как индикатор Supertrend может эффективно отфильтровывать рынки с диапазоном. Комбинация двух может своевременно устанавливать позиции на трендовых рынках, улучшая доходность стратегии.
  2. Используя перекресток линии сигнала как выходный сигнал, он может своевременно остановить потери и получить прибыль. Линия сигнала MACD отражает краткосрочную ценовую тенденцию. Когда она пересекает линию MACD, это означает, что тенденция может перевернуться, поэтому своевременное закрытие позиций может эффективно контролировать снижение и избегать больших потерь.
  3. Логика стратегии ясна, а правила просты, легко внедряются и оптимизируются.

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

  1. Риск применимости выбора параметров MACD и Supertrend. Расчет показателей MACD и Supertrend включает параметры временного периода, и оптимальные параметры могут варьироваться для разных рынков и базовых активов. Фиксированные параметры могут привести к неудаче стратегии в определенных рыночных условиях.
  2. Риск задержки определения обратного тренда. В качестве индикатора, следующего за трендом, сигналы MACD могут иметь определенное задержка относительно цены, и ложные сигналы могут все еще генерироваться на ранней стадии обратного тренда. Супертенд также имеет определенную задержку в оценке обратного тренда.
  3. Риск частой торговли на рынках с ограниченным диапазоном. Стратегия может генерировать частые бычьи и медвежие перекрестные сигналы на рынках с ограниченным диапазоном, что приводит к чрезмерной торговле и увеличению затрат на транзакции, что снижает доходность стратегии.

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

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

Резюме

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


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="MACD + Supertrend Strategy", overlay=true)

// MACD Calculation
fastLength = 12
slowLength = 26
signalSmoothing = 9
macdSrc = close

// MACD Line
fastMA = ta.ema(macdSrc, fastLength)
slowMA = ta.ema(macdSrc, slowLength)
macdLine = fastMA - slowMA

// MACD Signal Line
signalMA = ta.ema(macdLine, signalSmoothing)

// MACD Histogram
histogram = macdLine - signalMA

// Supertrend Calculation
supertrendATRLength = 10
supertrendFactor = 3.0
[supertrend, _] = ta.supertrend(supertrendFactor, supertrendATRLength)

// Entry and Exit Conditions
longCondition = (macdLine > signalMA) and (supertrend < close)
shortCondition = (signalMA > macdLine) and (supertrend > close)

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

// Long Exit (Sell)
if signalMA > macdLine
    strategy.close("Long")

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

// Short Exit (Cover)
if macdLine > signalMA
    strategy.close("Short")

// Close Long Position if short condition is met
if shortCondition
    strategy.close("Long")

// Close Short Position if long condition is met
if longCondition
    strategy.close("Short")

// Plotting
plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")

// Alerts
alertcondition(longCondition, title='Long Entry Signal', message='MACD crossover and Supertrend below close price')
alertcondition(signalMA > macdLine, title='Long Exit Signal', message='MACD signal line crosses above MACD line')

alertcondition(shortCondition, title='Short Entry Signal', message='MACD crossunder and Supertrend above close price')
alertcondition(macdLine > signalMA, title='Short Exit Signal', message='MACD line crosses above MACD signal line')


Связанные

Больше