Estratégia de rastreamento de tendência de quebra de linha dupla, cruz dourada e cruz da morte


Data de criação: 2024-02-22 16:01:12 última modificação: 2024-02-22 16:01:12
cópia: 1 Cliques: 563
1
focar em
1617
Seguidores

Estratégia de rastreamento de tendência de quebra de linha dupla, cruz dourada e cruz da morte

Visão geral

A estratégia binária de rastreamento de tendências é uma estratégia de negociação quantitativa para rastrear tendências usando simultaneamente a resistência de suporte e a média móvel como sinais alternativos. A estratégia considera integralmente os sinais de resistência de suporte e de resistência de tendências de tendências em diferentes períodos de tempo.

Princípio da estratégia

A estratégia consiste em quatro partes principais:

  1. Linha de suporte de 30 dias
  2. Linha de resistência com o ponto mais alto de 30 semanas
  3. 10o Método Média Móvel Simples, usado para confirmar sinais de negociação de filtragem de tendências
  4. Percorrendo o módulo Identification, identifique oportunidades de negociação em que o preço ultrapassa resistências de suporte importantes

Concretamente, a estratégia usa primeiro a função Security para obter os preços mais altos e mais baixos de 30 dias e 30 semanas, definindo uma linha de suporte e uma linha de resistência dinâmica, respectivamente. Em seguida, os sinais de golden fork e de dead fork combinados com a média móvel de 10 dias são usados para filtrar as oportunidades de negociação.

A estratégia leva em consideração a resistência ao suporte da linha média curta e da linha longa, capturando grandes oportunidades de tendência. A combinação de médias móveis permite filtrar os sinais errados da tendência de oscilação.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Ao mesmo tempo, o uso de pontos de resistência de suporte de linhas médias curtas e longas pode capturar brechas mais significativas.
  2. Aumentar a filtragem da média móvel para controlar efetivamente as perdas e evitar a produção de sinais errados durante a oscilação.
  3. A atualização dinâmica suporta a resistência e permite a captação de novas tendências em tempo hábil.
  4. A implementação de um mecanismo de parada de perdas com gestão de risco ajuda a garantir o lucro.

Análise de Riscos

A estratégia também apresenta alguns riscos que devem ser lembrados:

  1. As estratégias de ruptura exigem maior controle do tempo de negociação e são suscetíveis a problemas de antecipação ou atraso.
  2. A falha de resistência de suporte pode gerar sinais errados e grandes perdas.
  3. A média móvel, por si só, está atrasada em relação ao preço e pode ter perdido o ponto de mudança de tendência.
  4. Os investidores com um capital pequeno não são adequados para os investidores com um risco maior de retirada.

Resolução:

  1. Adaptação apropriada da lógica de reconhecimento de ruptura para introduzir mais condições de filtragem.
  2. Aumentar os parâmetros de periodicidade da média móvel para garantir que o sinal só seja produzido quando a tendência se estabiliza.
  3. Estabeleça um ponto de parada razoável para controlar as perdas individuais

Direção de otimização

A estratégia ainda tem espaço para ser melhorada:

  1. Tente combinar os indicadores de volatilidade, como o ATR, para determinar um limite de parada mais razoável.
  2. Adição de modelos de aprendizagem de máquina para determinar a invalidez de pontos de resistência de suporte crítico.
  3. A utilização de médias móveis adaptadas para capturar a reversão da tendência mais rapidamente.
  4. Adaptação e otimização de parâmetros para diferentes variedades.

Resumir

A estratégia de rastreamento de tendências de Binary Breakout Gold Fork Dead Fork, considerando integralmente o nível de resistência de suporte da linha média e longa e o indicador de média móvel como sinal de negociação, é uma estratégia de negociação quantitativa mais madura, capaz de filtrar efetivamente o ruído em um contexto de grande tendência. A estratégia ainda tem muito espaço para otimização, pode ser melhorada em termos de mecanismo de parada de perda, auto-adaptação de parâmetros, etc., e também pode tentar introduzir novos métodos, como aprendizado de máquina, para melhorar a robustez da estratégia.

Código-fonte da estratégia
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © neosaid

//@version=5
strategy("Support and resistant Strategy", overlay=true)

// Function to check for breakout
f_breakoutCondition(closingPrice, highestHigh, lowestLow) =>
    closingPrice > highestHigh or closingPrice < lowestLow

// Step 1: 30 Days Trend Line (Lower Lows)
low30Days = request.security(syminfo.tickerid, "D", low)

// Step 2: 30 Weeks Upper Trend Line (Higher Highs)
high30Weeks = request.security(syminfo.tickerid, "W", high)

// Step 3: Trend Line for Lowest Low within the Last Month
var float lowestLowLastMonth = na
for i = 0 to 29
    lowestLowLastMonth := na(lowestLowLastMonth) ? low[i] : math.min(lowestLowLastMonth, low[i])

lowestLowLastMonthValue = lowestLowLastMonth[1]

// Breakout Strategy
highestHighLast3Candles = request.security(syminfo.tickerid, "D", ta.highest(close, 3))
lowestLowLast3Candles = request.security(syminfo.tickerid, "D", ta.lowest(close, 3))

// Additional conditions to filter signals
buyCondition = f_breakoutCondition(close, highestHighLast3Candles, lowestLowLast3Candles) and close > low30Days

sellCondition = f_breakoutCondition(close, highestHighLast3Candles, lowestLowLast3Candles) and close < high30Weeks

// Additional filters to reduce the number of orders
buyFilter = ta.crossover(close, ta.sma(close, 10)) // Buy only when price crosses above a 10-period SMA
sellFilter = ta.crossunder(close, ta.sma(close, 10)) // Sell only when price crosses below a 10-period SMA

buyCondition := buyCondition and buyFilter
sellCondition := sellCondition and sellFilter

// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)

// Strategy entries
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)