Estratégia de canal de regressão linear

Autora:ChaoZhang, Data: 2024-01-17 11:41:16
Tags:

img

Resumo

A estratégia do canal de regressão linear é uma estratégia de negociação de curto prazo baseada em análise de regressão linear e indicadores de média móvel.

Estratégia lógica

A estratégia do canal de regressão linear baseia-se principalmente em dois indicadores:

  1. Canal de regressão linear: o intervalo de canal calculado por análise de regressão linear. A estratégia define uma linha de regressão linear de 55 dias para representar a tendência de longo prazo dos preços. Ao mesmo tempo, calcula o limite superior do canal, representando a área de temperatura mais alta dos preços.

  2. Hull Moving Average: Um indicador de rastreamento de tendências semelhante a uma média móvel com uma duração de 400 dias é utilizado para determinar a tendência geral e a direção dos preços.

A lógica específica de negociação é a seguinte:

Quando o preço estiver abaixo do limite superior do canal e abaixo da média móvel Hull de 400 dias, vá longo; quando o preço subir acima do ponto médio da regressão linear, feche a posição para obter lucros.

Isto permite-lhe comprar mínimos durante as consolidações e sacar lucro quando os preços voltarem a entrar no canal de tendência de alta.

Análise das vantagens

Esta estratégia tem as seguintes vantagens:

  1. O canal de regressão linear pode julgar com mais precisão o calor dos preços e a direção da tendência a longo prazo, evitando entradas cegas em mercados agitados.

  2. A média móvel do Hull filtra o ruído do mercado a curto prazo, tornando o calendário de entrada mais claro.

  3. A estratégia tem uma frequência relativamente baixa de operações e um menor risco de retirada de capital.

  4. Os pontos de lucro são claros, e os retornos decentes podem muitas vezes ser capturados nas tendências de médio e curto prazo.

Análise de riscos

A estratégia do canal de regressão linear também apresenta alguns riscos:

  1. Em um mercado de alta, o canal de regressão linear pode achatar ou diminuir ligeiramente, perdendo oportunidades de compra.

  2. No caso de uma reversão importante causada por um evento inesperado, o stop loss pode ser atingido, incorrendo em uma grande perda.

  3. Se o pullback for muito profundo e quebrar a linha Hull MA, pode falhar em obter lucro na saída.

  4. Redução do ciclo de regressão linear para aumentar a frequência de negociação.

Optimização

A estratégia do canal de regressão linear pode ser otimizada nos seguintes aspectos:

  1. Ajustar dinamicamente os parâmetros do canal de regressão linear para aproximar o canal das flutuações reais dos preços.

  2. Otimizar os parâmetros MA do casco para determinar melhor os pontos de inversão da tendência.

  3. Estabelecer pontos de stop-loss no canal para controlar efetivamente o risco de perda única.

  4. Adicionar indicadores de volatilidade para evitar a abertura de posições em mercados voláteis.

  5. Combinar indicadores de volume de negociação para determinar breakouts reais.

Resumo

Em geral, a estratégia do canal de regressão linear é uma estratégia relativamente robusta de tendência. Ela evita o ruído do mercado e entra na direção certa quando as tendências começam. Ao otimizar parâmetros e combinar indicadores, os riscos de negociação podem ser reduzidos e a lucratividade melhorada. Esta estratégia é adequada para a detenção de médio a longo prazo sem a necessidade de negociação frequente.


/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 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/
// © TradingAmmo

//@version=4
strategy("Linear Channel", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),  1, 1,  0, 0)
_testPeriod() => true

//linreg
length = input(55)
linreg = linreg(close, length, 0)
plot(linreg, color=color.white) 

//calc band
Value = input(-2)
sub = (Value/100)+1
Band2 = linreg*sub
plot(Band2, color=color.red)

//HMA as a filter
HMA = input(400, minval=1)  
plot(hma(close, HMA), color=color.purple)  

long_condition = close <  Band2  and hma(close, HMA) < close and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition =  close > linreg
strategy.close('BUY', when=short_condition)


Mais.