Estratégia de rastreamento de volatilidade do cisne negro e crossover de média móvel

EMA SMA ATR
Data de criação: 2024-12-13 11:52:51 última modificação: 2024-12-13 11:52:51
cópia: 0 Cliques: 458
1
focar em
1617
Seguidores

Estratégia de rastreamento de volatilidade do cisne negro e crossover de média móvel

Visão geral

Esta estratégia é um sistema de negociação de rastreamento de dinâmica baseado na amplitude de flutuação dos preços e no cruzamento das linhas médias. A estratégia é desencadeada principalmente por sinais de flutuação anormal com taxa de flutuação de preços superior a 1,91% (“eventos de black swan”), enquanto combina os cruzados de EMA144 e EMA169 para confirmar a direção da tendência e o tempo de saída. A estratégia é especialmente adequada para negociações de curto período de 1 a 3 minutos, capazes de capturar rapidamente oportunidades de forte flutuação do mercado.

Princípio da estratégia

A lógica central da estratégia consiste em duas partes principais:

  1. Monitoramento de volatilidade: mede a volatilidade dos preços, calculado o diferencial absoluto entre o preço de fechamento e o preço de abertura em relação ao preço de fechamento, e aciona um sinal de negociação quando esse índice é superior a 1,91%
  2. Confirmação de tendência: usa-se o cruzamento de EMA144 e EMA169 para confirmar a direção da tendência, o cruzamento para cima faz mais e o cruzamento para baixo faz menos. Também é introduzido o SMA60 e o SMA20 como indicadores auxiliares.

A estratégia é executada quando detecta uma flutuação superior a 1,91% para cima, e é executada quando detecta uma flutuação para baixo. Quando a linha de equilíbrio é invertida, a estratégia é automaticamente liquidada para controlar o risco.

Vantagens estratégicas

  1. Resposta rápida: A estratégia capta as fortes flutuações do mercado em tempo hábil, especialmente para negociações de curto prazo.
  2. Controle de risco: controle efetivo do risco de posse através do cruzamento da linha média como sinal de posição sem risco.
  3. Alta flexibilidade: as estratégias permitem ajustes de intervalos de tempo de retorno e de parâmetros, que podem ser otimizados de acordo com diferentes condições de mercado.
  4. Perfeito gerenciamento de posições: controle de posições com porcentagem de valor líquido da conta e suporte de acréscimo de posição em pirâmide de até 3 vezes.

Risco estratégico

  1. Risco de Falso Breakout: Pode haver falsos sinais em mercados de alta volatilidade, resultando em negociações desnecessárias.
  2. Risco de deslizamento: a estratégia pode ter grandes perdas de deslizamento devido ao seu funcionamento em curto período de tempo.
  3. Risco de reversão de tendência: a possibilidade de uma reversão rápida de tendência após uma forte oscilação.
  4. Sensibilidade de parâmetros: os efeitos da estratégia são sensíveis à configuração de parâmetros e podem precisar de ajustes frequentes em diferentes condições de mercado.

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

  1. Introdução de filtros de taxa de flutuação: recomenda-se o aumento do indicador ATR para filtrar o ruído do mercado e melhorar a qualidade do sinal.
  2. Optimizar o tempo de entrada: Considere a possibilidade de aumentar a confirmação da quantidade de transações para melhorar a precisão da entrada.
  3. Parâmetros de ajuste dinâmico: Recomenda-se o desenvolvimento de um sistema de parâmetros adaptáveis que ajuste automaticamente o limiar de gatilho de acordo com as condições do mercado.
  4. Melhorar o mecanismo de parada de perdas: recomenda-se a adição de um mecanismo de parada de perdas de rastreamento para melhor proteger os lucros já obtidos.

Resumir

A estratégia permite uma resposta rápida e um acompanhamento de tendências para oscilações anormais do mercado, combinando monitoramento de taxa de flutuação e cruzamento de linhas de equilíbrio. A estratégia é projetada de forma razoável e possui um bom mecanismo de controle de risco, mas ainda requer otimização de parâmetros e gerenciamento de risco do comerciante de acordo com as condições reais do mercado.

Código-fonte da estratégia
/*backtest
start: 2024-12-05 00:00:00
end: 2024-12-12 00:00:00
period: 45m
basePeriod: 45m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

//黑天鹅警报器,作者():道格拉斯机器人
//适合1分钟-3分钟的k线,发生波动超过百分之二时,自动报警
strategy('黑天鹅警报', overlay=true, initial_capital=10000, currency='USD', default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, pyramiding=3)
//-------------------------------------------
//-------------------------------------------
timecondition = timeframe.period == '480' or timeframe.period == '240' or timeframe.period == 'D' or timeframe.period == '720'
// Make input options that configure backtest date range
startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31)
startMonth = input.int(title='Start Month', defval=11, minval=1, maxval=12)
startYear = input.int(title='Start Year', defval=2018, minval=1800, maxval=2100)
endDate = input.int(title='End Date', defval=1, minval=1, maxval=31)
endMonth = input.int(title='End Month', defval=11, minval=1, maxval=12)
endYear = input.int(title='End Year', defval=2031, minval=1800, maxval=2100)
// Look if the close time of the current bar
// falls inside the date range
inDateRange = time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0) and time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0)



// Inputs
a = input(1, title='Key Vaule. \'This changes the sensitivity\'')
c = input(10, title='ATR Period')
h = input(false, title='Signals from Heikin Ashi Candles')


ma60 = ta.sma(close, 60)
ema144 = ta.ema(close, 144)

ema169 = ta.ema(close, 169)
ma20 = ta.sma(close, 20)


plot(ema144, color=color.new(color.yellow, 0), title='144')
plot(ema169, color=color.new(color.orange, 0), title='169')


heitiane = close - open
heitiane := math.abs(heitiane)
heitiane /= close

if inDateRange and heitiane > 0.0191 and close < open  //  and close>f3
    strategy.entry('botsell20', strategy.short, comment='黑天鹅追空' + str.tostring(heitiane))

if ta.crossover(ema144, ema169)
    strategy.close('botsell20', comment='平空')
if inDateRange and heitiane > 0.0191 and close > open  //  and close>f3
    strategy.entry('botbuy20', strategy.long, comment='白天鹅追多' + str.tostring(heitiane))

if ta.crossunder(ema144, ema169)
    strategy.close('botbuy20', comment='平多')