
A estratégia de breakout de nível 20 é uma estratégia de acompanhamento de tendências. Sua ideia central é que, quando o preço quebra um nível crítico, indica que a tendência se inverte, o que permite a criação de posições a mais ou a menos de acordo com a direção da quebra.
Esta estratégia escolhe a média de 20 dias como um nível-chave. Quando o preço de fechamento quebra a média de 20 dias de cima, faça mais; Quando o preço de fechamento quebra a média de 20 dias de baixo, faça falta.
A estratégia de ruptura de 20 níveis usa a linha média de 20 dias como padrão para determinar a ruptura de tendência. Quando o preço se move para cima abaixo da linha média de 20 dias, indicando que a situação está em uma tendência descendente, isso é feito. Quando o preço se move para baixo abaixo da linha média de 20 dias, indicando que a situação está em uma tendência ascendente, isso é feito.
Esta estratégia combina o indicador MACD para determinar a situação. Só é emitido um sinal de vazio quando o MACD é o coluna vermelha; só é emitido um sinal de vazio quando o MACD é o coluna verde. Isso evita o erro de sinal durante a composição.
A lógica da estratégia é a seguinte:
Com essa configuração, a estratégia pode capturar oportunidades em tempo hábil quando a tendência se transforma, com o objetivo de acompanhar as tendências do mercado.
A estratégia de ruptura de 20 níveis tem as seguintes vantagens:
A operação é simples e fácil de implementar. As regras de cálculo e julgamento da linha média de 20 dias são muito simples e diretas.
As retrações são relativamente pequenas. Usando a ruptura de preço como sinal de construção de estoque, pode-se evitar efetivamente a inversão desnecessária.
A linha média de 20 dias pode refletir muito bem a mudança de tendência de médio e curto prazo. Filtração em combinação com o indicador MACD evita posições erradas quando a tendência se altera.
A estratégia de quebra de 20 níveis também apresenta os seguintes riscos:
Quando os preços são fortemente flutuantes, o método da linha média de 20 dias produz um atraso, podendo perder o melhor momento de entrada.
Em uma situação de equilíbrio, os preços podem ter freqüentes rupturas para cima e para baixo. Se não houver uma boa filtragem do indicador, haverá muitas negociações inativas.
A estratégia não leva em consideração a amplitude da oscilação do preço das ações. Se não for combinado com o indicador de taxa de flutuação, o risco de perdas excessivas será enfrentado.
A posição fixa do stop loss também afeta a eficácia da estratégia. Isso requer ajustes de parâmetros de acordo com diferentes padrões.
A estratégia de ruptura de 20 níveis pode ser otimizada nos seguintes aspectos:
Experimente diferentes períodos de média, como 10 dias, 30 dias, etc., e veja qual período é mais adequado para entender a tendência.
Adicione um indicador de volatilidade, ajustando dinamicamente a posição de acordo com a amplitude de flutuação do preço das ações. Isso pode controlar o risco de forma eficaz.
Optimizar a posição de parada de perda. Os parâmetros ideais podem ser calculados com base nos dados de retrospecção histórica.
Tente combinar o ormapSignal com outros indicadores, como o KDJ, o Brinline, etc. Isso pode reduzir a transação inválida.
Desenvolver versões melhoradas, procurar tendências maiores em prazos mais elevados e, em seguida, entrar em prazos mais baixos.
A estratégia de ruptura de 20 níveis, que determina o ponto de inflexão da tendência através da ruptura do preço, possui vantagens em termos de facilidade de operação e forte capacidade de acompanhamento da tendência. Mas também há alguns riscos que precisam ser melhorados para se adaptar à complexidade do mercado.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//@version=4
strategy("20 Level Breakout", overlay=true)
baseLevel = math.floor(close * 100) /100
eigthylevel = baseLevel - 0.002
twentyLevel = baseLevel + 0.002
takeprofitL = baseLevel - 0.01
stoplossL = baseLevel + 0.02
takeprofitS = baseLevel + 0.015
stoplossS = baseLevel - 0.02
isPriceAboveLevel(price, level) =>
price > level
breakout = close > twentyLevel and close > baseLevel
breakoutl = close < eigthylevel and close < baseLevel
// Entry condition: Only enter if there are no open trades and the close is between baseLevel and baseLevel + 0.01
isLong = breakout and close > baseLevel and close <= (baseLevel + 0.01) and ta.rsi(close, 14) > 40 and ta.ema(close,50)<close
isShort = breakoutl and close < baseLevel and close >= (baseLevel - 0.01)
// Debugging
plot(isLong ? 1 : 0, color=color.blue, style=plot.style_histogram)
plotshape(isLong, style=shape.triangledown, color=color.green, size=size.small)
plotshape(isShort, style = shape.triangleup, color = color.red, size = size.small)
// Plotting the stop loss line
plot(stoplossL, color=color.red, linewidth=2, title="Take Profit")
plot(stoplossS, color=color.green, linewidth = 2, title = " Take Profit")
strategy.entry("Short", strategy.short, when=isLong, stop =twentyLevel)
strategy.exit("Stop Loss/Profit", "Short", stop = stoplossL , limit = takeprofitL)
strategy.entry("Long",strategy.long, when=isShort , stop = eigthylevel )
strategy.exit("Stop loss/Profit", "Long", stop = stoplossS , limit = takeprofitS)