Estratégia de negociação de grade de recuperação de sobrevenda de grande índice Wavetrend

DCA EMA SMA
Data de criação: 2024-04-25 17:13:39 última modificação: 2024-04-25 17:13:39
cópia: 3 Cliques: 898
1
focar em
1617
Seguidores

Estratégia de negociação de grade de recuperação de sobrevenda de grande índice Wavetrend

Visão geral

A estratégia é baseada no indicador Wavetrend, que estabelece posições de vários líderes quando os preços atingem esses níveis, estabelecendo vários níveis de sobrevenda e sobrevenda, e ganhando lucro com a baixa quando os preços se recuperam para os níveis de sobrevenda. Esta é uma estratégia de negociação de grades que visa capturar o movimento de retorno do mercado acima e abaixo, e é aplicada ao ciclo de 15 minutos de moedas digitais como Bitcoin e Solana.

Princípio da estratégia

  1. Calcule as duas linhas do indicador Wavetrend, uma para o valor original ((wt1)) e outra para o valor de suavização ((wt2)
  2. Configure vários níveis de sobrevenda (oslevels 1-8) e de sobrecompra (Oblevels 1-5)
  3. Quando wt1 e wt2 estão simultaneamente abaixo de um determinado nível de sobrevenda, e wt1 está acima de wt2, a abertura de uma posição multi-cabeça. Quanto mais baixo o nível, mais radical é a abertura de posição.
  4. Quando wt1 e wt2 estão simultaneamente acima do nível de sobrecompra 1, e wt1 está abaixo de wt2, o saldo de 70% da posição de multi-cabeça é eliminado.
  5. Repita os passos 3 e 4 para construir um sistema de transação em grade.

Vantagens estratégicas

  1. Capturar a tendência de rebote de ultrapassar: Obtenha lucros de rebote ao estabelecer vários níveis de ultrapassagem e abrir uma posição após uma queda significativa no preço.
  2. Construção em lotes, controle de risco: De acordo com o nível de super venda, construção em lotes, quanto mais baixo o nível, mais pesado o posicionamento, melhor o controle de risco.
  3. Paragem automática: elimina a maior parte das posições automaticamente quando o preço se reverte para a zona de sobrevenda, bloqueando os lucros.
  4. Parâmetros flexíveis: os níveis de sobrevenda e sobrecompra podem ser ajustados de acordo com as características do mercado e as preferências pessoais, para se adaptar a diferentes variedades e ciclos de negociação.

Risco estratégico

  1. Risco de queda: Se os preços continuarem a cair, isso pode desencadear um aumento dos sinais de abertura de sobrevenda, o que pode levar a que as posições sejam fechadas.
  2. Risco de choque de mercado: se os preços se movem repetidamente em áreas de sobrevenda, isso pode levar a várias aberturas de posições sem a possibilidade de parar, o que enfraquece a eficácia da estratégia.
  3. Risco de parâmetros: diferentes configurações de parâmetros têm um grande impacto sobre o desempenho da estratégia e precisam ser otimizadas com base no feedback e na experiência, ou podem levar a perdas.

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

  1. Adicionar filtro de tendência: antes de abrir uma posição, julgue se a tendência de nível geral está alta, evitando abrir uma posição em uma tendência de baixa.
  2. Optimizar o gerenciamento de posições: ajuste o tamanho das posições abertas de acordo com a distância entre o preço e o nível de superalimento.
  3. Paragem dinâmica: ajuste dinâmico do nível de paragem de acordo com a taxa de ganho e perda da posição, em vez de uma taxa fixa de liquidação.
  4. Adição de stop loss: configuração de stop loss fixo ou rastreado, controlando a perda máxima de uma única transação.

Resumir

A estratégia de negociação da rede de rebote da Wavetrend é uma estratégia quantitativa baseada em sinais de venda e compra de venda, tentando capturar a tendência de rebote após a queda, obtendo lucro com a diferença de preço. A vantagem da estratégia é a adaptabilidade forte, que pode ajustar os parâmetros com flexibilidade, mas também existe o risco de queda persistente do mercado, configuração inadequada dos parâmetros. Na aplicação prática, pode considerar a adição de filtros de tendência, posições dinâmicas e meios de otimização de perda, como paradas de parada, para melhorar a robustez e a rentabilidade da estratégia.

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

//@version=5
// © And Isaac, all rights reserved. If there is any piracy, please call the police immediately. 

strategy(title='wavetrend',shorttitle='DCA-High win rate quantitative trading')
n1 = input(40,'channel length')
n2 = input(60,'average length')
Oblevel1 = input(40,'over bought level 1')
Oblevel2 = input(50,'over bought level 1')
Oblevel3 = input(70,'over bought level 1')
Oblevel4 = input(80,'over bought level 1')
Oblevel5 = input(100,'over bought level 2')
oslevel1 = input(-40,'over sold level 1')
oslevel2 = input(-45,'over sold level 1')
oslevel3 = input(-50,'over sold level 1')
oslevel4 = input(-55,'over sold level 1')
oslevel5 = input(-65,'over sold level 1')
oslevel6 = input(-75,'over sold level 1')
oslevel7 = input(-85,'over sold level 1')
oslevel8 = input(-100,'over sold level 2')

ap = input(title="source",defval=hlc3)
esa =ta.ema(ap, n1)
d =ta.ema(math.abs(ap - esa),n1)
ci = (ap - esa)/ (0.015 * d)
tci = ta.ema(ci,n2)

wt1 = tci
wt2 = ta.sma(wt1, 4)

plot(0,color=color.new(#787b86, 0 ))
plot(Oblevel1, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel1, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel2, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel3, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel4, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel5, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel6, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel7, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel8, color=color.new(#89ff52, 53), linewidth = 2)
plot(oslevel2, color=color.new(#89ff52, 53), linewidth = 2)
plot(wt1, color=color.new(#ff5252,0))
plot(wt2, color=color.new(#ffffff,0))
plot(wt1 - wt2, color=color.new(#00bcd4, 30),style=plot.style_area)

plot(ta.cross(wt1, wt2) ? wt2 : na, color=color.new(#ff5252,0) , style=plot.style_circles, linewidth=4 )

// barcolor(cross(wt1, wt2) ? (wt2 - wt1 > 0 ? aqua : yellow) : na)
barcolor(ta.cross(wt1, wt2) ? (wt2 - wt1 > 0 ? color.new(#ffffff,0) : color.new(#89ff52, 53)) : na)

/////////////
Long1 = wt2 < oslevel1 and wt1 < oslevel1 and wt1>wt2 and wt2 > oslevel3 and wt1>oslevel3
Long5 = wt2 < oslevel5 and wt1 < oslevel5 and wt1>wt2 and wt2 > oslevel6 and wt1>oslevel6

Long7 = wt2 < oslevel7 and wt1 < oslevel7 and wt1>wt2 and wt2 > oslevel8 and wt1>oslevel8
Long8 = wt2 < oslevel8 and wt1 < oslevel8 and wt1>wt2
LS1 = wt2 > Oblevel1 and wt1 > Oblevel1 and wt1<wt2



if Long1
    strategy.entry("L",strategy.long,comment = "做多1")


if Long5
    strategy.entry("L",strategy.long,comment = "做5")

if Long7
    strategy.entry("L",strategy.long,comment = "做多7")
if Long8
    strategy.entry("L",strategy.long,comment = "做多8")
if LS1
    strategy.close("L", qty_percent = 70,comment = "平多")