Эта стратегия в основном использует индикатор ADX для оценки тренда и сочетает в себе скользящие средние значения MA и EMA с различными параметрами, чтобы создать стратегию отслеживания тренда только на длинный период. Когда ADX повышается, это указывает на длинное направление. Когда цена проходит через восходящие MA и EMA, открывайте длинные позиции. Когда ADX падает или цена падает ниже MA или EMA, закрывайте позиции.
Стратегия в основном использует ADX для оценки тенденции и силы рынка. ADX рассчитывает степень и направление изменения цен для определения существования и силы тренда. Когда ADX повышается, это означает, что он в настоящее время находится в восходящей тенденции. Когда ADX падает, это означает, что тенденция ослабевает.
Стратегия также использует два скользящих средних, MA и EMA, с различными параметрами, как вспомогательное суждение. Они могут эффективно фильтровать случайность цен и показывать основное направление тренда цен. Когда цены растут и проходят через MA и EMA, это длинный сигнал. Когда цены падают и проходят, это закрывающий сигнал.
Комбинируя характеристики ADX и скользящих средних, стратегия создает торговые сигналы для оценки направления тренда: идти длинным, когда ADX растет, и цены проходят через восходящие MA и EMA, и закрывать позиции, когда ADX падает или цены проходят через MA / EMA. Она реализует стратегию отслеживания тренда только длинного.
Основными преимуществами этой стратегии являются:
Существуют также некоторые риски:
Решения:
Стратегия может быть оптимизирована из следующих аспектов:
В целом, это долгосрочная стратегия отслеживания тренда, которая использует 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")