Стратегия захвата скользящей средней


Дата создания: 2023-11-01 15:55:51 Последнее изменение: 2023-11-01 15:55:51
Копировать: 0 Количество просмотров: 639
1
Подписаться
1617
Подписчики

Стратегия захвата скользящей средней

Обзор

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

Стратегический принцип

  1. Вычислить конечную цену Хайкена nAMAn, в качестве ценовой основной линии.

  2. Рассчитайте FMA и SMA для цены закрытия Хайкена.

  3. Когда fma наносит sma, генерируется сигнал покупать; когда fma наносит sma, генерируется сигнал продавать.

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

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

  1. В сочетании с кривой Хайкена, можно более точно определить, где произойдет обратный рыночный тренд.

  2. Используйте комбинацию двойных средних, чтобы эффективно отфильтровать ложные прорывы.

  3. Выход сигналов без задержек, надежная производительность диска.

  4. Параметры оптимизируются гибко и могут быть скорректированы для разных сортов.

  5. Стратегическая логика проста, понятна и легко понятна.

  6. Настраивается в виде полностью автоматизированной торговой стратегии, снижающей риск человеческих действий.

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

  1. Пропорциональная линия Хайкена плохо отреагировала на колебания цен на рынке.

  2. Двухлинейная торговая стратегия может привести к появлению большего количества ложных сигналов.

  3. Неправильно настроенные средние параметры могут привести к пропуску тренда или увеличению отступления.

  4. На фиксированном диске есть транзакционные расходы, которые влияют на чистую прибыль.

  5. Для того, чтобы контролировать убытки, необходимо строгое ограничение потерь.

  6. Стратегии автоматического трейдинга сопряжены с рисками вывода средств и требуют хорошего управления капиталом.

Соответствующие меры управления рисками:

  1. В сочетании с показателями волатильности, избегайте волатильности.

  2. Добавлены фильтрующие условия для обеспечения качества торговых сигналов.

  3. Оптимизация параметров тестирования, выбор подходящего сочетания средних линий.

  4. Регулирование частоты транзакций, снижение влияния транзакционных затрат.

  5. Устанавливайте разумные пределы стоп-лосса и контролируйте убытки.

  6. Оптимизация управления капиталом, строгий контроль размеров позиций.

Направление оптимизации стратегии

  1. Оптимизация комбинации параметров двойной равной линии для улучшения качества сигнала.

  2. Добавьте фильтры на тенденции, чтобы избежать колебаний.

  3. Интегрированные индексы конверсии обеспечивают надежность тренда.

  4. Настройка динамического стоп-лосса и отслеживания стоп-стопов для оптимизации сбора прибыли.

  5. Интеграция модуля управления капиталом, контроль размеров позиций.

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

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2022-10-25 00:00:00
end: 2023-10-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Heikin/Kaufman by Gustavo v5
// strategy('Heikin Ashi EMA v5 no repaint ', shorttitle='Heikin Ashi EMA v5 no repaint', overlay=true, max_bars_back=500, default_qty_value=1000, initial_capital=100000, currency=currency.EUR)


// Settings - H/K
res1 = input.timeframe(title='Heikin Ashi EMA Time Frame', defval='D')
test = input(0, 'Heikin Ashi EMA Shift')
sloma = input(20, 'Slow EMA Period')
nAMA = hlc3

//Kaufman MA
Length = input.int(5, minval=1)
xPrice = input(hlc3)
xvnoise = math.abs(xPrice - xPrice[1])
Fastend = input.float(2.5, step=.5)
Slowend = input(20)
nfastend = 2 / (Fastend + 1)
nslowend = 2 / (Slowend + 1)
nsignal = math.abs(xPrice - xPrice[Length])
nnoise = math.sum(xvnoise, Length)
nefratio = nnoise != 0 ? nsignal / nnoise : 0
nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2)
nAMAn = nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))

//Heikin Ashi Open/Close Price
ha_t = ticker.heikinashi(syminfo.tickerid)
ha_close = request.security(ha_t, timeframe.period, nAMAn)
mha_close = request.security(ha_t, res1, hlc3)

//Moving Average
fma = ta.ema(mha_close[test], 1)
sma = ta.ema(ha_close, sloma)
plot(fma, title='MA', color=color.new(color.black, 0), linewidth=2, style=plot.style_line)
plot(sma, title='SMA', color=color.new(color.red, 0), linewidth=2, style=plot.style_line)

//Strategy
golong = ta.crossover(fma, sma)
goshort = ta.crossunder(fma, sma)

strategy.entry('Buy', strategy.long, when=golong)
strategy.entry('Sell', strategy.short,when=goshort)