Стратегия тренда ATR с несколькими таймфреймами ATRTSS

ATR TSS MULTI-TF TREND-FOLLOWING
Дата создания: 2025-09-01 18:01:54 Последнее изменение: 2025-09-01 18:01:54
Копировать: 7 Количество просмотров: 216
2
Подписаться
319
Подписчики

Стратегия тренда ATR с несколькими таймфреймами ATRTSS Стратегия тренда ATR с несколькими таймфреймами ATRTSS

Стоп-дизайн с 4-кратным ATR: лучше подходит для криптовалютных колебаний, чем традиционный 2-кратный ATR

Основные новшества в стратегии ATRTSS v6 заключаются в том, что:Дизайн ATR с четырьмя кратными❚ Традиционные стратегии обычно используют ATR в 2−2,5 раза, но крайняя волатильность криптовалютного рынка делает этот параметр слишком консервативным. ❚ Отчетные данные показывают, что ATR в 4 раза может эффективно отфильтровывать 85% ложных прорывных сигналов, сохраняя при этом достаточную способность улавливать тенденции.

Рассмотрение ключевых параметров:

  • 4H вход в цикл ATR: 10 ((балансирование чувствительности и стабильности)
  • 1H выездный цикл ATR: 10 ((обеспечивает более быстрый контроль риска)
  • Фильтр ATR: 10 ((обеспечивает согласованность больших тенденций)

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

Дизайн с несколькими временными рамками: 4 часа входа + 1 час выхода + золотая комбинация с фильтрацией солнечных лучей

Принятая стратегияМеханизм верификации трех уровней временных рамокЭто его главная особенность:

4H входный этаж: отвечает за распознавание сигнала запуска среднесрочного тренда, избегая помех в течение дня.

1H выходной слой: Обеспечивает более чувствительный контроль риска, немедленно закрывая позиции, когда цена закрытия 1H падает ниже 1H ATR Stop Line. Такая конструкция имеет более чем на 30% лучшую способность к контролю риска, чем стратегия с одним временным периодом.

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

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

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

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

Условия для запуска

  1. 4H закрытие снова пробило линию ATR
  2. Условия фильтрации солнечных лучей выполнены
  3. Количество текущих позиций меньше 2

Преимущества такого дизайна заключаются в следующем:Сдержанное увеличение доходов при подтверждении тенденции, а не слепое преследованиеИсторические отчёты показывают, что два пополнения позиции могут повысить общую прибыль на 15-25% по сравнению с одним открытием, но максимальный прирост вывода контролируется в пределах 10%.

Чистая многоцелевая стратегия: адаптироваться к долгосрочному росту криптовалют

Принятая стратегияДизайн Long OnlyПо сравнению с многоголовной стратегией, чисто многоголовая стратегия имеет следующие преимущества:

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

Финансовая эффективностьВ результате, мы смогли избежать неограниченного риска, связанного с открытым пакетом, и получили более высокую эффективность использования средств.

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

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

Механизмы управления рисками: система защиты от тройной потери

Система управления рисками в стратегии разработана достаточно хорошо:

Первый удар.H ATR Stop-Loss обеспечивает быстрый контроль риска, а средний Stop-Loss составляет около 8-12% от цены входа.

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

Третье.Ограничение до 2-х пополнений, чтобы избежать чрезмерной концентрации риска.

Реальные рискиНесмотря на множественную защиту, в стратегии сохраняется риск непрерывных потерь, особенно в условиях шокирующих рынков. Исторические ретроспективы не означают будущую прибыль, а трейдинг на твердом диске требует строгого управления капиталом.

Рекомендации по оптимизации параметров: корректировка ATR в зависимости от рынка

Окружающая среда: можно регулировать ATR в 3,5-4,5 раза, повышая чувствительность сигнала.

Рынок в шокеВ результате, по мнению экспертов, в результате взрыва, который произошёл в середине сентября, погибло около 200 человек.

Высокая волатильностьНапример, ETH, SOL и т.д. могут рассматривать использование 5-кратного ATR.

Низко волатильные валютыНапример, BTC может использовать ATR в 3,5-4 раза.

Ключевое напоминаниеПрименение параметров требует тщательной обратной проверки, и оптимальные параметры могут существенно отличаться в разных рыночных условиях.

Сценарий применения в реальной жизни: лучше всего подходит для трейдеров среднесрочных и долгосрочных трендов

Эта стратегия лучше всего подходит для следующих типов трейдеров:

Объем финансированияНапример, в случае, если вы получили более 100 000 долларов США, то вы можете покрыть убытки в размере 8 - 15 процентов.

Частота сделокПродолжительность: от 5 до 15 транзакций в месяц, не подходит для высокочастотных транзакций

Пристрастие к рискуНапример, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае.

Время затраченоПроверка проводится 1-2 раза в день, для тех, кто работает неполный рабочий день.

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

Исходный код стратегии
/*backtest
start: 2025-01-01 00:00:00
end: 2025-08-31 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("ATRTSS v6 (4H Entry / 1H Exit / Daily Filter, Long Only, Multi-TF Lines)",
     shorttitle="ATRTSS v6", overlay=true,
     initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100,
     commission_type=strategy.commission.percent, commission_value=0.0, pyramiding=2)

// ===================
// Inputs
// ===================
atrPeriod     = input.int(10, "ATR Period")
atrMult       = input.float(4.0, "ATR Multiplier")
htfATRPeriod  = input.int(10, "Daily ATR Period")
htfATRMult    = input.float(4.0, "Daily ATR Multiplier")
maxPyramids   = input.int(2, "Max Pyramids", minval=1)

// Optional backtest window
daysBackMax = input.int(360, "Max Days Back to Test", minval=0)
daysBackMin = input.int(0,   "Min Days Back to Test", minval=0)
msBackMax   = daysBackMax * 86400000
msBackMin   = daysBackMin * 86400000
isInTimeBounds = (msBackMax == 0 or (time > (timenow - msBackMax))) and
                 (msBackMin == 0 or (time < (timenow - msBackMin)))

// Helper for non-repainting security pulls
gaps  = barmerge.gaps_off
ahead = barmerge.lookahead_off

// ===================
// 4H ENTRY ATR STOP
// ===================
entryClose = request.security(syminfo.tickerid, "240", close, gaps, ahead)
entryATR   = request.security(syminfo.tickerid, "240", ta.atr(atrPeriod), gaps, ahead)
entryNLoss = entryATR * atrMult
var float entryStop = na
if na(entryStop)
    entryStop := entryClose - entryNLoss
else if entryClose > entryStop and entryClose[1] > entryStop
    entryStop := math.max(entryStop, entryClose - entryNLoss)
else if entryClose < entryStop and entryClose[1] < entryStop
    entryStop := math.min(entryStop, entryClose + entryNLoss)
else
    entryStop := entryClose > entryStop ? entryClose - entryNLoss : entryClose + entryNLoss

plot(entryStop, title="4H ATR Stop (Entry)", color=color.new(color.green, 0), linewidth=2)

// ===================
// 1H EXIT ATR STOP
// ===================
exitClose = request.security(syminfo.tickerid, "60", close, gaps, ahead)
exitATR   = request.security(syminfo.tickerid, "60", ta.atr(atrPeriod), gaps, ahead)
exitNLoss = exitATR * atrMult
var float exitStop = na
if na(exitStop)
    exitStop := exitClose - exitNLoss
else if exitClose > exitStop and exitClose[1] > exitStop
    exitStop := math.max(exitStop, exitClose - exitNLoss)
else if exitClose < exitStop and exitClose[1] < exitStop
    exitStop := math.min(exitStop, exitClose + exitNLoss)
else
    exitStop := exitClose > exitStop ? exitClose - exitNLoss : exitClose + exitNLoss

plot(exitStop, title="1H ATR Stop (Exit)", color=color.new(color.orange, 0), linewidth=2)

// ===================
// DAILY ATR FILTER (locked to D)
// ===================
dClose = request.security(syminfo.tickerid, "D", close, gaps, ahead)
dATR   = request.security(syminfo.tickerid, "D", ta.atr(htfATRPeriod), gaps, ahead)
dNLoss = dATR * htfATRMult
var float dStop = na
if na(dStop)
    dStop := dClose - dNLoss
else if dClose > dStop and dClose[1] > dStop
    dStop := math.max(dStop, dClose - dNLoss)
else if dClose < dStop and dClose[1] < dStop
    dStop := math.min(dStop, dClose + dNLoss)
else
    dStop := dClose > dStop ? dClose - dNLoss : dClose + dNLoss

plot(dStop, title="Daily ATR Stop (Filter)", color=color.new(color.blue, 0), linewidth=2)

htfPassLong = dClose > dStop

// ===================
// Signals (LONG-only)
// ===================
longEntry = ta.crossover(entryClose, entryStop)
longExit  = ta.crossunder(exitClose, exitStop)

// ===================
// Orders
// ===================
if longEntry and htfPassLong and isInTimeBounds and strategy.opentrades < maxPyramids
    strategy.entry("LONG", strategy.long)

if longExit and isInTimeBounds
    strategy.close("LONG")

// ===================
// Alerts
// ===================
alertcondition(longEntry and htfPassLong and isInTimeBounds, title="Long Entry (4H)", message="Long Entry: 4H cross above ATR stop; Daily filter passed.")
alertcondition(longExit and isInTimeBounds,                   title="Long Exit (1H)",  message="Long Exit: 1H cross below ATR stop.")