Двойная супертенденция с комбинацией торговых стратегий MACD

Автор:Чао Чжан, Дата: 2023-09-26 17:45:03
Тэги:

Обзор

Стратегия двойной торговли SuperTrend с комбинацией MACD включает в себя два индикатора, следующих за трендом (SuperTrend 1 и SuperTrend 2), с импульсным осциллятором (MACD), чтобы обеспечить систематический подход к торговле без усмотрения принятия решений.

Основные преимущества этой стратегии:

  • Двойная проверка SuperTrend - использование двух индикаторов SuperTrend с различными периодами ATR и факторами для подтверждения направления тренда минимизирует ложные сигналы.

  • Подтверждение импульса - гистограмма MACD действует как фильтр импульса для проверки входов и выходов.

  • Цель Правила входа и выхода - Стратегия генерирует четкие сигналы купли и продажи на основе сочетания тенденции и импульса.

  • Автоматизированное управление торговлей - Встроенные настройки для комиссии, скольжения и начального капитала автоматизируют процесс выполнения торговли.

  • Настраиваемость - Все параметры могут быть легко настроены в соответствии с конкретными потребностями торговли и меняющимися рыночными условиями.

Как это работает

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

Правила въезда

  • Длинный вход: как быстрые SuperTrends, так и гистограмма MACD выше нуля.

  • Короткий вход: как медвежий, так и гистограмма MACD ниже нуля.

Правила выхода

  • Выход из длинного курса: либо SuperTrend переходит в медвежий, либо гистограмма MACD опускается ниже нуля.

  • Выход в короткий (Exit Short): либо SuperTrend становится бычьим, либо гистограмма MACD поднимается выше нуля.

Управление торговлей

  • Фиксированная ставка комиссии и настройки скольжения.

  • Управление рисками для предотвращения чрезмерного воздействия.

Направление торговли

Стратегия позволяет торговать как на бычьих, так и на медвежьих рынках. Пользователи могут выбрать направление (длинный, короткий или оба) в соответствии со своим взглядом на рынок.

Использование

  • Лучше всего применять в те периоды времени, когда тенденция очевидна.

  • Пользователи могут настраивать параметры SuperTrend и MACD.

Настройки по умолчанию

  • СуперТренд 1 ATR Период: 10

  • СуперТренд 1 Фактор: 3,0

  • СуперТренд 2 ATR Период: 20

  • СуперТренд 2 Фактор: 5.0

  • MACD Fast Length: 12

  • MACD медленная длина: 26

  • Сглаживание сигнала MACD: 9

  • Комиссия: 0,1%

  • Сдвиг: 1 балл

  • Руководство: оба

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

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

Основные преимущества этой стратегии:

  1. Подтверждение двойного тренда минимизирует ложные сигналы

Использование двух индикаторов SuperTrend значительно снижает ложные сигналы по сравнению со стратегией с одним индикатором.

  1. Фильтр импульса MACD улучшает точность

Гистограмма MACD отфильтровывает менее идеальные торговые сигналы, улучшая точность входа.

  1. Эффективный контроль сбора

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

  1. Высокая степень автоматизации, отсутствие необходимости в дискреции

Хорошо определенные правила входа и выхода исключают субъективные интерпретации и человеческие ошибки.

  1. Высоко настраиваемая для более широкого применения

Настраиваемые параметры делают эту стратегию надежной для различных инструментов и торговых предпочтений.

Риски и оптимизация

Потенциальные риски включают:

  1. Сложности при динамических переходах тенденций

Частые изменения тренда могут быть проблемой для установки двойного индикатора тренда.

  1. Ограниченный контроль за использованием при сильных тенденциях

Стоп-лосс может задерживаться в сильных движениях тренда, что приводит к большему снижению.

  1. Неумение реагировать на внезапные события

Он не может быстро адаптироваться к черным лебедям, что увеличивает риски вывода.

Возможности оптимизации:

  1. Прекрасные настройки для различных инструментов.

  2. Добавьте механизмы остановки потерь, такие как остановки отслеживания, чтобы дополнительно контролировать снижение.

  3. Включить другие показатели для выявления внезапных событий и сокращения вычетов.

Заключение

В целом, стратегия Dual SuperTrend и комбинация MACD сочетает в себе сильные стороны следующего тренда и анализа импульса. Благодаря четким правилам и высокой степени автоматизации она может эффективно фильтровать шум и обеспечивать сильную практическую полезность.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PresentTrading

//@version=5
// Define the strategy settings
// strategy("Dual-Supertrend with MACD - Strategy [presentTrading]", overlay=true, precision=3, default_qty_type=strategy.cash, 
//  commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1, 
//   currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000)

// Trading Direction Dropdown
tradeDirection = input.string("both", "Trading Direction", options=["long", "short", "both"])

// MACD Inputs
fast_length = input(12, "Fast Length")
slow_length = input(26, "Slow Length")
signal_length = input(9, "Signal Smoothing")
sma_source = input.string("EMA", "Oscillator MA Type", options=["SMA", "EMA"])
sma_signal = input.string("EMA", "Signal Line MA Type", options=["SMA", "EMA"])


// MACD Calculation
fast_ma = sma_source == "SMA" ? ta.sma(close, fast_length) : ta.ema(close, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(close, slow_length) : ta.ema(close, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal

// Input Parameters for Supertrend 1
atrPeriod1 = input(10, "ATR Length for Supertrend 1")
factor1 = input.float(3.0, "Factor for Supertrend 1", step=0.01)

// Supertrend Calculation for 1
[supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1)

// Input Parameters for Supertrend 2
atrPeriod2 = input(20, "ATR Length for Supertrend 2")
factor2 = input.float(5.0, "Factor for Supertrend 2", step=0.01)

// Supertrend Calculation for 2
[supertrend2, direction2] = ta.supertrend(factor2, atrPeriod2)

// Combined Conditions
isBullish = direction1 < 0 and direction2 < 0 and hist > 0
isBearish = direction1 > 0 and direction2 > 0 and hist < 0
exitLong = direction1 > 0 or direction2 > 0 or hist < 0
exitShort = direction1 < 0 or direction2 < 0 or hist > 0

// Strategy Entry and Exit based on Trading Direction
if (tradeDirection == "both" or tradeDirection == "long")
    strategy.entry("Buy", strategy.long, when=isBullish)
    strategy.close("Buy", when=exitLong)

if (tradeDirection == "both" or tradeDirection == "short")
    strategy.entry("Sell", strategy.short, when=isBearish)
    strategy.close("Sell", when=exitShort)

bodyMiddle1 = plot((open + close) / 2, display=display.none)
upTrend1 = plot(direction1 < 0 ? supertrend1 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend1 = plot(direction1 < 0? na : supertrend1, "Down Trend", color = color.red, style=plot.style_linebr)

fill(bodyMiddle1, upTrend1, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle1, downTrend1, color.new(color.red, 90), fillgaps=false)

bodyMiddle2 = plot((open + close) / 2, display=display.none)
upTrend2 = plot(direction2 < 0 ? supertrend2 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend2 = plot(direction2 < 0? na : supertrend2, "Down Trend", color = color.red, style=plot.style_linebr)

fill(bodyMiddle2, upTrend2, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle2, downTrend2, color.new(color.red, 90), fillgaps=false)

Больше