Estratégia de negociação de reversão quantitativa rápida de duas vias


Data de criação: 2023-12-19 15:59:36 última modificação: 2023-12-19 15:59:36
cópia: 0 Cliques: 580
1
focar em
1621
Seguidores

Estratégia de negociação de reversão quantitativa rápida de duas vias

Visão geral

Esta estratégia é uma estratégia de negociação de reversão de duas vias baseada no canal de preço, na faixa de Brin e no indicador RSI rápido. Combina a identificação de tendências do indicador de canal, a resistência de suporte identificada pela faixa de Brin e o RSI rápido para julgar sinais de sobrevenda e sobrevenda para uma negociação de reversão eficiente.

Princípio da estratégia

A estratégia baseia-se principalmente nos seguintes indicadores para tomar decisões de negociação:

  1. Canais de preços: Calcule os preços mais altos e mais baixos em um determinado período e trace o eixo central do canal. Quando o preço quebra o canal, gera um sinal de negociação.

  2. Cinturão de Brin: O eixo central é o eixo central do canal de preços, que é construído com base no cálculo do diferencial padrão de desvio do preço e do eixo central. Quando o preço interage com a faixa de Brin, um sinal de negociação é gerado.

  3. RSI rápido ((ciclo 2): julgar a sobrevenda do preço, RSI abaixo de 5 para fazer mais, acima de 95 para fazer menos.

  4. Indicador CryptoBottom: determina se o preço caiu abaixo do nível de suporte, combinado com o RSI rápido, o que aumenta a probabilidade de alta.

A lógica de negociação central da estratégia consiste em fazer o shorting de acordo com o canal de ruptura do preço, o tempo de breakeven e o tempo de RSI de sobrecompra e sobrevenda.

Vantagens estratégicas

A estratégia tem as seguintes vantagens:

  1. Sistema de dupla linha, melhorando a precisão do sinal. O canal de preço determina a tendência geral, a faixa de Brin identifica o ponto de resistência de suporte preciso, ambos combinados para melhorar a qualidade do sinal.

  2. O indicador de RSI rápido determina sobrecompra e sobrevenda, e capta o momento da reversão. O parâmetro RSI é 2, para determinar rapidamente o ponto de reversão.

  3. O CryptoBottom acelera a determinação de sinais de múltiplos cabeçalhos.

  4. A configuração dos parâmetros da estratégia é razoável e fácil de otimizar. A combinação de parâmetros é simples e clara, adequada para a otimização de parâmetros.

Risco estratégico

A estratégia também apresenta alguns riscos:

  1. Os parâmetros da faixa de Bryn estão mal definidos, podendo perder uma situação maior ou gerar um falso sinal.

  2. O modelo de interação de duas pistas é complexo e requer um certo acúmulo de conhecimentos técnicos para o julgamento correto.

  3. O risco de uma reviravolta fracassada permanece e a probabilidade de uma nova reviravolta não pode ser totalmente evitada.

  4. Dificuldade de otimização de parâmetros, os parâmetros mais ótimos podem falhar devido a mudanças no ambiente de mercado.

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

A estratégia pode ser otimizada em várias direções:

  1. Otimizar os parâmetros da faixa de Brim para que a subida e a descida sejam mais próximas do preço, melhorando a precisão do sinal.

  2. Aumentar a estratégia de parar perdas, parar perdas quando a perda atinge uma certa proporção, controlar eficazmente o risco.

  3. Combinando mais indicadores para avaliar tendências, apoiar resistências e reduzir falsos sinais

  4. Adicionar algoritmos de aprendizagem de máquina para otimizar automaticamente os parâmetros, de modo a responder a mudanças no ambiente de mercado.

Resumir

Esta estratégia integra o canal de preços, a faixa de Brin e o indicador RSI rápido para construir um sistema de negociação de reversão de dupla faixa. Ao mesmo tempo em que julga a grande tendência, capta rapidamente as oportunidades de resistência de suporte e de superaquecimento. A configuração dos parâmetros é simples, direta e fácil de entender e otimizar.

Código-fonte da estratégia
/*backtest
start: 2022-12-18 00:00:00
end: 2023-11-30 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Strategy v1.3", shorttitle = "NoroBands str 1.3", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Use ColorBar")
usecb = input(true, "Use CryptoBottom")
usersi = input(true, "Use RSI")
needbb = input(false, defval = false, title = "Show Bands")
needbg = input(false, defval = false, title = "Show Background")
src = close

//Fast RSI
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//CryptoBottom
mac = sma(close, 10)
lencb = abs(close - mac)
sma = sma(lencb, 100)
max = max(open, close)
min = min(open, close)

//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma

//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 
up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom
//dn2 = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0 //CryptoBottom
up3 = fastrsi < 5 ? 1 : 0
//dn3 = fastrsi > 99 ? 1 : 0

longCondition = up == 1 or (up2 == 1 and usecb == true) or (up3 == 1 and usersi == true)
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)