Sistema de negociação de nível de suporte dinâmico de quadro de tempo duplo

SMA EMA
Data de criação: 2024-12-05 16:44:56 última modificação: 2024-12-05 16:44:56
cópia: 0 Cliques: 366
1
focar em
1617
Seguidores

Sistema de negociação de nível de suporte dinâmico de quadro de tempo duplo

Visão geral

A estratégia é um sistema de negociação de posições de suporte dinâmico baseado em dois quadros horários, que é negociado através de sinais de cruzamento entre as linhas SMA e EMA combinadas em quadros horários horários e diários. O sistema utiliza o suporte que se forma entre as linhas de equilíbrio para identificar tendências de mercado e oportunidades de negociação, aumentando a precisão da negociação por meio da confirmação de sinais em dois períodos de tempo diferentes. A estratégia usa uma abordagem de gerenciamento de posição percentual e considera os custos de negociação e os fatores de deslizamento.

Princípio da estratégia

O princípio central da estratégia é determinar os sinais de negociação através da monitorização da relação entre a interseção e a posição da linha de equilíbrio em dois períodos de tempo:

  1. Período longo (periodic) com SMA de 20 semanas e EMA de 21 semanas, período curto (periodic) com SMA de 50 dias e EMA de 51 dias
  2. Em períodos longos, quando a EMA atravessa a SMA para cima, gera um sinal de multiplicação, e quando atravessa a SMA para baixo, gera um sinal de equilíbrio
  3. Em períodos curtos, um sinal de multiplicação é produzido quando a EMA atravessa a SMA para cima e a EMA de períodos curtos está acima da EMA de períodos longos
  4. Quando ocorrem sinais de curto-circuito ou de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito de curto-circuito
  5. A estratégia funciona em um intervalo de tempo definido para além do intervalo de liquidação automática

Vantagens estratégicas

  1. Mecanismo de confirmação múltipla: confirmação de sinais com dois períodos de tempo, reduzindo o impacto de sinais falsos
  2. Faixa de suporte dinâmica: a faixa de suporte formada entre as linhas de equilíbrio permite a adaptação dinâmica às mudanças do mercado
  3. Gerenciamento de risco perfeito: Inclui considerações de custos de transação e pontos de deslizamento, usando gerenciamento de posição percentual
  4. Adaptável: A sustentação ajusta-se automaticamente com as flutuações do mercado
  5. Regras de operação claras: condições de entrada e saída claras, fáceis de executar e de retroceder

Risco estratégico

  1. Risco de mercado de choque: Falso sinal frequente em mercados de choque horizontal
  2. Risco de atraso: o indicador de linha média tem um certo atraso, podendo perder o melhor ponto de entrada
  3. Sensibilidade de parâmetros: a escolha do ciclo de linha média tem maior influência no desempenho da estratégia
  4. Dependência do cenário de mercado: a estratégia tem um bom desempenho em mercados de tendência, mas pode ter um mau desempenho em mercados de forte volatilidade
  5. Risco de gestão de fundos: posições em percentagem fixa podem ser demasiado arriscadas em determinadas condições de mercado

Direção de otimização da estratégia

  1. Introdução de indicadores de volatilidade: Considere adicionar indicadores de volatilidade como o ATR para ajustar dinamicamente o tamanho da posição
  2. Seleção de parâmetros de otimização: o desempenho do sistema pode ser otimizado por meio da retrospecção de parâmetros de linha média de diferentes períodos de tempo
  3. Aumentar a filtragem de cenários de mercado: adicionar indicadores de intensidade de tendência para filtrar cenários de mercado inadequados
  4. Melhorar o mecanismo de stop loss: considerar a adição de stop loss móvel ou stop loss fixo para controlar ainda mais o risco
  5. Gestão de posição optimizada: pode ajustar o tamanho da posição de forma dinâmica de acordo com a intensidade do sinal e as flutuações do mercado

Resumir

