Стратегия следования за трендом только для длинных позиций на основе ADX, MA и EMA


Дата создания: 2024-01-29 11:30:15 Последнее изменение: 2024-01-29 11:30:15
Копировать: 1 Количество просмотров: 682
1
Подписаться
1617
Подписчики

Стратегия следования за трендом только для длинных позиций на основе ADX, MA и EMA

Обзор

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

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

Эта стратегия использует ADX для определения тенденции и силы рынка. ADX определяет наличие и силу тенденции, рассчитывая степень и направление изменения цены. Когда ADX растет, это означает, что он находится в восходящем тренде; когда ADX падает, это означает, что тенденция ослабевает.

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

В сочетании с особенностями ADX и движущихся средних, эта стратегия создает торговые сигналы для определения направления тенденции: ADX повышается и открывает позиции, когда цена пробивает верхние MA и EMA, ADX падает или цена падает, когда MA / EMA находится на уровне, реализуя стратегию слежения за тенденцией.

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

Основные преимущества этой стратегии:

  1. Использование ADX для определения интенсивности тренда, снижения количества недействительных сделок и отслеживания трендов;
  2. Фильтрация на основе движущихся средних, объединяющих два различных параметра, позволяет эффективно идентифицировать тенденции.
  3. Если мы будем делать больше, то избежим потери скользящих точек, вызванных частыми обратными операциями.
  4. В этом случае, как отмечается в сообщении, “все, что мы делаем, - это пытаемся контролировать риски”.
  5. В результате, мы получили стратегию отслеживания тенденций в длинных линиях.

Анализ стратегических рисков

Однако эта стратегия также несет в себе некоторые риски:

  1. В то же время, по мнению экспертов, в результате снижения индекса доходности в 2010 г. в Азербайджане было достигнуто более высокое качество.
  2. В этом случае мы не сможем использовать падение, чтобы получить прибыль.
  3. При изменении тенденции существует определенный риск потери;
  4. Неправильная настройка параметров также может повлиять на эффективность стратегии.

Решение проблемы:

  1. Применение соответствующих параметров ADX для уменьшения задержек;
  2. Можно установить стратегию остановки убытков, чтобы контролировать одиночные потери;
  3. Тестирование и оптимизация параметров, выбор оптимальных.

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

Эта стратегия также может быть оптимизирована в следующих аспектах:

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

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

Эта стратегия в целом является стратегией отслеживания только одного-многих трендов, которая использует ADX для определения силы тренда и помогает построить фильтрующий сигнал с помощью двух движущихся средних. Она эффективно контролирует возникновение неэффективных сделок, реализует эффект отслеживания тренда, является более стабильной стратегией отслеживания только нескольких трендов.

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

//@version=4
strategy("ADX, MA, and EMA Long Strategy - ADX Trending Up", shorttitle="ADX_MA_EMA_Long_UpTrend", overlay=true)
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
maPeriod = input(50, title="MA Period")
emaPeriod = input(50, title="EMA Period")
dirmov(len) =>
    up = change(high)
    down = -change(low)
    plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
    minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
    truerange = rma(tr, len)
    plus = fixnan(100 * rma(plusDM, len) / truerange)
    minus = fixnan(100 * rma(minusDM, len) / truerange)
    [plus, minus]
adx(dilen, adxlen) =>
    [plus, minus] = dirmov(dilen)
    sum = plus + minus
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
maValue = sma(close, maPeriod)
emaValue = ema(close, emaPeriod)
longCondition = sig > sig[1] and close > maValue and close > emaValue
if (longCondition)
    strategy.entry("Long", strategy.long)
exitCondition = sig < sig[1] or  close < maValue or close < emaValue
if (exitCondition)
    strategy.close("Long")
plot(maValue, color=color.blue, title="MA")
plot(emaValue, color=color.orange, title="EMA")
plot(sig, color=color.red, title="ADX")