Uma oportunidade de avanço duplo na nuvem, média móvel, tendência seguindo estratégia


Data de criação: 2023-12-12 16:11:09 última modificação: 2023-12-12 16:11:09
cópia: 0 Cliques: 548
1
focar em
1621
Seguidores

Uma oportunidade de avanço duplo na nuvem, média móvel, tendência seguindo estratégia

Visão geral

A estratégia de acompanhamento de tendências de linha reta é uma estratégia de acompanhamento de tendências baseada em um gráfico de nuvem de indicadores de popularidade. A estratégia usa a linha de giro de um gráfico de nuvem para enviar sinais de compra e venda com antecedência, permitindo a captura antecipada da tendência.

Princípio da estratégia

A estratégia baseia-se principalmente nos seguintes pontos:

  1. Construir um mapa de nuvens usando a linha de conversão e a linha de referência e mapeá-la em 26 ciclos de deslocamento.

  2. Quando o preço de fechamento quebra a trajetória do gráfico da nuvem, um sinal de compra é emitido; Quando o preço de fechamento cai abaixo da trajetória do gráfico da nuvem, um sinal de venda é emitido.

  3. Para filtrar brechas falsas, é necessário que o preço de fechamento atual quebre simultaneamente os valores máximos e mínimos da linha de conversão e da linha de referência.

  4. A linha de stop loss é definida como 5% do preço de entrada e pode ser desligada.

Com este tipo de filtragem múltipla, pode-se identificar de forma eficiente os pontos de mudança de tendência e capturar novas oportunidades de negociação em tempo hábil. Ao mesmo tempo, um rigoroso filtro de ruptura também pode reduzir a emissão de falsos sinais.

Vantagens estratégicas

A estratégia tem as seguintes vantagens:

  1. A linha de inversa de um gráfico de nuvem tem características antecipadas, permitindo a captura de uma mudança de tendência mais cedo.
  2. A fusão foi determinada de forma uniforme, evitando a falsa ruptura causada por lacunas noturnas.
  3. A filtragem de condições múltiplas pode reduzir os falsos sinais e melhorar a qualidade do sinal.
  4. Operação de longa linha, retroceder relativamente pequeno, fácil de encontrar a posição de parada.
  5. Pode ser usado em diferentes variedades, especialmente para variedades de tendência.

Risco estratégico

A estratégia também apresenta os seguintes riscos:

  1. O mercado de tendência é mais adaptável, o mercado de liquidação aumenta os falsos sinais.
  2. A configuração de parâmetros de um gráfico de nuvem pode afetar o resultado e precisa ser otimizada para diferentes variedades.
  3. A configuração de parada de danos deve ser feita com cuidado, para evitar que seja bloqueada.
  4. A frequência do sinal é baixa e é fácil perder oportunidades de ligações curtas.

O risco pode ser reduzido através das seguintes medidas:

  1. Escolha variedades com tendências óbvias e evite trocar variedades.
  2. Otimizar os parâmetros de um gráfico de nuvem para determinar a melhor combinação de parâmetros para diferentes períodos.
  3. O uso de stop loss móvel ou stop loss atempado para controlar a perda individual.
  4. Pode ser combinado com outros indicadores para aumentar a frequência de liberação do sinal.

Otimização de Estratégia

A estratégia também pode ser melhorada nos seguintes aspectos:

  1. Adicionar mecanismos de gerenciamento de posições através de operadores como:strategy.position_sizeControlar a taxa de construção de armazéns.

  2. Aumentar a filtragem de variedadessecurity()Filtragem de variedades, identificação automática de tendências.

  3. Aumentar a estratégia de parada de perda, configurando uma parada móvel ou parcial para controlar ainda mais o risco.

  4. Combinação com outros indicadores, como linhas de Brin, RSI, etc., para construir um sistema de negociação de indicadores múltiplos e melhorar a qualidade do sinal.

  5. Aplicar métodos de aprendizagem de máquina para determinar a confiabilidade dos sinais de compra e venda através de treinamento e ajustar dinamicamente o número de pedidos.

Resumir

A estratégia de acompanhamento de tendências de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha de linha

Código-fonte da estratégia
/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 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/
// © QuantCT

//@version=4
strategy("Ichimoku Cloud Strategy Idea",
         shorttitle="Ichimoku", 
         overlay=true,
         pyramiding=0,     
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=99, 
         initial_capital=1000,           
         commission_type=strategy.commission.percent, 
         commission_value=0.1)

// ____ Inputs

conversion_period = input(9, minval=1, title="Conversion Line Period")
base_period = input(26, minval=1, title="Base Line Period")
lagging_span2_period = input(52, minval=1, title="Lagging Span 2 Period")
displacement = input(26, minval=1, title="Displacement")
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)

// ____ Logic

donchian(len) => avg(lowest(len), highest(len))

conversion_line = donchian(conversion_period)
base_line = donchian(base_period)
lead_line1 = avg(conversion_line, base_line)
lead_line2 = donchian(lagging_span2_period)
chikou = close

chikou_free_long = close > high[displacement] and close > max(lead_line1[2 * displacement], lead_line2[2 * displacement])
enter_long = chikou_free_long and close > max(lead_line1[displacement], lead_line2[displacement])
exit_long = close < lead_line1[displacement] or close < lead_line2[displacement]

chikou_free_short = close < low[displacement] and  close < min(lead_line1[2 * displacement], lead_line2[2 * displacement])
enter_short = chikou_free_short and close < min(lead_line1[displacement], lead_line2[displacement])
exit_short = close > lead_line1[displacement] or close > lead_line2[displacement]

strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long) 
if (not long_only)
    strategy.entry("Short", strategy.short, when=enter_short)
    strategy.close("Short", when=exit_short) 

// ____ SL

sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
    strategy.exit(id="SL", from_entry="Long", stop=sl_long)
    strategy.exit(id="SL", from_entry="Short", stop=sl_short)

// ____ Plots

colors = 
 enter_long ? #27D600 :
 enter_short ? #E30202 :
 color.orange
 
p1 = plot(lead_line1, offset = displacement, color=colors,
	 title="Lead 1")
p2 = plot(lead_line2, offset = displacement, color=colors,
	 title="Lead 2")
fill(p1, p2, color = colors)
plot(chikou, offset = -displacement, color=color.blue)