
Интеллектуальная стратегия динамического наращивания запасов, основанная на сетчатке с подвижной средней линией, включает покупку, когда цена падает ниже сетчатки, и постепенно контролирует риск. Стратегия поддерживает до восьми покупок, имеет период охлаждения между покупками и устанавливает остановку на основе средней цены входа или на основе контроля риска.
Основная идея стратегии заключается в том, чтобы покупать, когда цена возвращается к подвижному среднему поясу, что обычно представляет собой короткосрочную зону перепродажи, а затем получать прибыль, когда цена возвращается к верхней полосе, а также устанавливать разумные остановки для контроля риска. Эта стратегия использует в полной мере характеристики колебаний цен, снижает среднюю стоимость за счет многократных покупок в группах и подходит для использования в условиях высокой волатильности рынка.
Основные принципы этой стратегии основаны на следующих ключевых компонентах:
Вычисление сетевого пояса подвижной средней:
Условия приема:
Условия игры:
Управление позицией:
Оценка тенденций:
Постепенное снижение риска: Эта стратегия использует постепенный метод наращивания позиций, а не покупки всех позиций за один раз, что эффективно распределяет риск входа. С помощью возможности наращивания позиций до 8 раз, в нисходящем тренде постоянно снижается средняя стоимость, что повышает вероятность окончательной прибыли.
Автоматизированные механизмы входа и выхода: Стратегия автоматически определяет точки входа и выхода на основе четких технических показателей, что уменьшает эмоциональные торговые решения, вызванные субъективными суждениями.
Гибкая настройка параметров: Стратегия предлагает множество регулируемых параметров, включая длину линии, процент смещения, коэффициент остановочных потерь и период охлаждения покупок, которые могут быть оптимизированы в зависимости от различных рыночных условий.
Умение распознавать тенденции: Стратегия идентифицирует тренды, определяя направление базовой линии, а также соответствующим образом ослабляет условия покупки в восходящих тенденциях, повышая гибкость и адаптивность стратегии.
Волатильность: Особенно подходит для применения в высоко волатильных рынках, способных эффективно использовать колебания цен для нажима и получения прибыли. Чем больше волатильность, тем выше потенциальная прибыль стратегии.
Риск изменения тренда: В условиях сильной нисходящей тенденции цены могут продолжаться, в результате чего после нескольких пополнений они по-прежнему будут иметь убытки. Несмотря на то, что установлены механизмы сдерживания убытков, в экстремальных ситуациях они могут вызвать большие убытки.
Параметр Чувствительность: Стратегическая эффективность сильно зависит от параметров, и в разных рыночных условиях может потребоваться различная комбинация параметров. Неправильная параметровая настройка может привести к чрезмерной торговле или пропущенным торговым возможностям.
Финансовые потребности: Поскольку стратегия допускает максимум восемь покупок, необходимо иметь достаточно средств, чтобы поддерживать многократные пополнения, если рынок будет продолжать падать, что может быть выше, чем может позволить себе небольшой счет.
Риск в период охлаждения: Неправильная настройка охлаждающего периода может привести к тому, что вы упустите важные возможности для покупки, или слишком рано наберетесь в неуместное время.
Остановка риска: Если стоп-процент устанавливается слишком высоко, возможно, вы упустите возможность получить прибыль; если он установлен слишком низко, возможно, будет ограничено потенциальное пространство для получения прибыли.
Настройка параметров динамической пакетной сети: Можно рассмотреть возможность автоматической корректировки пакетной полосы в зависимости от рыночной волатильности, используя меньшее смещение в низко-волатильных рынках и большое смещение в высоко-волатильных рынках. Таким образом, можно лучше адаптироваться к различным рыночным условиям.
Добавление более сложных фильтров тенденций: В настоящее время стратегия использует простую базовую линию для определения направления тренда, можно рассмотреть возможность добавления более сложных трендовых индикаторов (например, MACD, ADX и т. д.) для повышения точности определения тренда и избежания преждевременной покупки в сильном нисходящем тренде.
Движущийся механизм остановки: Можно изменить фиксированный процентный стоп-лост на динамический механизм корректировки, основанный на волатильности рынка, например, на установку уровня стоп-лоста на основе ATR (средняя реальная волнота).
Оптимизация управления капиталом: Можно реализовать динамическое распределение позиций, а не фиксированную сумму за каждую покупку. Например, можно использовать меньшую долю средств при первой покупке и постепенно увеличивать сумму покупки по мере того, как цена продолжает падать.
Добавить фильтр времени: Подумайте о добавлении фильтрации на основе времени, избегайте торговли в периоды низкой активности рынка или определите наиболее выгодные периоды торговли на основе исторических статистических данных.
Интеллектуальная динамическая стратегия наращивания риска с помощью постепенного повышения цены - это систематизированный метод торговли, который сочетает в себе технический анализ и управление рисками. Эта стратегия идентифицирует потенциальные возможности покупки с помощью мобильной сети наращивания риска с помощью постепенного повышения риска для снижения средней стоимости и установления четких правил контроля риска.
Эта стратегия особенно подходит для использования на рынках с высокой волатильностью, чтобы эффективно использовать колебания цен для создания возможностей для получения прибыли. В то же время, есть много возможностей для улучшения этой стратегии с помощью оптимизации параметров и добавления дополнительных фильтров. Однако пользователям необходимо следить за рисками стратегии, особенно за риском продолжающихся потерь, которые могут возникнуть в условиях сильной нисходящей тенденции, убедиться, что есть достаточно средств для поддержки многократных пополнений, и корректировать параметры в зависимости от различных рыночных условий.
В целом, эта стратегия обеспечивает систематизированную торговую структуру, сочетающую элементы отслеживания тенденций и ретроспективного трейдинга, снижает эмоциональное принятие решений с помощью четких правил и способствует формированию дисциплинированных торговых привычек. Для трейдеров, стремящихся к стабильной отдаче на волатильных рынках, это выбор стратегии, который стоит рассмотреть.
/*backtest
start: 2024-05-14 00:00:00
end: 2025-05-12 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("SmartScale Envelope DCA",
overlay=true,
pyramiding=8,
default_qty_type=strategy.cash,
default_qty_value=25, // Order size = $25 CAD
initial_capital=200, // Initial capital = $200 CAD
currency=currency.CAD) // Base currency = CAD
// === Inputs
len = input.int(13, title="Envelope Length", minval=1)
percent = input.float(6.6, title="Envelope % Offset", step=0.1) / 100
src = input(close, title="Source")
exponential = input(false)
stopLossPctInput = input.float(15.0, title="Stop Loss %", minval=0.1, step=0.1)
takeProfitPctInput = input.float(5.0, title="Take Profit % from Avg Entry", minval=0.1, step=0.1)
cooldown = input.int(7, title="Candles Between Buys") // moved to bottom
stopLossPct = stopLossPctInput / 100
takeProfitPct = takeProfitPctInput / 100
maxBuys = 8 // Hardcoded max buy-ins
// === Envelope Calculation
basis = exponential ? ta.ema(src, len) : ta.sma(src, len)
upper = basis * (1 + percent)
lower = basis * (1 - percent)
// === Limit Backtest to Last 365 Days
startDate = timestamp("GMT-5", year(timenow), month(timenow), dayofmonth(timenow)) - 365 * 24 * 60 * 60 * 1000
inDateRange = time >= startDate
// === State Tracking
var float avgEntryPrice = na
var float lastBuyPrice = na
var int buyCount = 0
var int lastBuyBar = na
// === Trend Detection
isUptrend = basis > basis[1]
// === Entry Conditions
lowBelowLower = low < lower
cooldownPassed = na(lastBuyBar) or (bar_index - lastBuyBar >= cooldown)
belowAvgEntry = na(avgEntryPrice) or close < avgEntryPrice
lowerThanLastBuy = na(lastBuyPrice) or close < lastBuyPrice
allowBuyIn = (belowAvgEntry and lowerThanLastBuy) or isUptrend
highAboveUpper = high > upper
// === Exit Conditions
sellCondition = not na(avgEntryPrice) and close >= avgEntryPrice * (1 + takeProfitPct)
stopLossTriggered = not na(avgEntryPrice) and close <= avgEntryPrice * (1 - stopLossPct)
// === Buy Logic
if inDateRange and lowBelowLower and cooldownPassed and buyCount < maxBuys and allowBuyIn and (na(lastBuyPrice) or close <= lastBuyPrice)
buyCount += 1
strategy.entry("Buy in " + str.tostring(buyCount), strategy.long)
lastBuyBar := bar_index
lastBuyPrice := close
avgEntryPrice := na(avgEntryPrice) ? close : (avgEntryPrice * (buyCount - 1) + close) / buyCount
// === Sell Logic
if strategy.position_size > 0 and highAboveUpper and sellCondition
strategy.close_all(comment="Take Profit")
avgEntryPrice := na
buyCount := 0
lastBuyBar := na
lastBuyPrice := na
// === Stop Loss Logic
if strategy.position_size > 0 and stopLossTriggered
strategy.close_all(comment="Stop Loss Hit")
avgEntryPrice := na
buyCount := 0
lastBuyBar := na
lastBuyPrice := na
// === Plot Envelope
plot(basis, "Basis", color=color.orange)
u = plot(upper, "Upper", color=color.blue)
l = plot(lower, "Lower", color=color.blue)
fill(u, l, color=color.rgb(33, 150, 243, 95), title="Envelope Background")
// === Plot Avg Entry Price
plot(strategy.position_size > 0 and not na(avgEntryPrice) ? avgEntryPrice : na,
title="Avg Entry Price",
color=color.rgb(173, 195, 226),
linewidth=2,
style=plot.style_line)