Indicador de tendência principal longo

Autora:ChaoZhang, Data: 2024-02-19 11:15:57
Tags:

img

Resumo

A estratégia do Major Trend Indicator Long (MTIL) é projetada para uso em vários instrumentos financeiros, incluindo criptomoedas como BTCUSD e ETHUSD, bem como ações tradicionais como AAPL.

Estratégia lógica

A estratégia MTIL utiliza parâmetros otimizados para calcular os preços mais altos e mais baixos dentro de períodos de retrospectiva definidos.

Especificamente, ele primeiro deriva os preços mais altos e mais baixos em determinados períodos. Estes são então suavizados usando regressão linear com diferentes coeficientes. Isso resulta na criação de limites superiores e inferiores. Quando os preços mais altos suavizados quebram a faixa superior, os preços mais baixos suavizados quebram a faixa inferior, e a regressão linear de curto prazo dos preços de fechamento está acima da do longo prazo - um sinal de alta é gerado.

Análise das vantagens

A estratégia MTIL tem as seguintes vantagens:

  1. Utiliza técnicas de suavização dupla para a identificação de tendências com maior precisão
  2. Data de início do backtest personalizável para testar o desempenho histórico
  3. Parâmetros adaptáveis às preferências comerciais individuais
  4. Pode ser combinado com uma estratégia curta para análise de vários prazos

Análise de riscos

A estratégia MTIL comporta igualmente os seguintes riscos:

  1. Riscos de negociação de tendências com possibilidade de perdas aumentadas
  2. Ajuste inadequado dos parâmetros que conduz a oportunidades perdidas ou sinais errados
  3. Necessidade de contabilizar os custos de negociação para evitar negociações excessivamente frequentes

Alguns riscos podem ser mitigados através de ajustamento de parâmetros, stop loss, controlo dos custos comerciais, etc.

Orientações de otimização

A estratégia MTIL pode ser otimizada nas seguintes dimensões:

  1. Combinações de ensaio de diferentes parâmetros de período para encontrar o óptimo
  2. Incorporar a confirmação preço-volume para evitar falsos sinais
  3. Adição de outros indicadores para validar ainda mais a dinâmica e os movimentos intradiários para reforçar a confirmação do sinal
  4. Estabelecimento de regras de stop loss e take profit para limitar a baixa versus bloquear os lucros

Conclusão

O MTIL é uma estratégia lateral longa que utiliza técnicas de regressão linear para detectar as principais tendências. Através do ajuste de parâmetros, ele pode ser adaptado em vários ambientes de mercado. Quando combinado com uma estratégia lateral curta, ele oferece uma análise mais abrangente.


/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jensenvilhelm


//@version=5
strategy("Major Trend Indicator Long", shorttitle='MTIL', overlay = true)

startDate = timestamp("2001 06 18")
// Sets the start date for the strategy.

// Optimized parameters
length_high = 5
length_low = 5
linReg_st = 3
linReg_st1 = 23
linReg_lt = 75
// Defines key parameters for the strategy.

X_i = ta.highest(high, length_high)
Y_i = ta.lowest(low, length_low)
// Calculates the highest and lowest price values within the defined lookback periods.

x_y = ta.linreg(X_i + high, linReg_st1, 1)
y_x = ta.linreg(Y_i + low, linReg_lt, 1)
// Applies linear regression to smoothed high and low prices.

upper = ta.linreg(x_y, linReg_st1, 6)
lower = ta.linreg(y_x, linReg_st1, 6)
// Determines upper and lower bounds using linear regression.

upperInside = upper < y_x and upper > x_y
lowerInside = lower > y_x and lower < x_y
y_pos = (upper + lower) / 4

X_i1 = ta.highest(high, length_high)
Y_i1 = ta.lowest(low, length_low)

bull = x_y > upper and y_x > lower and ta.linreg(close, linReg_st, 1) > ta.linreg(close, linReg_lt, 5)
// Defines a bullish condition based on linear regression values and price bounds.

plotshape(series=(bull) ? y_pos : na, style=shape.circle, location=location.absolute, color=color.rgb(41, 3, 255, 40), size=size.tiny)

if (time >= startDate)
    if (bull)
        strategy.entry("Long", strategy.long)
    if not (bull)
        strategy.close("Long")
// Controls the strategy's execution based on the bullish condition and the start date.


Mais.