A estratégia Momentum Breakout usa principalmente o indicador do oscilador estocástico para determinar a direção da tendência do mercado, combinado com o indicador ADX para julgar a força da tendência, para gerar sinais de negociação.
A estratégia baseia-se em dois indicadores técnicos:
Oscilador estocástico: usado para determinar a direção da tendência do mercado. O valor do oscilador estocástico varia de 0 a 100. Um valor entre 45 e 55 quando o período é 14 significa que não há uma tendência clara. Um estocástico acima de 55 é um sinal de alta e abaixo de 45 é um sinal de baixa.
Indicador ADX: usado para avaliar a força da tendência.
A estratégia julga primeiro se há uma tendência de alta ou baixa clara com base no valor do oscilador estocástico. Quando o estocástico está acima de 55, ele sinaliza uma tendência de alta. Quando está abaixo de 45, ele sinaliza uma tendência de queda.
Se o ADX for acima de 20, significa que a tendência é forte o suficiente para a negociação de tendências.
Ao combinar o oscilador estocástico e o ADX, os sinais de negociação são gerados quando ambas as seguintes condições são satisfeitas:
Os sinais de venda são gerados quando ambas as seguintes condições são satisfeitas:
Com estas regras, a estratégia constitui um sistema de seguimento de tendências a médio e longo prazo.
As vantagens desta estratégia incluem:
Captura de tendências de médio a longo prazo: Ao combinar o Stochastic e o ADX, ele pode determinar efetivamente a direção e a força da tendência do mercado, captando as principais tendências.
Controle de retirada: somente a negociação quando a tendência é clara pode ajudar a controlar os golpes desnecessários.
Ajuste de parâmetros: Os períodos do Estocástico e do ADX podem ser otimizados para diferentes mercados.
Simplicidade: a lógica geral é simples e intuitiva, consistindo em dois indicadores técnicos comuns.
Universalidade: a estratégia pode ser aplicada a diferentes mercados com ajuste de parâmetros.
Alguns riscos da estratégia:
Pontos de ruptura em falta: Como indicadores de tendência, o Stochastic e o ADX podem perder pontos de reversão de tendência potenciais e operações de ruptura precoce.
Riscos de reversão da tendência: podem julgar erroneamente que a tendência continua perto do fim de uma tendência, perdendo oportunidades de sair em tempo hábil, levando a perdas amplificadas.
Dificuldade na otimização de parâmetros: os parâmetros precisam ser ajustados para diferentes mercados, o que representa alguma dificuldade.
Whipsaws: Pode gerar múltiplos sinais inválidos em mercados de gama sem uma tendência clara.
Divergência: quando a tendência de preços entra em conflito com a tendência do oscilador estocástico, surge a divergência, o que pode levar a operações perdedoras.
Os riscos poderiam ser mitigados por:
Adicionar outros indicadores para identificar tendências locais e pontos de ruptura potenciais.
Incorporar sinais de inversão de tendência para sair em tempo útil quando as tendências se inverterem substancialmente.
Usando aprendizado de máquina para otimizar automaticamente parâmetros.
Aumentar o limiar ADX para filtrar sinais de tendência fracos em mercados variados.
Aplicação de indicadores adicionais para confirmar os sinais estocásticos e evitar operações de divergência.
Algumas formas de melhorar a estratégia:
Otimizar parâmetros estocásticos como os períodos K e D para localizar pontos de virada com precisão.
Otimizar o período ADX para determinar os melhores parâmetros para avaliar a força da tendência.
Adicionar sinais de reversão da tendência, tais como o aumento do tamanho da posição nas zonas estocásticas de sobrecompra/supervenda com stop loss.
Combinar outros indicadores como RSI e MACD para refinar o tempo de entrada e saída.
Usando aprendizagem de máquina para encontrar as combinações ótimas de parâmetros.
Implementar estratégias de stop loss como mover o stop loss ou reverter o stop loss para controlar a perda de uma única negociação.
Trailong stop loss: adicionar stop loss para bloquear os lucros à medida que a tendência se estende.
Gestão de fundos: Otimizar a gestão de riscos ajustando o dimensionamento das posições com base na força do ADX.
Em resumo, esta estratégia Momentum Breakout é, em geral, um sistema de tendência, usando Stochastic para determinar a direção da tendência e ADX para medir a força, formando uma estratégia de negociação de médio a longo prazo. As vantagens estão em capturar tendências e controlar drawdowns com uma lógica simples e intuitiva. As fraquezas são potenciais negócios de ruptura precoce perdidos e riscos de reversão da tendência. Podemos otimizá-lo por meio de métodos como ajuste de parâmetros, adição de sinais, implementação de stop loss para melhorar a recompensa / risco enquanto controlamos riscos.
/*backtest start: 2023-09-23 00:00:00 end: 2023-10-23 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Created by Bitcoinduke //Original Creator is Jake Bernstein // Link: https://school.stockcharts.com/doku.php?id=trading_strategies:stochastic_pop_drop // Tested: XBTUSD 3h | BTCPERP FTX 3h //@version=4 // strategy(shorttitle="Stochastic Pop and Drop", title="Pop and Drop", overlay=false, // calc_on_every_tick=false, pyramiding=0, default_qty_type=strategy.cash, // default_qty_value=1000, currency=currency.USD, initial_capital=1000, // commission_type=strategy.commission.percent, commission_value=0.075) upper_threshold_buy = input(55, minval=50, title="Buy Entry/Exit Line") lower_threshold_sell = input(45, maxval=50, title="Sell Entry/Exit Line") oscillator_length = input(14, minval=1, title="Stochastic Length - Default 14") sma_length = input(2, minval=1, title="SMA Length - 3-day (3 by default) simple moving average of stoch") stoch_oscillator = sma(stoch(close, high, low, oscillator_length), sma_length) //Upper and Lower Entry Lines upper_line = upper_threshold_buy lower_line = lower_threshold_sell stoch_color = stoch_oscillator >= upper_line ? green : stoch_oscillator <= lower_line ? red : purple //Charts plot(stoch_oscillator, title="Stochastic", style=histogram, linewidth=4, color=stoch_color) upper_threshold = plot(upper_line, title="Upper Line", style=line, linewidth=4, color=green) lower_threshold = plot(lower_line, title="Lower Line", style=line, linewidth=4, color=red) // Strategy Logic LongSignal = stoch_oscillator >= upper_line and not (stoch_oscillator > lower_line and stoch_oscillator < upper_line) ? true : false ShortSignal = stoch_oscillator <= lower_line and not (stoch_oscillator > lower_line and stoch_oscillator < upper_line) ? true : false strategy.entry("POP_Short", strategy.short, when=ShortSignal) strategy.entry("POP_Long", strategy.long, when=LongSignal) // === Backtesting Dates === thanks to Trost testPeriodSwitch = input(true, "Custom Backtesting Dates") testStartYear = input(2019, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testStartHour = input(0, "Backtest Start Hour") testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, 0) testStopYear = input(2020, "Backtest Stop Year") testStopMonth = input(1, "Backtest Stop Month") testStopDay = input(5, "Backtest Stop Day") testStopHour = input(0, "Backtest Stop Hour") testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, testStopHour, 0) testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false testPeriod_1 = testPeriod() isPeriod = testPeriodSwitch == true ? testPeriod_1 : true // === /END