Estratégia de média móvel de vantagem duplamente confirmada


Data de criação: 2024-01-23 10:49:57 última modificação: 2024-01-23 10:49:57
cópia: 0 Cliques: 572
1
focar em
1617
Seguidores

Estratégia de média móvel de vantagem duplamente confirmada

Visão geral

Esta estratégia é uma estratégia de acompanhamento de tendências de múltiplos cabeçalhos, que gera um sinal de negociação através da dupla confirmação do indicador Aroon e da média móvel de regressão linear. Esta estratégia é válida para negociação de tendências de linha média e longa.

Princípio da estratégia

Esta estratégia usa o cruzamento do traçado superior e inferior do indicador Aroon para determinar a direção da tendência. Quando o traçado superior se rompe para cima, um sinal de compra é gerado. Quando o traçado superior se rompe para baixo, um sinal de venda é gerado.

Em particular, as regras de geração de sinais de negociação da estratégia são:

  1. Condição de geração de sinal de compra: o carril superior quebra o carril inferior (o indicador Aroon determina que o cruzamento de dois carris forma uma tendência ascendente) e o preço de fechamento do dia é superior à média móvel LSMA (o preço de fechamento está em uma tendência ascendente)

  2. Condições de geração de sinais de venda: a linha de alta cai sobre a linha de baixa ((o indicador Aroon determina que a linha de dupla cruzada forma uma tendência descendente) e o preço de fechamento do dia está abaixo da média móvel LSMA ((o preço de fechamento está em uma tendência descendente)

Vantagens estratégicas

  1. Usar o indicador Aroon para determinar a direção da tendência, evitando interferências de ruído
  2. Adição da média móvel LSMA como condição de filtragem auxiliar para evitar que a falsa ruptura leve a negociações desnecessárias
  3. Faça apenas o dobro, de acordo com o traço ascendente de longo prazo do mercado principal, evitando o risco de perdas ilimitadas causadas por uma falha
  4. A configuração de parâmetros de política é simples e fácil de implementar

Risco estratégico

  1. A estratégia é complicada e dificilmente lucrativa em tempos de turbulência.
  2. Configuração de parâmetros fixos pode causar risco de sobreajuste
  3. Dificuldade em reverter a tendência e perda de tempo

Para evitar riscos, pode-se definir uma estratégia de parada de perdas, ou em combinação com outros indicadores para determinar a hora de reverter a tendência, parar o prejuízo em tempo hábil.

Direção de otimização

  1. Pode-se considerar a inclusão de oportunidades de negociação de curto prazo e pode-se lucrar em situações de queda
  2. Pode testar a eficácia de indicadores com diferentes parâmetros de ciclo
  3. Pode ser adicionado um módulo de aprendizado de máquina para otimizar automaticamente os parâmetros

Resumir

Esta estratégia é, em geral, uma estratégia de acompanhamento de tendências de dupla confirmação mais simples e prática. Usando o Aroon para determinar a direção da tendência e o método de filtragem de ruído LSMA, é simples e direta, e pode obter bons resultados se os parâmetros forem configurados adequadamente.

Código-fonte da estratégia
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 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/
// © exlux99

//@version=4

strategy(title = "Aroon Strategy long only", overlay = true,  pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.1)

//Time
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true

//INPUTS

length = input(15, minval=1, title="Aroon Legnth")
upper = 100 * (highestbars(high, length+1) + length)/length
lower = 100 * (lowestbars(low, length+1) + length)/length

lengthx = input(title="Length LSMA", type=input.integer, defval=20)
offset = 0//input(title="Offset", type=input.integer, defval=0)
src = input(close, title="Source")
lsma = linreg(src, lengthx, offset)


long = crossover(upper,lower) and close > lsma
longexit = crossunder(upper,lower) and close < lsma

if(time_cond)
    strategy.entry("long",1,when=long)
    strategy.close("long",when=longexit)