Это количественная торговая стратегия, которая отслеживает тенденции, оценивая общую тенденцию на основе скользящих средних и определяя точки прорыва с помощью индикатора импульса HA. Стратегия проста и легко понятна, используя скользящие средние для определения направления основной тенденции, а затем полагаясь на индикатор импульса HA для определения конкретных точек входа.
Основная логика этой стратегии заключается в использовании скользящих средних и индикатора импульса HA для отслеживания тенденций.
Суждение об общем тренде: рассчитываются 20-дневные и 200-дневные простые скользящие средние, когда 20-дневная скользящая средняя находится выше (ниже) 200-дневной линии, определяется тенденция к росту (снижению).
Время входа: индикатор импульса HA вычисляется путем сравнения размера отверстий тела свечи, значения, превышающие параметр HA_Candle_strength, подразумевают более сильный импульс, когда можно вводить позиции. Кроме того, цена закрытия проверяется выше/ниже 20-дневной скользящей средней для определения направления прорыва.
Установка выхода с точки зрения остановки/выхода с точки зрения получения прибыли: выходы из стратегии определяются на основе сумм прибыли/убытка.
Благодаря этому процессу стратегия способна улавливать промежуточные части установленных тенденций и следовать за ними.
Преимущества этой стратегии включают:
Простая и понятная логика, которую легко понять/оптимизировать.
Движущиеся средние фильтруют шум и фиксируют основную тенденцию.
Импульс HA избегает ложных прорывов, измеряя силу прорыва.
Точность времени входа улучшается с помощью сочетания направления тренда и импульса.
Определенные выходы стоп-лосса/прибыли контролируют риск одной сделки.
Основные риски этой стратегии:
Частые перекрестные сигналы могут привести к плохим сделкам на различных рынках.
Неправильные параметры могут привести к пропущенным сделкам или ложным сигналам.
Не в состоянии адаптироваться во всех типах рыночных режимов, может столкнуться с большими потерями на нестабильных боковых рынках.
Неспособность своевременно определить точки переворота тенденции может привести к увеличению потерь.
Соответствующие решения:
Дополнительные фильтры для устранения недействительных сигналов.
Оптимизация параметров для поиска идеальных комбинаций параметров.
Включите показатели волатильности, чтобы избежать ошибок на нестабильных рынках.
Используйте адаптивные ордера стоп-лосса для получения прибыли.
Дальнейшие улучшения этой стратегии:
Для улучшения надежности используйте адаптивные скользящие средние периоды вместо фиксированных значений.
Добавьте фильтр объема, чтобы избежать сигналов, когда уверенность рынка слаба.
Автооптимизировать параметры с помощью машинного обучения для повышения стабильности.
Динамическая стоп-лосс вместо статической стоп-лосс для получения прибыли.
Включить больше показателей качества и рыночных условий.
В целом, это стратегия, основанная на определении направления преобладающего тренда с помощью скользящих средних и использовании импульса HA для синхронизации сигналов входа. Логика проста и ясна, обеспечивая точное генерацию сигнала во время прогрессирования тренда. Есть некоторые ограничения, которые необходимо устранить с помощью дальнейшей оптимизации и дополнительных фильтров, но в целом эта стратегия служит хорошим вводным примером для начинающих квантовых трейдеров.
/*backtest start: 2023-12-03 00:00:00 end: 2023-12-10 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("HA Trend Following", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 2) //parameters input Trend_DIR_MA = input(defval = 200, title = "MA for trend direction") HA_Candle_strength = input(defval = 2, title = "HA candle strength") Rng = abs(open - close) // HA_Momentum - size of break out body HA_Momentum = sma(Rng, 1) / sma(Rng, 5) plot(HA_Momentum, color=green, linewidth=1, style=line) plot(HA_Candle_strength, color= blue) // open position longCondition = close > sma(close, 20) and (sma(close, 20) > sma(close, Trend_DIR_MA) )and HA_Momentum > HA_Candle_strength and close - open > 0 if (longCondition) strategy.entry(id = "Lng", long = true) ShortCondition = close < sma(close, 20) and (sma(close, 20) < sma(close, Trend_DIR_MA) ) and HA_Momentum > HA_Candle_strength and close - open < 0 if (ShortCondition) strategy.entry(id = "Shrt", long = false) // close position strategy.exit("ExL", from_entry = "Lng", loss = 500 , profit = 1500) strategy.exit("ExS", from_entry = "Shrt", loss = 500 , profit = 1500)