
Стратегия подтверждения DMI, которая отслеживает тренды многомерных отклонений, представляет собой комплексную торговую систему, которая сочетает в себе многоциклические простые движущиеся средние ((SMA), индикаторы направленного движения ((DMI) и идентификацию модели ценового отклонения для захвата низкорисковых точек входа в трендовые рынки. Основная идея этой стратегии заключается в том, чтобы войти в установленную тенденцию, ожидая, когда цена откликнется после отклонения к критической равновесии, и одновременно использовать индикатор DMI для подтверждения направления тенденции и создать полный механизм контроля риска путем установления стоп-лоудов с помощью движения точек.
Эта стратегия основана на взаимодействии нескольких ключевых компонентов:
Система множественной равнолинейности: Стратегия использует простые движущиеся средние по 5 различным периодам ((9/20/50/100/200) для определения структуры рынка. Из них 20-дневная и 200-дневная средние линии являются основными инструментами определения тенденций.
Анализ склонности средней линии: путем вычисления 20-дневных и 200-дневных средних линий наклонности за последние 5 циклов ((slope20 и slope200), подтверждение силы и направления тренда. Положительная наклонность означает восходящую тенденцию, отрицательная наклонность означает нисходящую тенденцию.
Отношение цены к средней: стратегия требует, чтобы позиция цены в зависимости от ключевой средней линии ((20 и 200 дней) соответствовала направлению тренда ((в случае, если цены находятся выше средней линии, в случае, если цены находятся ниже средней линии).
Равнолинейный ряд: в условиях многого голова требуется, чтобы 20-дневная средняя линия находилась над 200-дневной средней линией; в условиях пустого головы наоборот.
Механизм возвращения:
DMI направление подтверждено: использование индикатора DMI ((периодичность 14) для подтверждения направления тренда:
Стоп-стоп в колебаниях:
Множественная фильтрацияС помощью системы равнолинейной системы, равнолинейного уклона, многочисленных условий, таких как положение цены и подтверждение DMI, эффективно уменьшается количество ложных сигналов и повышается точность торгов.
Возвращение в игруСтратегия ожидания, пока цена не вернется к критической средней линии, обеспечивает более высокий риск-возвращение, чем прямая охота за падением.
Тенденции подтвержденыТрехкратная проверка позиции средней линии, расположения средней линии и скольжения средней линии, чтобы гарантировать торговлю только в сильных тенденциях и избежать частого трейдинга на колеблющихся рынках.
Определенные стратегии по ликвидации убытков: использование колебательных точек в качестве стоп-позиции, этот метод основан на структуре рынка, а не на произвольно установленных процентах, что в большей степени соответствует логике функционирования рынка.
Подтверждение показателей DMIДобавление показателя DMI в качестве дополнительного инструмента подтверждения тенденций, что дополнительно фильтрует сигналы высокой неопределенности.
Визуальные торговые сигналыСтратегия: Сигналы о покупке и продаже отображаются с помощью четких визуальных знаков, которые помогают трейдерам быстро идентифицировать торговые возможности.
Отставание в определении обратной тенденцииПоскольку стратегия опирается на равнолинейную систему, в точке перехода тренда может быть задержка, что приводит к несвоевременному входу или входу в конце тренда.
Риск ложного проникновенияВ некоторых странах, например, в Китае, цены могут быть более высокими, чем средние, но в некоторых странах, например, в Китае, они могут быть более высокими.
Параметры оптимизации: Стратегия включает в себя несколько параметров (например, среднелинейный период, период скольжения, период DMI и т. д.), различные рынки и временные рамки могут требовать различных параметров.
Ограничения рыночной средыЭта стратегия работает лучше на рынках с четкой тенденцией, но может привести к более убыточным сделкам на рынках с горизонтальной колебательностью.
Слишком высокий риск стоп-ложаСтоп-стратегия, основанная на колебаниях, может привести к чрезмерному уровню стоп-убытков в условиях резкой волатильности рынка, что неблагоприятно сказывается на управлении капиталом.
Недостаточное управление рисками“Однако, поскольку в этой стратегии отсутствуют механизмы динамического торможения, это может привести к тому, что уже полученная прибыль будет отброшена”.
Добавление параметров адаптации: может быть введен механизм адаптации, чтобы скорректировать среднелинейный цикл и период скольжения в зависимости от динамики волатильности рынка, чтобы стратегия лучше адаптировалась к различным рыночным условиям.
Добавить фильтр колебаний: внедрение ATR или индикатора волатильности для корректировки стратегии в условиях чрезмерной или чрезмерной волатильности рынка или приостановки торговли.
Совершенствование механизма сдерживанияДобавление сдерживающих механизмов, основанных на структуре рынка или целевом рисково-доходном соотношении, таких как подвижные сдерживающие механизмы, частичные сдерживающие механизмы и т. д., для лучшей защиты полученной прибыли.
Идентификация рыночной средыВключение индикатора интенсивности тренда или алгоритма классификации состояния рынка для автоматического снижения позиций или приостановки торговли на горизонтальном рынке.
Подтверждение входа в полеМожно рассмотреть возможность увеличения подтверждения количества сделанных сделок или подтверждения форматирования диаграмм, повышения надежности входящего сигнала.
Оптимизация управления капиталом: Динамически корректируйте размер позиции в зависимости от ATR или других показателей волатильности, чтобы контролировать рисковые выходы в различных волатильных условиях.
Анализ многовременных рамокВведение более высоких временных рамок для подтверждения тенденций и обеспечения согласованности направления торговли с тенденциями более высокого уровня.
Стратегия подтверждения 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)