A estratégia de filtro de banda dupla é adaptada da estratégia publicada por Broder na revista Stocks & Commodities em 2010.
As principais etapas desta estratégia são:
Iniciar parâmetros incluindo comprimento de bandaLength
, coeficiente de flutuaçãoDelta
, limite de zona curtaSellZone
, e limiar de zona longaBuyZone
.
Calcule o filtro de passagem de banda BroderBP
usando uma série de funções trigonométricas.
Determinar a direcção da posição: curto seBP
está acimaSellZone
; ir longo se abaixoBuyZone
; caso contrário, manter a posição actual.
Sinais de saída: geram sinais longos/cortos com base na direção da posição.
Coloque as cores das barras com base nos resultados do sinal.
Trace a curva do filtro de banda.
Esta estratégia capta flutuações de curto prazo usando o filtro de bandapass Broder e gera sinais de negociação quando as flutuações atingem uma certa magnitude para seguir a tendência.
Mais sensível às flutuações do mercado com base no filtro de passagem de banda Broder, que pode detectar tendências de curto prazo.
A sensibilidade pode ser ajustada através de ajustes de parâmetros para se adaptar a diferentes ambientes de mercado.
Uma lógica estratégica simples e clara, fácil de compreender e implementar.
Os parâmetros podem ser facilmente otimizados para encontrar a melhor combinação.
A curva do filtro de banda visual mostra intuitivamente as flutuações do mercado.
O filtro de passagem de banda excessivamente otimizado pode tornar-se muito sensível e gerar sinais falsos.
A impossibilidade de determinar os pontos finais de flutuação pode levar a perdas crescentes.
A alta frequência de negociação pode aumentar os custos e os riscos de deslizamento.
Vulnerável a eventos de cisne negro que desencadeiam sinais falsos.
Os parâmetros devem ser ajustados para diferentes produtos e mercados.
Considere a definição de stop loss para controlar a perda por transação.
Prolongar o tempo de saída ou adicionar filtros para reduzir os falsos sinais.
Otimizar os parâmetros para encontrar a melhor combinação, avaliando a taxa de vitória, a taxa de lucro, a taxa de Sharpe, etc.
Adicione filtros como cruzamento da média móvel, padrões de preços para evitar a negociação em áreas não-trend.
Considerar a combinação de parâmetros entre vários instrumentos para a negociação de cesta para diversificar os riscos.
Adicione a lógica de stop loss para controlar a perda por comércio, como paradas dinâmicas ou paradas de trailing.
Adicione a tomada de lucro como paradas de lucro móveis para bloquear ganhos.
Otimizar os sinais de entrada para evitar sinais falsos em mercados variados.
Expandir para um sistema de arbitragem de ativos cruzados utilizando diferenciais de preços para cobertura.
Optimização de backtest para a melhor seleção de ativos e estratégias de reequilíbrio.
A estratégia do Filtro de Passagem de Banda Dupla julga as flutuações de preços usando o filtro de passagem de banda do Broder e gera sinais quando as flutuações atingem limiares, com a vantagem de alta sensibilidade às tendências de curto prazo e fácil implementação. No entanto, é sensível a parâmetros e frequência de negociação, exigindo otimização para reduzir falsos sinais e gerenciar riscos.
/*backtest start: 2022-10-17 00:00:00 end: 2023-10-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 18/09/2018 // The related article is copyrighted material from // Stocks & Commodities Mar 2010 // You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect... // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Bandpass Filter Strategy ver 2.0") Length = input(20, minval=1) Delta = input(0.5) SellZone = input(5, step = 0.01) BuyZone = input(-5, step = 0.01) reverse = input(false, title="Trade reverse") hline(BuyZone, color=green, linestyle=line) hline(SellZone, color=red, linestyle=line) xPrice = hl2 hline(0, color=blue, linestyle=line) beta = cos(3.14 * (360 / Length) / 180) gamma = 1 / cos(3.14 * (720 * Delta / Length) / 180) alpha = gamma - sqrt(gamma * gamma - 1) BP = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(BP[1]) - alpha * nz(BP[2]) pos = iff(BP > SellZone, 1, iff(BP <= BuyZone, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(BP, color=red, title="Bandpass Filter Strategy")