- Quadrado
- Bollinger Breakout com reversão média 4H Estratégia de negociação quantitativa
Bollinger Breakout com reversão média 4H Estratégia de negociação quantitativa
Autora:
ChaoZhang, Data: 2024-12-12 11:24:28
Tags:
BANCO DE BANCOSMAS.D.TPSL
Resumo
Esta estratégia é um sistema de negociação quantitativo de 4 horas baseado em Bandas de Bollinger, combinando os conceitos de negociação de breakout de tendência e reversão média. A estratégia capta o impulso do mercado através de breakouts de Bandas de Bollinger, enquanto usa a reversão da média de preço para obter lucro e implementa stop-loss para controle de risco.
Princípios de estratégia
A lógica central baseia-se nos seguintes elementos-chave:
- Utiliza a média móvel de 20 períodos como faixa média, com 2 desvios-padrão para o intervalo de volatilidade
- Sinais de entrada: Longos quando o corpo da vela (média de abertura e fechamento) se rompe acima da faixa superior, curtos quando se rompe abaixo da faixa inferior
- Sinais de saída: fechar posições longas quando duas velas consecutivas têm preços de abertura e fechamento abaixo da faixa superior e fechar abaixo da abertura; lógica inversa para posições curtas
- Controlo de risco: define o stop-loss nos pontos altos/baixos da vela atual para garantir perdas controladas por transação
Vantagens da estratégia
- Lógicas de negociação claras: combina abordagens de negociação de tendência e reversão para um bom desempenho em várias condições de mercado
- Controlo abrangente do risco: implementa um stop-loss dinâmico baseado na volatilidade da vela para um controlo eficaz da retirada
- Filtragem de sinal falso: confirma breakouts usando a posição do corpo da vela em vez de apenas o preço de fechamento para reduzir perdas de breakout falso
- Gestão de fundos sólida: ajusta dinamicamente o tamanho da posição com base no património líquido da conta, nos retornos de equilíbrio e no risco
Riscos estratégicos
- Risco de mercado lateral: pode desencadear sinais de ruptura falsos frequentes em mercados variados, levando a paradas consecutivas
- Risco de alavancagem: a alavancagem 3x pode causar perdas significativas durante a volatilidade extrema
- Risco de definição de stop-loss: a utilização de pontos altos/baixos da vela para paradas pode ser demasiado frouxa, aumentando as perdas por transação
- Dependência do prazo: o prazo de 4 horas pode reagir demasiado lentamente em determinadas condições de mercado, perdendo oportunidades
Orientações para a otimização da estratégia
- Implementar filtro de tendência: adicionar indicadores de tendência de longo prazo ao comércio na direção da tendência primária
- Otimizar a abordagem de stop-loss: considerar a utilização de ATR ou largura de banda de Bollinger para distâncias dinâmicas de stop-loss
- Melhorar a gestão de posições: ajustar dinamicamente a alavancagem com base na volatilidade ou na força da tendência
- Adicionar análise das condições de mercado: Incorporar indicadores de volume ou volatilidade para identificar os estados de mercado para a entrada seletiva
Resumo
Esta estratégia combina as características de Bollinger Bands de tendência e inversão da média, alcançando retornos estáveis em mercados de tendência e variáveis através de condições de entrada/saída rígidas e medidas de controle de risco.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger 4H Follow", overlay=true, initial_capital=300, commission_type=strategy.commission.percent, commission_value=0.04)
// StartYear = input(2022,"Backtest Start Year")
// StartMonth = input(1,"Backtest Start Month")
// StartDay = input(1,"Backtest Start Day")
// testStart = timestamp(StartYear,StartMonth,StartDay,0,0)
// EndYear = input(2023,"Backtest End Year")
// EndMonth = input(12,"Backtest End Month")
// EndDay = input(31,"Backtest End Day")
// testEnd = timestamp(EndYear,EndMonth,EndDay,0,0)
lev = 3
// Input parameters
length = input.int(20, title="Bollinger Band Length")
mult = input.float(2.0, title="Bollinger Band Multiplier")
// Bollinger Bands calculation
basis = ta.sma(close, length)
upperBand = basis + mult * ta.stdev(close, length)
lowerBand = basis - mult * ta.stdev(close, length)
// Conditions for Open Long
openLongCondition = strategy.position_size == 0 and close > open and (close + open) / 2 > upperBand
// Conditions for Open Short
openShortCondition = strategy.position_size == 0 and close < open and (close + open) / 2 < lowerBand
// Conditions for Close Long
closeLongCondition = strategy.position_size > 0 and strategy.position_size > 0 and (close < upperBand and open < upperBand and close < open)
// Conditions for Close Short
closeShortCondition = strategy.position_size < 0 and strategy.position_size < 0 and (close > lowerBand and open > lowerBand and close > open)
// Long entry
if openLongCondition
strategy.entry("Long", strategy.long, qty=strategy.equity * lev / close)
strategy.exit("Long SL", from_entry="Long", stop=low) // Set Stop-Loss
// Short entry
if openShortCondition
strategy.entry("Short", strategy.short, qty=strategy.equity * lev / close)
strategy.exit("Short SL", from_entry="Short", stop=high) // Set Stop-Loss
// Long exit
if closeLongCondition
strategy.close("Long", comment = "TP")
// Short exit
if closeShortCondition
strategy.close("Short", comment = "TP")
// Plot Bollinger Bands
plot(upperBand, color=color.yellow, title="Upper Band")
plot(lowerBand, color=color.yellow, title="Lower Band")
Relacionados
Mais.