Estratégia de maximização de lucro seguindo tendências


Data de criação: 2023-10-11 14:38:40 última modificação: 2023-10-11 14:38:40
cópia: 2 Cliques: 593
1
focar em
1617
Seguidores

Visão geral

A estratégia determina a direção da tendência atual através do cálculo da média móvel e do CHANNEL de diferença padrão do preço, formando um trajeto ascendente e descendente dinâmico, e combinando o valor médio do preço mais alto com o preço mais baixo para formar um trajeto intermediário. A estratégia de negociar de acordo com a mudança de tendência é realizada quando o preço se move para cima e para baixo quando o preço se move para baixo.

Princípio da estratégia

  1. Calcule a base de média móvel simples de 20 dias de close como a base intermédia
  2. Calculando a diferença padrão de 20 dias de close dev como base para a distância entre as trajectórias ascendentes e descendentes
  3. Base da órbita central ± 2*Dev define upper e lower tracks
  4. Base 2 é calculado como a média dos preços mais altos (upper2) e mais baixos (lower2) nos últimos 20 dias.
  5. As duas medianas acima tomam o valor médio de MB como a mediana final.
  6. Quando o close é maior do que o MB da trajectória média, é um sinal de alta, quando o MB é maior do que o close é um sinal de baixa
  7. Faça mais curvas de acordo com os sinais, para obter lucro com o seguimento da tendência

Análise de vantagens

  1. Utiliza o canal de diferença padrão dinâmico para capturar rapidamente as tendências de mudança de preços
  2. A combinação de informações sobre os preços mais altos e mais baixos faz com que a trajetória central seja mais relevante.
  3. O design de dupla central permite maior precisão e fiabilidade do sinal.
  4. A estratégia é simples, clara e fácil de entender.
  5. Menos parâmetros configuráveis para todos os tipos de cenários de mercado

Análise de Riscos

  1. Quando se trata de uma ruptura de um negócio de cima ou de baixo, é necessário considerar uma estratégia de parada de perdas para controlar a perda individual.
  2. A frequência de transações pode ser mais elevada, sendo necessário considerar o impacto das comissões
  3. Parameters como os parâmetros de intervalo precisam ser cuidadosamente otimizados para evitar overfitting
  4. A tendência é de que os mercados de ações e de ações alternativas se tornem cada vez mais competitivos.
  5. O que é necessário é uma boa gestão de fundos e não uma alavancagem excessiva.

Direção de otimização

  1. Considerar a possibilidade de aumentar as condições de filtragem para evitar falsas rupturas durante a subida e descolagem
  2. Pode-se definir um stop loss exit dinâmico baseado em indicadores como o ATR
  3. Informações sobre o volume de transações podem ser combinadas para verificar a confiabilidade do sinal de ruptura.
  4. Pode ser otimizado para parâmetros como o ciclo de computação, adaptando-se a mais ambientes de mercado
  5. Pode-se considerar o estabelecimento de um número de posições abertas para controlar o risco de perda individual

Resumir

A estratégia é clara e fácil de entender, capta a tendência através do canal dinâmico e, em combinação com o design de múltiplos meios de comunicação, gera sinais de negociação, que permitem efetivamente acompanhar a direção da tendência e obter melhores retornos de negociação. Na aplicação prática, é necessário prestar atenção à estratégia de stop loss, à gestão de fundos e à otimização de parâmetros para obter ganhos estáveis a longo prazo.

Código-fonte da estratégia
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 4h
basePeriod: 15m
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/
// © ErdemDemir

//@version=4
strategy("Lawyers Trend Pro Strategy", shorttitle="Lawyers Trend Pro Strategy", overlay=true)

src = close
mult = 2.0
basis = sma(src, 20)
dev = mult * stdev(src, 20)
upper = basis + dev
lower = basis - dev
offset = 0


lower2 = lowest(20)
upper2 = highest(20)
basis2 = avg(upper2, lower2)


MB= (basis+basis2)/2





col1=close>MB
col3=MB>close
colorE = col1 ? color.blue : col3 ? color.red : color.yellow
p3=plot(MB, color=colorE, linewidth=3)

// Deternine if we are currently LONG
isLong = false
isLong := nz(isLong[1], false)

// Determine if we are currently SHORT
isShort = false
isShort := nz(isShort[1], false)

// Buy only if the buy signal is triggered and we are not already long
buySignal = not isLong and crossover(close,MB)

// Sell only if the sell signal is triggered and we are not already short
sellSignal= not isShort and crossover(MB,close)
if (buySignal)
    isLong := true
    isShort := false

if (sellSignal)
    isLong := false
    isShort := true







/// LONG
strategy.entry("long", true , when = buySignal, comment="Open Long")

strategy.close("long", when=sellSignal, comment = "Close Long")

/// SHORT
strategy.entry("short", false,  when = sellSignal, comment="Open Short")

strategy.close("short", when=buySignal, comment = "Close Short")