A estratégia de construir um sistema de negociação relativamente estável através da combinação de sinais de cruzamento uniforme em diferentes períodos de tempo. Identificar as tendências do mercado através do conceito de support band, usar mecanismos de confirmação múltipla para aumentar a precisão de negociação. O design da estratégia considera vários fatores na negociação real, incluindo custos de negociação, deslizamento e gestão de tempo.

Código-fonte da estratégia
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Demo GPT - Bull Market Support Band", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.1, slippage=3)

start_date = input(timestamp("2018-01-01 00:00 +0000"), title="Start Date")
end_date = input(timestamp("2069-12-31 00:00 +0000"), title="End Date")

lsmaLength = input.int(20, title="Long SMA Length", minval=1)
lemaLength = input.int(21, title="Long EMA Length", minval=1)
customLongTimeframe = input.timeframe("W", title="Long Timeframe")  // Khung thời gian dài
ssmaLength = input.int(50, title="Short SMA Length", minval=1)
semaLength = input.int(51, title="Short EMA Length", minval=1)
customShortTimeframe = input.timeframe("D", title="Short Timeframe")  // Khung thời gian ngắn

source = close

// Tính toán SMA và EMA cho khung thời gian dài
smaLong = ta.sma(source, lsmaLength)
emaLong = ta.ema(source, lemaLength)
outSmaLong = request.security(syminfo.tickerid, customLongTimeframe, smaLong)
outEmaLong = request.security(syminfo.tickerid, customLongTimeframe, emaLong)

// Tính toán SMA và EMA cho khung thời gian ngắn
smaShort = ta.sma(source, ssmaLength)
emaShort = ta.ema(source, semaLength)
outSmaShort = request.security(syminfo.tickerid, customShortTimeframe, smaShort)
outEmaShort = request.security(syminfo.tickerid, customShortTimeframe, emaShort)

// Plot các chỉ báo trên biểu đồ
smaPlotLong = plot(outSmaLong, color=color.new(color.red, 0), title='20w SMA (Long)')
emaPlotLong = plot(outEmaLong, color=color.new(color.green, 0), title='21w EMA (Long)')
smaPlotShort = plot(outSmaShort, color=color.new(color.red, 0), title='20d SMA (Short)')
emaPlotShort = plot(outEmaShort, color=color.new(color.green, 0), title='21d EMA (Short)')

// Fill vùng giữa các đường SMA và EMA
fill(smaPlotLong, emaPlotLong, color=color.new(color.orange, 75), fillgaps=true)
fill(smaPlotShort, emaPlotShort, color=color.new(color.orange, 75), fillgaps=true)

// Điều kiện long và short cho khung thời gian dài
longConditionLong = ta.crossover(outEmaLong, outSmaLong)
shortConditionLong = ta.crossunder(outEmaLong, outSmaLong)

// Điều kiện long và short cho khung thời gian ngắn
longConditionShort = ta.crossover(outEmaShort, outSmaShort) and (outEmaShort > outEmaLong)
shortConditionShort = ta.crossunder(outEmaShort, outSmaShort) and (outEmaShort > outEmaLong) // Điều kiện short khi EMA ngắn hạn cắt xuống dưới SMA ngắn hạn và EMA ngắn hạn cao hơn EMA dài hạn

// Kiểm tra điều kiện trong khoảng thời gian được chỉ định
inDateRange = true

// Nếu khung ngắn hạn xuất hiện tín hiệu short, ưu tiên đóng tất cả các lệnh Long
if shortConditionShort and inDateRange
    strategy.close_all()

// Nếu khung dài có tín hiệu short, đóng tất cả các lệnh Long
if shortConditionLong and inDateRange
    strategy.close_all()

// Nếu khung ngắn hạn có tín hiệu long và không có tín hiệu short từ khung dài, vào lệnh Long
if longConditionShort and not shortConditionLong and not shortConditionShort and inDateRange
    strategy.entry("Long", strategy.long)

// Đóng tất cả các lệnh khi không trong khoảng thời gian được chọn
if not inDateRange
    strategy.close_all()