Средняя тенденция реверсии в соответствии со стратегией, основанной на прорыве импульса

Автор:Чао Чжан, Дата: 2023-12-11 16:56:47
Тэги:

img

Обзор

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

Логика стратегии

Основная логика этой стратегии заключается в использовании скользящих средних и индикатора импульса HA для отслеживания тенденций.

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

  2. Время входа: индикатор импульса HA вычисляется путем сравнения размера отверстий тела свечи, значения, превышающие параметр HA_Candle_strength, подразумевают более сильный импульс, когда можно вводить позиции. Кроме того, цена закрытия проверяется выше/ниже 20-дневной скользящей средней для определения направления прорыва.

  3. Установка выхода с точки зрения остановки/выхода с точки зрения получения прибыли: выходы из стратегии определяются на основе сумм прибыли/убытка.

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

Анализ преимуществ

Преимущества этой стратегии включают:

  1. Простая и понятная логика, которую легко понять/оптимизировать.

  2. Движущиеся средние фильтруют шум и фиксируют основную тенденцию.

  3. Импульс HA избегает ложных прорывов, измеряя силу прорыва.

  4. Точность времени входа улучшается с помощью сочетания направления тренда и импульса.

  5. Определенные выходы стоп-лосса/прибыли контролируют риск одной сделки.

Анализ рисков

Основные риски этой стратегии:

  1. Частые перекрестные сигналы могут привести к плохим сделкам на различных рынках.

  2. Неправильные параметры могут привести к пропущенным сделкам или ложным сигналам.

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

  4. Неспособность своевременно определить точки переворота тенденции может привести к увеличению потерь.

Соответствующие решения:

  1. Дополнительные фильтры для устранения недействительных сигналов.

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

  3. Включите показатели волатильности, чтобы избежать ошибок на нестабильных рынках.

  4. Используйте адаптивные ордера стоп-лосса для получения прибыли.

Возможности для расширения

Дальнейшие улучшения этой стратегии:

  1. Для улучшения надежности используйте адаптивные скользящие средние периоды вместо фиксированных значений.

  2. Добавьте фильтр объема, чтобы избежать сигналов, когда уверенность рынка слаба.

  3. Автооптимизировать параметры с помощью машинного обучения для повышения стабильности.

  4. Динамическая стоп-лосс вместо статической стоп-лосс для получения прибыли.

  5. Включить больше показателей качества и рыночных условий.

Заключение

В целом, это стратегия, основанная на определении направления преобладающего тренда с помощью скользящих средних и использовании импульса 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)




Больше