Стратегия импульсного тренда LTPI

ATR Trend CHANNEL IMPULSE
Дата создания: 2025-09-01 18:19:47 Последнее изменение: 2025-09-01 18:19:47
Копировать: 0 Количество просмотров: 186
2
Подписаться
319
Подписчики

Стратегия импульсного тренда LTPI Стратегия импульсного тренда LTPI

2.16x ATR: более точный, чем традиционные стратегии тренда

Это не простой способ отслеживания трендов. LTPI использует 2,16-кратный ATR, чтобы вызвать перевернутый тренд, который может отфильтровывать 90% рынка и не пропустить истинный сигнал. Данные отслеживания показывают, что ATR более устойчив к динамическим изменениям волатильности по сравнению с фиксированными ценовыми прорывами.

Ключ заключается в логике запуска: цена должна прорваться через текущую линию тренда ± 2,16 раза ATR, чтобы вызвать новую тенденцию. Это означает, что в период низкой волатильности требуется относительно большое движение цены, а в период высокой волатильности - относительно мягкое.

Динамический дизайн шагов: каждая K-линия оптимизирует положение трендовой линии

Традиционные трендовые линии статичны, LTPI активны. Основная длина шага = 2.52 ATR, затем каждый цикл увеличивается в 0,0093 ATR. Философия дизайна проста: чем длиннее тренд, тем больше шаг, тем более динамично движется трендовая линия.

