Estratégia de preço de dupla ruptura em todo o eixo do tempo


Data de criação: 2023-11-15 17:27:36 última modificação: 2023-11-15 17:27:36
cópia: 0 Cliques: 667
1
focar em
1617
Seguidores

Estratégia de preço de dupla ruptura em todo o eixo do tempo

Visão geral

Esta é uma estratégia que utiliza preços-chave em diferentes eixos temporais para fazer brechas duplas que formam sinais de negociação. Pode entrar em posições de compra ou venda quando o preço da tendência quebra o suporte ou resistência-chave para capturar a tendência da linha média-longa.

Princípio da estratégia

A estratégia analisa simultaneamente a movimentação dos preços em dois diferentes eixos de tempo (tf e tf2), o eixo de tempo tf é mais longo, refletindo a tendência da linha média; o eixo de tempo tf2 é mais curto, refletindo a movimentação de curto prazo. A estratégia monitora os seguintes sinais de negociação:

  1. Quando o preço quebra o nível (level) para cima na linha de tempo tf, registo up1=true
  2. Quando o preço se move para baixo na linha de tempo tf, escreva dn1=true
  3. Quando o preço ultrapassa o nível 2 no eixo de tempo tf2 para cima, o registro up2=true
  4. Quando o preço se move para baixo na linha de tempo tf2, registra-se dn2=true

A formação do sinal de negociação é: up1 e up2 simultaneamente são verdadeiros, indicando que a linha média e a curta são favoráveis, o que significa fazer mais; dn1 e dn2 simultaneamente são verdadeiros, indicando que a linha média e a curta são baixistas, o que significa fazer zero.

A estratégia também adicionou algumas condições de filtragem, como a inversão de conjuntos e filtragem de linhas K de cor, para evitar que brechas de tendências não reais formem sinais falsos.

No geral, a estratégia aproveita as vantagens da análise de múltiplos períodos de tempo para formar um sinal de negociação de alta qualidade, evitando a interferência do ruído do mercado de curto prazo, enquanto garante que as tendências de linha média e longa estejam de acordo com as expectativas.

Análise de vantagens estratégicas

  1. Percorrendo os pontos críticos de suporte ou resistência para capturar tendências de linha média e longa

A estratégia monitora brechas de preços-chave em dois eixos temporais, captando momentos de entrada claros no início da tendência.

  1. Confirmação dupla para reduzir sinais de erro

A ruptura simultânea em dois eixos de tempo diferentes pode reduzir significativamente os sinais errados causados por oscilações aleatórias e melhorar a qualidade do sinal.

  1. Filtragem de fio K invertido e colorido

A adição de um ajuste inverso e um julgamento de linha K de cor pode filtrar alguns sinais de ruptura de baixa qualidade e evitar perdas graves.

  1. Configuração de parâmetros simples

A estratégia requer apenas dois parâmetros de eixo de tempo para funcionar, sendo a escolha dos parâmetros flexível e adequada a diferentes variedades.

  1. É fácil de entender e de optimizar.

A estrutura da estratégia é clara e os princípios são fáceis de entender; também é possível ajustar os parâmetros de acordo com as características da situação para a otimização da estratégia.

Análise de risco estratégico

  1. A dupla brecha atrasou o ingresso

A dupla brecha pode causar algum atraso na entrada, perdendo lucros de uma forte posição inicial, em comparação com uma única brecha.

  1. Seleção de pontos de resistência de suporte crítico

É muito importante escolher o preço crítico adequado para diferentes variedades e ciclos de mercado, caso contrário, pode haver sinais errados.

  1. Falha de ruptura

Mesmo com uma dupla ruptura, pode haver uma falha de ruptura e uma rápida retração, resultando em prejuízos.

  1. Reversão de tendência

A entrada tardia na tendência pode sofrer uma reversão súbita, não conseguindo parar a saída a tempo e causando grandes perdas.

  1. Dificuldade de otimização de parâmetros

Embora simples, encontrar a melhor combinação de parâmetros ainda requer um grande número de testes repetidos e é mais difícil de otimizar.

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

  1. Aumentar a estratégia de stop loss

Pode-se configurar um stop loss móvel ou um stop loss temporário, para parar a partida antes que o prejuízo se expanda.

  1. Otimização das condições de filtragem

Pode-se testar diferentes parâmetros de amplitude de inversão ou experimentar outros métodos de filtragem.

  1. Dinâmica de preços-chave

Os preços-chave podem ser variados de forma dinâmica conforme a evolução do mercado, em vez de serem fixados de forma estática.

  1. Optimização de parâmetros multivariados

A melhor combinação de parâmetros de diferentes variedades pode ser otimizada por meio de aprendizado de máquina.

  1. Confirmação de aumento de preço

A confirmação de volume de transações pode ser adicionada para evitar uma série de falhas.

Resumir

A estratégia geral é uma estratégia de seguimento de tendências simples e práticas. Utiliza simultaneamente a análise de dois eixos temporais, entra em ação quando a linha média e longa está de acordo com as expectativas, e pode filtrar efetivamente parte do ruído. O sinal da estratégia é claro e fácil de ler, a configuração de parâmetros é relativamente simples e intuitiva. Mas, ao mesmo tempo, há problemas como mau tempo de entrada e dificuldade de escolha de preços-chave.

Código-fonte da estratégia
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Levels Strategy v1.0", shorttitle = "Levels str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W',  title = "timeframe 1")
tf2 = input('D',  title = "timeframe 2")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "antipila")
cf = input(true, defval = true, title = "color filter")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Signals
level = request.security(syminfo.tickerid, tf, src[1])
level2 = request.security(syminfo.tickerid, tf2, src[1])
plot(level, linewidth = 3, color = silver)
plot(level2, linewidth = 3, color = gray)
up1 = close > level and ap == false ? true : low > level ? true : false
dn1 = close < level and ap == false ? true : high < level ? true : false
up2 = close > level2 and ap == false ? true : low > level2 ? true : false
dn2 = close < level2 and ap == false ? true : high < level2 ? true : false

//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if up1 and up2 and (close < open or cf == false)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if dn1 and dn2 and (close > open or cf == false)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()