O recurso está a ser carregado... Carregamento...

Estratégia de acompanhamento da volatilidade do cisne negro e da média móvel

Autora:ChaoZhang, Data: 2024-12-13 11:52:51
Tags:EMASMAATR

img

Resumo

Esta estratégia é um sistema de negociação de rastreamento de impulso baseado na volatilidade dos preços e nos crossovers da média móvel. Ela desencadeia sinais monitorando a volatilidade dos preços superior a 1,91% (eventos do Cisne Negro) e combina crossovers EMA144 e EMA169 para confirmar a direção da tendência e o tempo de saída. A estratégia é particularmente adequada para negociações de curto prazo em prazos de 1-3 minutos, capaz de capturar rapidamente oportunidades significativas de volatilidade do mercado.

Princípio da estratégia

A lógica central consiste em dois componentes principais:

  1. Monitoramento da volatilidade: Calcula a diferença absoluta entre os preços de fechamento e de abertura em relação ao preço de fechamento, desencadeando sinais de negociação quando este rácio excede 1,91%.
  2. Confirmação de tendência: usa cruzamento EMA144 e EMA169 para confirmar a direção da tendência, indo longo em cruzes ascendentes e curto em cruzes descendentes.

A estratégia entra em posições longas quando detecta volatilidade ascendente superior a 1,91% e posições curtas para volatilidade descendente.

Vantagens da estratégia

  1. Resposta rápida: A estratégia capta rapidamente os movimentos acentuados do mercado, ideal para negociações de curto prazo.
  2. Controlo de riscos: utiliza os crossovers da média móvel como sinais de saída para gerir eficazmente o risco de posição.
  3. Alta flexibilidade: permite a personalização do período de backtesting e o ajuste de parâmetros para otimizar para diferentes condições de mercado.
  4. Gestão abrangente de posições: utiliza percentagem de capital da conta para dimensionamento de posições e suporta até 3 vezes a escala de pirâmide.

Riscos estratégicos

  1. Risco de Falsa Breakout: Pode gerar sinais falsos em mercados altamente voláteis, levando a operações desnecessárias.
  2. Risco de deslizamento: As operações a curto prazo podem enfrentar perdas significativas de deslizamento.
  3. Risco de reversão da tendência: possibilidade de reversões rápidas da tendência após uma volatilidade extrema.
  4. Sensibilidade dos parâmetros: o desempenho da estratégia é altamente dependente das configurações dos parâmetros, exigindo ajustes frequentes em diferentes condições de mercado.

Orientações de otimização

  1. Incorporar o filtro de volatilidade: Recomenda-se a adição do indicador ATR para filtrar o ruído do mercado e melhorar a qualidade do sinal.
  2. Otimize o tempo de entrada: considere adicionar a confirmação de volume para melhorar a precisão da entrada.
  3. Ajuste dinâmico dos parâmetros: Sugerir o desenvolvimento de um sistema de parâmetros adaptativo para ajustar automaticamente os limiares de desencadeamento com base nas condições do mercado.
  4. Mecanismo de stop-loss reforçado: Recomendar a adição de uma funcionalidade de stop-loss para proteger melhor os lucros acumulados.

Resumo

Esta estratégia atinge uma resposta rápida às anomalias do mercado e à tendência seguinte, combinando o monitoramento da volatilidade com cruzamento de médias móveis.


/*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='平多')




Relacionados

Mais.