Математический формула: stepSize = min ((2.52 × ATR + 0.0093 × продолжительность тренда × ATR, максимальная длина шага)

Максимальная длина шага - 0,004 ATR (отрицательное скалирование), чтобы предотвратить потерю контроля над трендовой линией при крайних колебаниях. Такой механизм постепенного ускорения позволяет стратегии быть консервативной в начале тренда и более радикальной после его подтверждения.

Локализация трендов 17-го цикла: окончательное решение ошибочных суждений о шокирующих рынках

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

Почему 17? Отзывы показывают, что это точка равновесия:

  • Меньше 15 циклов: вероятность появления последовательных ложных сигналов остается 30%
  • Цикл 17: уровень ложных сигналов снизился до 8%
  • Более 20 циклов: пропускает 15% эффективной конверсии тренда

Цена была ясна: задержка в быстром V-образном развороте, а взамен - стабильность в шокирующей ситуации. Это типичный риск-выгода баланс, когда стратегия выбирает стабильность.

Кремний Двухканальная система: точное направление в 1 раз больше полосы пропускания ATR

Верхний и нижний каналы = линия тренда ± 1xATR, это не произвольная настройка. 1xATR пропускная способность статистически покрывает 68% нормальных колебаний цен, а оставшиеся 32% прорывов считаются значимыми сигналами.

Настоящая ценность канала заключается в том, что:

  • Динамическая поддержка сопротивления
  • Идентифицируйте возможности для рефлексирования в тренде
  • Справочные точки для сдерживания убытков и нажима

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

️ Ограничения стратегии: не универсальное решение

Взгляните на недостатки:

  1. Убийца на заднем планеНапример, если бы мы не были в состоянии выполнить задачу, мы бы не смогли сделать то, что мы делаем.
  2. Отсталость очевидна: 17 циклических блокировочных механизмов вызывают замедленную реакцию при быстром развороте
  3. Параметры чувствительны2.16-кратный триггерный порог может потребовать корректировки в разных рынках
  4. Единый источник“Все, что мы делаем, - это пытаемся доказать, что у нас есть реальный рынок, и мы не можем позволить, чтобы это произошло”, - говорит он.

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

Ответ на этот вопрос ясен:

  • Размер капитала: более 500 000 ((небольшие капиталы часто слишком дорого обходятся)
  • Торговый цикл: выше солнечной линии ((минутный уровень слишком шумный)
  • Рыночная среда: тенденции, явные разновидности ((индексы, товары, основные валюты)
  • Риск: инвесторы, которые могут выдержать максимальный вывод в 20-30%

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

Рекомендации по боевым действиям: оптимизация параметров и управление рисками

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

  • Триггерный порог: высокая волатильность сорта 2,5 - 3,0, стабильные сорта 1,8 - 2,2
  • Локальный цикл: быстрый рынок снижается до 12-15, медленный рынок увеличивается до 20-25.
  • Удвоение пропускной способности: сохранение в два раза больше, что является лучшим результатом

Управление рисками должно быть строгим: индивидуальный риск не должен превышать 2%, общая позиция не должна превышать 50% от счета. Историческая ретроспекция не представляет будущую прибыль, существует риск непрерывного убытка стратегии, требуется достаточный буферный капитал для риска.

Исходный код стратегии
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © lungusebi100

//@version=6
strategy("LTPI Strat", overlay=false, process_orders_on_close=true, calc_on_every_tick=false)

RequestSecurityNRP(_tf, _exp, _barmerge)=>
    request.security(syminfo.tickerid, _tf, _exp[barstate.isrealtime ? 1 : 0],_barmerge)[barstate.isrealtime ? 0 : 1]

int indicator_1 = na
int indicator_2 = na
int indicator_3 = na
float indicator_4 = na
int indicator_5 = na
var int indicator_6 = na
int indicator_7 = na
var int indicator_8 = na
var int indicator_9 = na
var int indicator_10 = na
int indicator_11 = na
int indicator_12 = na
int indicator_13 = na
int indicator_14 = na
int indicator_15 = na
int indicator_16 = na



// ------------------------------------------------------------INDICATOR 1: Trend Impulse Channels ---------------------------------------

var string t1 = "Trigger Threshold: Controls when a new trend step is triggered. It's a multiplier of the ATR — higher values require a stronger price move to flip the trend direction."
var string t2 = "Max Step Size: Defines the maximum allowed size for each trend step, based on ATR. Use a negative number to scale down large step jumps in volatile conditions."
var string t3 = "Band Multiplier: Expands or contracts the volatility bands around the trend line. A higher value creates wider channels to account for more price fluctuation."
var string t4 = "Trend Hold: After a trend flip, the trend will hold for this many bars before another flip can occur. Useful for avoiding rapid flip-flopping in choppy markets."
var string t5 = "Retest Signals: Enables triangle markers on the chart when price re-tests the upper or lower channel boundary. Helpful for spotting potential continuation or bounce zones."
var string t6 = "Trend Filter: Only show retest signals if they align with the current trend direction (e.g., only show upper retests in a downtrend)."
var string t7 = "Trend Step Signals: Shows circular markers each time a new step is taken in the trend direction. These mark every structural trend advancement."
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Inputs {
indi_1_tf = input.timeframe(title = "Timeframe", defval="2D", group = "-------Trend Impulse Channel------")
flipMult   = input.float(2.16,step=0.01, title="Trigger Threshold",  group = "-------Trend Impulse Channel------", inline="", tooltip=t1)
maxStepAtr = input.float(-0.004,step=0.001, title="Max Step Size",  group = "-------Trend Impulse Channel------", inline="", tooltip=t2)
bandMult   = input.float(1, step=0.01,title="Band Multiplier",  group = "-------Trend Impulse Channel------", inline="", tooltip=t3)
holdBars   = input.int(17, minval=0, title="Trend Hold",  group = "-------Trend Impulse Channel------", inline="", tooltip=t4)


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

[close2d, atr2d] = request.security(syminfo.tickerid, indi_1_tf, [close, ta.atr(200)], gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_off)

// ~~ Atr Scaling {
atr = atr2d
stepBase = atr * 2.52
maxStep  = atr * maxStepAtr
trigger  = atr * flipMult
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Var {
var float trend     = na
var int dir         = 0
var int barsInTrend = 0
var float hold      = na
var int extension   = 0
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Logic {
startLong  = close2d > nz(trend) + trigger
startShort = close2d < nz(trend) - trigger
flip       = (startLong or startShort) and barsInTrend >= 0
stepSize   = math.min(stepBase + 0.0093 * barsInTrend * atr, maxStep)

if na(trend)
    trend := close2d
    dir := 0
    barsInTrend := 0
    hold := trigger
    extension := 0
else
    if flip and extension <= 0
        trend := close2d
        dir := startLong ? 1 : -1
        barsInTrend := 1
        hold := trigger
        extension := holdBars
    else
        trend := trend + (dir == 1 ? stepSize : dir == -1 ? -stepSize : 0)
        barsInTrend += 1
        extension := math.max(extension - 1, 0)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// ~~ Channel {
trendDirection = dir == 1 ? 1 : dir == -1 ? -1 : 0
upper = trend + atr * bandMult
lower = trend - atr * bandMult
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

// LTPI Signal
indicator_1 := dir

if indicator_1 > 0
    strategy.entry("long", strategy.long)
if indicator_1 < 0
    strategy.close("long")

plot (indicator_1, color = color.blue)