
[trans]
A estratégia de filtragem bilateral de bandas é baseada em um artigo de Broad publicado em 2010 na revista Brands & Commodities. A estratégia identifica os movimentos dos preços das ações e dá um sinal de negociação, calculando o valor do filtro de bandas amplas.
A estratégia é dividida em três etapas:
Parâmetros de inicialização: incluindo o comprimento de banda largaLengthCoeficiente de variaçãoDeltaOs limites da zona de vazioSellZoneOs valores-limite são:BuyZoneespere.
Cálculo de filtros de banda largaBP: Calcule o valor do filtro de banda através de uma série de funções triangulares.
Para determinar a direção da posição:BPMais do queSellZoneSe for inferior aBuyZoneSe não for assim, mantenha a posição atual.
Sinais de saída: Faça mais sinais de vazio de acordo com a direção da posição.
Cores da linha K: Dependendo do resultado do sinal, a linha K é colorida.
Desenhar a curva do filtro de banda.
A estratégia captura a flutuação de curto prazo do mercado através de filtros de banda larga, gerando um sinal de negociação quando a flutuação atinge uma certa amplitude, seguindo a tendência do mercado.
O filtro de banda larga é mais sensível às flutuações do mercado e pode capturar tendências de curto prazo.
Otimizando os parâmetros, pode-se ajustar a sensibilidade às flutuações para se adaptar a diferentes condições de mercado.
A lógica da estratégia é simples, clara e fácil de entender.
Pode-se ajustar facilmente os parâmetros para encontrar a melhor combinação de parâmetros.
A curva do filtro de bandas de ondas visualizada, que mostra intuitivamente as flutuações do mercado.
Os filtros de banda larga podem ser super sensíveis a otimização excessiva e produzir sinais errados.
A incerteza sobre o fim da flutuação pode levar à expansão dos prejuízos.
A frequência de transações pode ser excessiva, aumentando os custos de transação e o risco de deslizamento.
É vulnerável a surpresas que produzem sinais errados.
Os parâmetros devem ser adequadamente ajustados para adaptar-se às diferentes variedades e ao ambiente de mercado.
Pode-se considerar a criação de stop loss para controlar perdas individuais.
Pode ser apropriadamente prolongado o tempo de saída ou usar condições de filtragem para reduzir o sinal de erro.
Otimizar os parâmetros para encontrar a melhor combinação de parâmetros. Os objetivos de otimização podem considerar indicadores como taxa de vitória, taxa de perdas e taxa de Sharpe.
Adicionar condições de filtragem, como a quebra da linha média, o Pattern de preço, etc., para evitar a negociação em zonas fora de tendência.
Considere uma combinação de parâmetros que combinam vários indicadores para a negociação de cestas e descentralizar o risco unilateral.
Aumentar a lógica de stop-loss para controlar a perda individual. Pode considerar o stop-loss dinâmico ou o stop-loss de rastreamento.
Adicionar paradas móveis e bloquear o lucro. Também é possível definir diferentes posições de parada de acordo com a fase da tendência.
Optimizar os sinais de entrada para evitar erros de entrada em mercados de turbulência. Considere prolongar o período de detenção ou definir uma ruptura de preço como sinal de entrada.
A expansão para um sistema de arbitragem multi-variedade, que utiliza as diferenças de preços entre as variedades para a cobertura.
Otimizar o retrospecto, encontrar as melhores variedades e estratégias de mudança de posição.
A estratégia de filtragem de bandas bilaterais determina a intensidade das flutuações de preços através do cálculo de filtros de banda larga, produzindo sinais de negociação quando a flutuação atinge o limiar, tem uma alta sensibilidade às tendências de curto prazo do mercado e é fácil de implementar. No entanto, a estratégia é sensível aos parâmetros e à frequência de negociação e precisa ser adequadamente otimizada para reduzir os sinais errados e controlar o risco.
||
The Dual Bandpass Filter strategy is adapted from the strategy published by Broder in Stocks & Commodities magazine in 2010. It generates trading signals by calculating the value of Broder’s bandpass filter to identify price fluctuations in stocks. It goes short when the bandpass filter value is higher than the threshold, and goes long when it is lower, to follow the trend.
The key steps of this strategy are:
Initialize parameters including bandpass length Length, fluctuation coefficient Delta, short zone threshold SellZone, and long zone threshold BuyZone.
Calculate the Broder bandpass filter BP using a series of trigonometric functions.
Determine position direction: go short if BP is above SellZone; go long if below BuyZone; otherwise, maintain current position.
Output signals: generate long/short signals based on position direction.
Set bar colors based on signal results.
Plot the bandpass filter curve.
This strategy captures short-term fluctuations using the Broder bandpass filter, and generates trading signals when the fluctuations reach certain magnitude to follow the trend.
More sensitive to market fluctuations based on the Broder bandpass filter, which can catch short-term trends.
The sensitivity can be adjusted through parameter tuning to adapt to different market environments.
Simple and clear strategy logic, easy to understand and implement.
Parameters can be easily optimized to find the best combination.
Visual bandpass filter curve intuitively shows market fluctuations.
Overly optimized bandpass filter may become too sensitive and generate false signals.
Unable to determine fluctuation end points, may lead to expanding losses.
High trading frequency may increase costs and slippage risks.
Vulnerable to black swan events that trigger false signals.
Parameters need adjusting for different products and markets.
Consider setting stop loss to control loss per trade.
Extend exit time or add filters to reduce false signals.
Optimize parameters to find the best combination, evaluating win rate, profit ratio, Sharpe ratio etc.
Add filters like moving average cross, price patterns to avoid trading in non-trending areas.
Consider combining parameters across multiple instruments for basket trading to diversify risks.
Add stop loss logic to control loss per trade, like dynamic stops or trailing stops.
Add profit taking like moving profit stops to lock in gains. Different levels can be set for different trend stages.
Optimize entry signals to avoid false signals in ranging markets. Consider longer holding periods or breakout signals.
Expand to a cross-asset arbitrage system utilizing price differentials for hedging.
Backtest optimization for best asset selection and rebalancing strategies.
The Dual Bandpass Filter strategy judges price fluctuations using Broder’s bandpass filter and generates signals when the fluctuations reach thresholds, with the advantage of high sensitivity to short-term trends and easy implementation. However, it is sensitive to parameters and trading frequency, requiring optimization to reduce false signals and manage risks. Overall, it provides an option for catching short-term trends, but overfitting should be avoided, and other technical tools can be combined for trading.
/*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")