Стратегия Supertrend BarUpDn Fusion - это стратегия, которая объединяет индикатор Supertrend и индикатор BarUpDn. Стратегия будет длинной, если либо индикатор Supertrend, либо индикатор BarUpDn дает длинный сигнал, и будет короткой, если любой из индикаторов дает короткий сигнал.
Стратегия в основном использует два показателя:
Индикатор супертенденции: Этот индикатор определяет направление тренда на основе среднего истинного диапазона и фактора. Он дает длинные сигналы, когда цена находится в канале восходящего тренда, и короткие сигналы, когда цена находится в канале нисходящего тренда.
Индикатор BarUpDn: Этот индикатор определяет, является ли текущая панель быстрой (закрытие выше, чем открытие) или медвежьей (открытие выше, чем закрытие).
Основная логика стратегии заключается в следующем:
Продолжайте, когда Supertrend длинный, а BarUpDn быстрый.
Идите коротко, когда Supertrend короткий, а BarUpDn медвежий.
Закрыть позиции своевременно, когда Supertrend изменит направление.
Благодаря этому слиянию стратегия может использовать как способность СуперТренда оценивать тренд, так и краткосрочную способность BarUpDn оценивать, чтобы достичь лучшего времени входа.
Основными преимуществами этой стратегии являются:
Улучшенная точность путем слияния нескольких индикаторов. Использование как суждения о тренде Supertrend, так и краткосрочного суждения BarUpDn может улучшить точность времени входа.
Своевременная остановка убытков. Быстрое сокращение убытков, когда основной индикатор Supertrend меняет направление, может избежать увеличения потерь.
Простая и простая в использовании стратегия использует только комбинацию двух общих показателей, что делает ее очень простой и легкой в использовании.
Сильная адаптивность: сам Supertrend имеет регулируемые параметры для адаптации к различным продуктам и временным рамкам.
Эта стратегия также сопряжена с некоторыми рисками:
Неправильное суждение от неправильного слияния может привести к ошибочному суждению.
Неправильная настройка параметров влияет на производительность.
Небольшие потери могут возникнуть во время краткосрочных переворотов цен до того, как Supertrend изменит направление.
Стратегия может быть оптимизирована из следующих аспектов:
Добавьте стратегии стоп-лосса, такие как перемещение стоп-лосса, время стоп-лосса, вырыв стоп-лосса и т.д., чтобы еще больше контролировать риски.
Оптимизировать параметры Supertrend для поиска наилучших комбинаций параметров для различных продуктов и временных рамок, например, с помощью машинного обучения.
Добавить еще несколько индикаторов слияния для создания механизма голосования и улучшения стабильности оценки.
Включите больше рыночных факторов, таких как изменение объема, изменение спреда и т. Д., Чтобы оценить надежность сигнала и отфильтровать вводящие в заблуждение сигналы.
Стратегия Supertrend BarUpDn Fusion объединяет суждение о тренде и краткосрочное суждение путем объединения простых индикаторов, улучшения точности времени входа при сохранении простоты и простоты использования.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend and BarUpDn Indicator Fusion", overlay=true) // Supertrend indicator atrLength = input(10, title="ATR Length") factor = input(3.0, title="Factor") [supertrend, direction] = ta.supertrend(factor, atrLength) lastBar = 0 // BarUpDn indicator barUpDn = close > open and open > close[1] ? 1 : close < open and open < close[1] ? -1 : 0 if (barUpDn == 1) lastBar := 1 else if barUpDn == -1 lastBar := -1 // Determine long or short position longCondition = (direction > 0 and barUpDn > 0) or (direction > 0 and lastBar == 1) shortCondition = (direction < 0 and barUpDn < 0) or (direction < 0 and lastBar == -1) // Enter long or short position if (longCondition) strategy.entry("Long", strategy.long) lastBar := 1 else if (shortCondition) strategy.entry("Short", strategy.short) lastBar := -1 if (direction < 0 and barUpDn > 0) strategy.entry("Long", strategy.long) // Exit long or short position if (direction > 0 and barUpDn < 0) strategy.entry("Short", strategy.short) // Exit long or short position // if (direction < 0 and barUpDn > 0 or direction > 0 and barUpDn < 0) // strategy.close_all()