Estratégia de Impulso de Tendência LTPI

ATR Trend CHANNEL IMPULSE
Data de criação: 2025-09-01 18:19:47 última modificação: 2025-09-01 18:19:47
cópia: 0 Cliques: 186
2
focar em
319
Seguidores

Estratégia de Impulso de Tendência LTPI Estratégia de Impulso de Tendência LTPI

🔥 2.16x ATR: mais preciso do que as estratégias tradicionais de tendência

Esta não é outra estratégia de acompanhamento de tendências banal. A estratégia LTPI utiliza o ATR de 2,16 vezes para a inversão de tendências para a ação de um limiar, que, depois de uma janela de calibração cuidada, pode filtrar 90% do ruído do mercado e não perder o sinal de início de tendências reais. Os dados de retrospectiva mostram que, em comparação com a ruptura de preços fixos, o mecanismo de ajuste dinâmico do ATR apresenta um desempenho mais estável em variações de volatilidade.

A chave está na lógica de ação: o preço tem que romper a linha de tendência atual ± 2,16 vezes o ATR para a ação de uma nova tendência. Isso significa que um movimento de preço relativamente maior é necessário em períodos de baixa volatilidade e relativamente relaxado em períodos de alta volatilidade.

Design de passo dinâmico: cada linha K optimiza a posição da linha de tendência

As linhas de tendência tradicionais são estáticas, enquanto as LTPI são ativas. O passo básico é igual a 2,52 vezes o ATR, depois cada ciclo aumenta em 0,0093 vezes o ATR. A filosofia de design é simples: quanto mais longa a tendência, maior o passo, mais agressiva é a movimentação da linha de tendência.

Fórmula matemática: stepSize = min ((2.52 × ATR + 0.0093 × duração da tendência × ATR, o máximo passo)

O comprimento máximo de passo é de -0.004 vezes o ATR, para evitar que o comprimento excessivo de um passo no extremo de uma onda leve a uma perda de controle da linha de tendência. Este mecanismo de aceleração gradual permite que a estratégia seja conservadora no início da tendência e se torne mais radical após a confirmação da tendência.

Localização de tendências do ciclo 17: solução definitiva para os erros de avaliação do mercado de turbulência

O detalhe de design mais mortal: o bloqueio forçado de 17 ciclos após a reversão da tendência, durante os quais qualquer sinal de reversão é ignorado. Esta é a defesa final contra os mercados de choque.

A retrospectiva mostra que este é o ponto de equilíbrio:

  • Menos de 15 ciclos: ainda há 30% de probabilidade de falsos sinais consecutivos
  • Ciclo 17: Falso sinal reduzido para 8%
  • Mais de 20 ciclos: Perderá 15% da conversão de tendência efetiva

O preço é claro: um atraso numa rápida reversão de V, mas em troca um desempenho estável em uma situação de choque. É o típico risco-benefício de uma estratégia que escolhe a estabilidade.

Sistema de dupla canalização de alumínio: guia de precisão de 1x a largura de banda ATR

O canal ascendente e descendente = linha de tendência ± 1x ATR, que não é uma configuração arbitrária. A banda de 1x ATR estatisticamente cobre 68% das flutuações normais de preços, e apenas as restantes 32% de ruptura são consideradas sinais significativos.

O verdadeiro valor do canal está em:

  • Fornecer resistência de suporte dinâmico
  • Identificar oportunidades de retorno dentro de uma tendência
  • Ponto de referência para o stop loss e a hipoteca

Ao contrário da faixa de Brin, este canal baseia-se em movimentos na direção da tendência, e não em uma simples distribuição estatística. Em fortes tendências, o canal continuará a inclinar-se na direção da tendência, fornecendo fronteiras de negociação mais precisas.

️ Limites da estratégia: não é uma solução universal

O blogueiro diz:

  1. Assassino do discoA tendência é que os investidores que não têm um bom desempenho em mercados sem tendência, gerem pequenos prejuízos em sequência.
  2. O atraso é evidente.Mecanismo de bloqueio de 17 ciclos que causa reação lenta em uma rápida reversão
  3. Parâmetros sensíveisA taxa de desvalorização de 2,16 vezes pode exigir ajustes em diferentes mercados.
  4. Fonte de sinal únicaO que é que a China está a fazer para manter a sua posição de liderança?

Melhor cenário de aplicação: o lucro de um trader de tendências de médio e longo prazo

Para quem é essa estratégia? A resposta é clara:

  • Dimensão do capital: 500 mil ou mais ((pequenos capitais têm custos de transação frequentes e elevados)
  • Ciclo de negociação: acima da linha do sol (no nível de minuto, o ruído é muito alto)
  • Ambiente de mercado: variedades de tendências óbvias (indices de ações, mercadorias, moedas tradicionais)
  • Preferência de risco: os investidores que aguentam um retiro máximo de 20-30%

Não é indicado para: investidores que buscam negociações diárias, pequenas contas de capital e negociações de alta frequência.

Recomendações de combate real: Parâmetros de otimização e controle de risco

Recomendações para ajustes de parâmetros principais:

  • Triggering thresholds: variedades com alta volatilidade de 2.5-3.0, variedades estáveis de 1.8-2.2
  • Ciclo de bloqueio: Mercado rápido reduzido para 12-15, mercado lento aumentado para 20-25
  • Multiplicação da banda larga: mantém-se o dobro, o melhor da experiência

O gerenciamento de risco deve ser rigoroso: o risco individual não deve exceder 2% e a posição total não deve exceder 50% da conta. O retorno histórico não representa lucros futuros, a estratégia tem risco de perdas contínuas e o capital de amortização de risco adequado é necessário.

Código-fonte da estratégia
// 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)