Estratégia de rompimento de preço


Data de criação: 2024-01-30 15:07:08 última modificação: 2024-01-30 15:07:08
cópia: 0 Cliques: 551
1
focar em
1617
Seguidores

Estratégia de rompimento de preço

Descrição: Esta estratégia é uma estratégia que usa o canal de Brin, o indicador KDJ e o acompanhamento de tendências para realizar operações de ruptura de preços. Pode executar operações de compra e venda no ponto de ruptura e definir uma linha de parada para controlar o risco.

Princípios da estratégia:

  1. Calcule as médias móveis simples de 15 e 30 dias para determinar a tendência dos preços.
  2. Calcule o trajeto ascendente e descendente do túnel de Brin e, em combinação com a entidade da linha K, quebra o trajeto ascendente e descendente do túnel de Brin para determinar o momento de compra e venda.
  3. Combinando o indicador aleatório RSI para determinar se está a ser comprado ou vendido. O RSI maior que 50 é um sinal de sobrecompra, e o RSI menor que 50 é um sinal de sobrevenda.
  4. Quando o preço sobe, o sinal de compra é gerado quando o preço quebra o canal de Brin e o RSI é maior que 50. Quando o preço cai, o sinal de venda é gerado quando o preço quebra o canal de Brin e o RSI é menor que 50.
  5. Configure o ATR para controlar o risco.

Análise de vantagens:

  1. A estratégia utiliza um conjunto de indicadores como o canal de Boolean, o indicador RSI e outros para determinar os sinais de negociação, evitando assim os erros de sinais de negociação de um único indicador.
  2. Combinando o discernimento de tendências, evita-se a formação de sinais de negociação errôneos durante o balanço e a reversão.
  3. Configure o ATR Stop Loss para controlar o risco de cada lote.
  4. A estratégia é clara, simples e fácil de entender.

Riscos e melhorias:

  1. O canal de Brin é um indicador de contorno, cuja trajetória ascendente e descendente não são pontos de suporte e resistência absolutos, e pode haver situações em que o stop loss é quebrado após a ruptura da trajetória ascendente e descendente. Pode-se definir um ponto de parada mais flexível ou outras estratégias de parada, como o stop loss de tempo.
  2. O indicador RSI pode falhar em alguns mercados. Pode-se considerar a combinação de outros indicadores, como KDJ, MACD, etc., para obter um julgamento mais confiável sobre sobrevenda.
  3. No mercado de inversão e consolidação, é fácil gerar sinais errados. Pode-se considerar a inclusão de filtros de tendência, apenas se a tendência for óbvia.

Sugestões de otimização:

  1. Testar e otimizar o número de ciclos e o parâmetro de desvio padrão do canal de Brin para que seja mais adequado às características de diferentes variedades.
  2. Testar e otimizar os parâmetros de ciclo do RSI.
  3. Teste outras estratégias de parada de perda, como parada de rastreamento, parada de tempo, etc.
  4. A combinação de mais indicadores de tendências e indicadores de sinais para a construção de modelos multifatores.

Resumo:

Esta estratégia utiliza um conjunto de indicadores como o canal de Brin e o RSI para determinar o momento de compra e venda, além de garantir uma certa precisão do sinal de negociação, mas também configura um stop loss para controlar o risco. No entanto, a otimização de parâmetros para variedades específicas é necessária para tornar o sinal mais preciso e confiável. Além disso, também pode ser considerado o acréscimo de mais fatores para a construção de múltiplos fatores.

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

//@version=4
strategy("Custom Strategy", overlay=true)

length = 14
mult = 0.75
atr = atr(length) * mult

// Moving averages
ma15 = sma(close, 15)
ma30 = sma(close, 30)

// Bullish Engulfing pattern
bullishEngulfing = close[1] < open[1] and close > open and close[1] < open and close > open[1]

// Bearish Engulfing pattern
bearishEngulfing = close[1] > open[1] and close < open and close[1] > open and close < open[1]

// RSI
rsi = rsi(close, length)

// Buy condition
if (bullishEngulfing and close[1] > ma15 and rsi > 50)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=close - atr)

// Sell condition
if (bearishEngulfing and close[1] < ma15 and rsi < 50)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=close + atr)

// Plotting
plotshape(series=strategy.position_size > 0, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=strategy.position_size < 0, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")