Стратегия подтверждения DMI с отслеживанием тренда отката с несколькими скользящими средними

SMA DMI 趋势跟踪 回调 斜率分析 摆动点 止损策略
Дата создания: 2025-07-08 13:10:40 Последнее изменение: 2025-07-08 13:10:40
Копировать: 5 Количество просмотров: 244
2
Подписаться
319
Подписчики

Стратегия подтверждения DMI с отслеживанием тренда отката с несколькими скользящими средними Стратегия подтверждения DMI с отслеживанием тренда отката с несколькими скользящими средними

Обзор

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

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

Эта стратегия основана на взаимодействии нескольких ключевых компонентов:

  1. Система множественной равнолинейности: Стратегия использует простые движущиеся средние по 5 различным периодам ((9/20/50/100/200) для определения структуры рынка. Из них 20-дневная и 200-дневная средние линии являются основными инструментами определения тенденций.

  2. Анализ склонности средней линии: путем вычисления 20-дневных и 200-дневных средних линий наклонности за последние 5 циклов ((slope20 и slope200), подтверждение силы и направления тренда. Положительная наклонность означает восходящую тенденцию, отрицательная наклонность означает нисходящую тенденцию.

  3. Отношение цены к средней: стратегия требует, чтобы позиция цены в зависимости от ключевой средней линии ((20 и 200 дней) соответствовала направлению тренда ((в случае, если цены находятся выше средней линии, в случае, если цены находятся ниже средней линии).

  4. Равнолинейный ряд: в условиях многого голова требуется, чтобы 20-дневная средняя линия находилась над 200-дневной средней линией; в условиях пустого головы наоборот.

  5. Механизм возвращения

    • Многоглавое условие: предыдущая цена закрытия K-линии ниже 20-дневной средней, а текущая цена закрытия K-линии выше 20-дневной средней, что указывает на то, что цена завершила отклонение от 20-дневной средней и подскочила
    • Поверхностное условие: предыдущая цена закрытия K-линии выше 20-дневного среднего, а текущая цена закрытия K-линии ниже 20-дневного среднего, что указывает на то, что цена завершила корректировку на 20-дневную среднюю и упала
  6. DMI направление подтверждено: использование индикатора DMI ((периодичность 14) для подтверждения направления тренда:

    • Многоглавое подтверждение: +DI > -DI
    • Подтверждение пустой головы: -DI > +DI
  7. Стоп-стоп в колебаниях

    • Большинство трейдеров используют минимальные точки за последние 10 циклов в качестве стоп-лосс
    • Вместо этого используйте максимумы за последние 10 циклов в качестве стоп-лосса.

Стратегические преимущества

  1. Множественная фильтрацияС помощью системы равнолинейной системы, равнолинейного уклона, многочисленных условий, таких как положение цены и подтверждение DMI, эффективно уменьшается количество ложных сигналов и повышается точность торгов.

  2. Возвращение в игруСтратегия ожидания, пока цена не вернется к критической средней линии, обеспечивает более высокий риск-возвращение, чем прямая охота за падением.

  3. Тенденции подтвержденыТрехкратная проверка позиции средней линии, расположения средней линии и скольжения средней линии, чтобы гарантировать торговлю только в сильных тенденциях и избежать частого трейдинга на колеблющихся рынках.

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

  5. Подтверждение показателей DMIДобавление показателя DMI в качестве дополнительного инструмента подтверждения тенденций, что дополнительно фильтрует сигналы высокой неопределенности.

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

Стратегический риск

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

  2. Риск ложного проникновенияВ некоторых странах, например, в Китае, цены могут быть более высокими, чем средние, но в некоторых странах, например, в Китае, они могут быть более высокими.

  3. Параметры оптимизации: Стратегия включает в себя несколько параметров (например, среднелинейный период, период скольжения, период DMI и т. д.), различные рынки и временные рамки могут требовать различных параметров.

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

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

  6. Недостаточное управление рисками“Однако, поскольку в этой стратегии отсутствуют механизмы динамического торможения, это может привести к тому, что уже полученная прибыль будет отброшена”.

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

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

  2. Добавить фильтр колебаний: внедрение ATR или индикатора волатильности для корректировки стратегии в условиях чрезмерной или чрезмерной волатильности рынка или приостановки торговли.

  3. Совершенствование механизма сдерживанияДобавление сдерживающих механизмов, основанных на структуре рынка или целевом рисково-доходном соотношении, таких как подвижные сдерживающие механизмы, частичные сдерживающие механизмы и т. д., для лучшей защиты полученной прибыли.

  4. Идентификация рыночной средыВключение индикатора интенсивности тренда или алгоритма классификации состояния рынка для автоматического снижения позиций или приостановки торговли на горизонтальном рынке.

  5. Подтверждение входа в полеМожно рассмотреть возможность увеличения подтверждения количества сделанных сделок или подтверждения форматирования диаграмм, повышения надежности входящего сигнала.

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2025-06-30 00:00:00
end: 2025-07-04 08:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Full SMA Pullback Strategy with DMI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === SMA Definitions ===
sma9   = ta.sma(close, 9)
sma20  = ta.sma(close, 20)
sma50  = ta.sma(close, 50)
sma100 = ta.sma(close, 100)
sma200 = ta.sma(close, 200)

// === Inputs ===
slopeLookback   = input.int(5, title="Slope Lookback Period")
swingLookback   = input.int(10, title="Swing High/Low Period")
dmiLength       = input.int(14, title="DMI Period")

// === Slope Calculation ===
slope20  = sma20 - sma20[slopeLookback]
slope200 = sma200 - sma200[slopeLookback]

// === DMI Calculation ===
[plusDI, minusDI, _] = ta.dmi(dmiLength, dmiLength)
dmiLongConfirm  = plusDI > minusDI
dmiShortConfirm = minusDI > plusDI

// === Long Conditions ===
trendUp     = close > sma20 and close > sma200
smaOrderUp  = sma20 > sma200
slopeUp     = slope20 > 0 and slope200 > 0
pullbackUp  = close[1] < sma20[1] and close > sma20
longCond    = trendUp and smaOrderUp and slopeUp and pullbackUp and dmiLongConfirm
swingLow    = ta.lowest(low, swingLookback)

// === Short Conditions ===
trendDown     = close < sma20 and close < sma200
smaOrderDown  = sma20 < sma200
slopeDown     = slope20 < 0 and slope200 < 0
pullbackDown  = close[1] > sma20[1] and close < sma20
shortCond     = trendDown and smaOrderDown and slopeDown and pullbackDown and dmiShortConfirm
swingHigh     = ta.highest(high, swingLookback)

// === Strategy Entry & Exit ===
if (longCond)
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", from_entry="Long", stop=swingLow)

if (shortCond)
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", from_entry="Short", stop=swingHigh)

// === Plotting SMAs ===
plot(sma9,   title="SMA 9",   color=color.gray)
plot(sma20,  title="SMA 20",  color=color.orange)
plot(sma50,  title="SMA 50",  color=color.purple)
plot(sma100, title="SMA 100", color=color.green)
plot(sma200, title="SMA 200", color=color.blue)

// === Signal Markers ===
plotshape(longCond,  title="Buy Signal",  location=location.belowbar, color=color.green, style=shape.triangleup,   size=size.small)
plotshape(shortCond, title="Sell Signal", location=location.abovebar, color=color.red,   style=shape.triangledown, size=size.small)