Тенденция после стратегии на основе скользящей средней и истинного диапазона корпуса

Автор:Чао Чжан, Дата: 2024-01-15 15:26:08
Тэги:

img

Обзор

Основная идея этой стратегии заключается в том, чтобы определить направления тренда рынка путем сочетания скользящей средней и средней истинной диапазоны (ATR) и ввести позиции после подтверждения направления тренда. В частности, он рассчитывает разницу между скользящими средними Hull определенного периода и предыдущего периода. Когда разница растет, это указывает на бычий тренд; когда разница снижается, это указывает на медвежий тренд. В то же время индекс ATR используется для определения амплитуды. Он вводит позиции, когда направление тренда подтверждается и амплитуда продолжает расширяться.

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

Эта стратегия в основном основана на двух типах показателей: скользящей средней стоимости корпуса и ATR.

Движущаяся средняя Хулла (англ. Hull moving average) - индикатор тренда, разработанный американским фьючерсным трейдером Аланом Хуллом (Alan Hull).

ATR означает средний истинный диапазон. Он отражает амплитуду ежедневных колебаний цен. Когда волатильность увеличивается, ATR повышается; когда волатильность снижается, ATR падает. Стратегия устанавливает такие параметры, как atrLength и atrSmoothing, чтобы контролировать расчет ATR. А ATR изображается на графике как один из этапов для записей.

В частности, логика стратегии заключается:

  1. Вычислить текущий период Hull MA (HullLength) и предыдущий период Hull MA.
  2. Вычислите разницу: hullDiff = currentHullMA - previousHullMA
  3. Когда hullDiff > 0, это указывает на рост, когда hullDiff < 0, это указывает на снижение.
  4. Вычислить ATR (atrLength) периода в качестве ориентира амплитуды.
  5. Когда выявляется бычий тренд и ATR > цена > цена atrLength периодов назад, выходите в длинный.
  6. Используйте положительное/отрицательное значение hullDiff для определения сигналов приближения.

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

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

  1. Объединяя суждение о тренде и индекс волатильности, он может входить в позиции, когда ценовая тенденция ясна и волатильность растет, чтобы избежать колебаний на рынках с диапазоном.
  2. Hull MA быстрее реагирует на изменения цен и может быстро определить новые направления тренда.
  3. ATR отражает волатильность рынка и температуру, обеспечивая ориентиры для сроков входа.
  4. Для оптимальных комбинаций параметров можно оптимизировать несколько регулируемых параметров.

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

Некоторые риски этой стратегии:

  1. Как Hull MA, так и ATR не могут полностью избежать ложных прорывов и, следовательно, рискуют оказаться в ловушке.
  2. Неправильное настройка параметров может привести к чрезмерной торговле или недостаточной чувствительности, что может подорвать эффективность стратегии.
  3. Он не может эффективно справляться с насильственными ценовыми действиями, такими как резкие скачки или падения.

Решения:

  1. Установите правильную стоп-лосс, чтобы избежать ловушки ложных прорывов.
  2. Испытать и оптимизировать параметры, чтобы они соответствовали различным рыночным условиям.
  3. Приостановить стратегию, когда сталкиваешься с сильной волатильностью.

Руководство по оптимизации

Есть еще много возможностей для оптимизации:

  1. Испытать различные параметры длины корпуса, чтобы найти оптимальные настройки для текущих рынков.
  2. Проверьте комбинации периодов ATR, чтобы лучше всего понять рыночную жару.
  3. Попробуйте разные методы сглаживания ATR, чтобы увидеть, какой из них лучше всего работает.
  4. Оптимизировать условия входа с другими индикаторами волатильности, такими как Reaction в сочетании с ATR.
  5. Оптимизируйте стоп-лосс, чтобы избежать задержания.

Заключение

Эта стратегия объединяет потенциал Hull MA и способность ATR оценивать температуру. Она входит в позиции, когда тренд подтверждается и волатильность повышается, чтобы отфильтровать некоторые недействительные сигналы. Дальнейшее улучшение может быть достигнуто путем оптимизации параметров и лучшего управления рисками.


/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//                                                Hull cross and ATR
strategy("Hull cross and ATR", shorttitle="H&ATR", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0)
keh=input(title="Hull Length",defval=50)
length = input(title="ATR Length", defval=50, minval=1)
smoothing = input(title="ATR Smoothing", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"])
p=input(ohlc4,title="Price data")
n2ma=2*wma(p,round(keh/2))
nma=wma(p,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(p[1],round(keh/2))
nma1=wma(p[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
ma_function(source, length) => 
    if smoothing == "RMA"
        rma(p, length)
    else
        if smoothing == "SMA"
            sma(p, length)
        else
            if smoothing == "EMA"
                ema(p, length)
            else
                wma(p, length)
plot(ma_function(tr(true), length), title = "ATR", color=black, transp=50)
closelong = n1<n2
if (closelong)
    strategy.close("buy")
closeshort = n1>n2
if (closeshort)
    strategy.close("sell")
if (ma_function(tr(true), length)<p and p>p[length] and n1>n2)
    strategy.entry("buy", strategy.long, comment="BUY")
if (ma_function(tr(true), length)>p and p<p[length] and n1<n2)
    strategy.entry("sell", strategy.short, comment="SELL")

Больше