Комбинированная стратегия следования за трендом TEMA, DEMA, HMA


Дата создания: 2023-09-21 10:56:41 Последнее изменение: 2023-09-21 10:56:41
Копировать: 1 Количество просмотров: 1319
1
Подписаться
1617
Подписчики

Обзор

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

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

  1. Вычислить три скользящие средние: TEMA, DEMA и HMA
  2. Когда на TEMA наденут DEMA, сделайте дополнительный вход
  3. Когда TEMA носит DEMA, пустота входит в игру
  4. Расчет направления тренда долгосрочной HMA, ввод только в том случае, если HMA показывает конъюнктурную тенденцию

В частности, стратегия одновременно использует двузначную скользящую среднюю DEMA для определения среднесрочной тенденции, трехзначную скользящую среднюю TEMA для определения краткосрочной тенденции и плотную скользящую среднюю HMA для определения долгосрочной тенденции. Торговый сигнал создается только в том случае, если краткосрочная средняя стартует в одном и том же направлении ((TEMA и DEMA совпадают с прорывом) и долгосрочная основная тенденция также совпадает ((направление HMA совпадает с прорывом).

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

  1. Сочетание нескольких средних линий для повышения точности суждения
  2. HMA отфильтровывает тренды, чтобы избежать обратной торговли
  3. TEMA и DEMA могут формировать более четкие торговые сигналы
  4. Настраиваемые параметры трех равномерных линий для различных циклов
  5. Прогнозные сделки с меньшим риском вывода

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

  1. Трехлинейная комбинация более сложная, требует настройки нескольких параметров
  2. HMA может отстать от цены
  3. Существует определенная степень риска отставания от сделки
  4. Неправильные параметры могут привести к ненужной обратной сделке

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

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

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

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

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

Исходный код стратегии
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tuned-com

//@version=4
strategy("TEMA/DEMA/HMA", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000000, commission_type=strategy.commission.percent, commission_value=0.1)

Tlength = input(8, title="TEMA Length", minval=1)
Dlength = input(43, title="DEMA Length", minval=1)
Hlength = input(52, title="Hull Length", minval=1)
Rlength = input(2, title="Hull Trend Test Length", minval=1)


//TEMA//
ema1 = ema(close, Tlength)
ema2 = ema(ema1, Tlength)
ema3 = ema(ema2, Tlength)
tema = 3 * (ema1 - ema2) + ema3

//DEMA//
e1 = ema(close, Dlength)
e2 = ema(e1, Dlength)
dema = 2 * e1 - e2

//HMA//
hma = wma(2 * wma(close, Hlength / 2) - wma(close, Hlength), round(sqrt(Hlength)))


up = crossunder(dema, tema) and rising(hma, Rlength)
down = crossover(dema, tema) and falling(hma, Rlength)

downc = crossunder(dema, tema)
upc = crossover(dema, tema)

plot(dema, color=color.green, linewidth=2)
plot(tema, color=color.aqua, linewidth=2)

plot(hma, color=rising(hma, Rlength) ? color.green : na, linewidth=2, transp=0)
plot(hma, color=falling(hma, Rlength) ? color.red : na, linewidth=2, transp=0)

bgcolor(rising(hma, Rlength) ? color.green : na, transp=70)
bgcolor(falling(hma, Rlength) ? color.red : na, transp=70)

plotarrow(tema - dema, colorup=color.green, colordown=color.red, transp=70)



if up
    strategy.entry("Long Entry", strategy.long)

if down
    strategy.entry("Short Entry", strategy.short)