듀얼 밴드 패스 필터 전략은 2010년 브로더가 스톡스 앤드 코모디티스 매거진에서 발표한 전략에서 채택되었다. 그것은 스톡스의 가격 변동을 식별하기 위해 브로더의 밴드 패스 필터의 값을 계산하여 거래 신호를 생성한다. 뱅드 패스 필터 값이 임계보다 높을 때 짧게, 추세를 따라 낮을 때 길게 간다.
이 전략의 핵심 단계는 다음과 같습니다.
밴드 패스 길이를 포함한 매개 변수를 초기화Length
, 변동 계수Delta
, 짧은 구역의 문턱SellZone
, 그리고 긴 구역의 문턱BuyZone
.
브로더 대역 패스 필터를 계산합니다BP
삼각형 함수들을 사용해서
위치 방향을 결정:BP
위쪽에 있습니다.SellZone
; 아래면 길게 가BuyZone
; 그렇지 않으면 현재의 위치를 유지합니다.
출력 신호: 위치 방향에 따라 긴 / 짧은 신호를 생성합니다.
신호 결과를 기반으로 바 색상을 설정합니다.
대역 패스 필터 곡선을 그래프로 그려
이 전략은 브로더 대역 패스 필터를 사용하여 단기 변동을 캡처하고 변동이 추세를 따라 특정 크기에 도달하면 거래 신호를 생성합니다.
시장 변동에 더 민감한 브로더 대역 패스 필터, 단기 트렌드를 감지 할 수 있습니다.
감수성은 다른 시장 환경에 적응하기 위해 매개 변수 조정으로 조정할 수 있습니다.
간단하고 명확한 전략 논리, 이해하기 쉽고 실행하기 쉽습니다.
매개 변수는 최적화되어 최적의 조합을 찾을 수 있습니다.
비주얼 밴드 패스 필터 곡선은 직관적으로 시장 변동을 보여줍니다.
과도하게 최적화된 대역 패스 필터는 너무 민감해져 잘못된 신호를 생성할 수 있습니다.
변동의 끝점을 결정하지 못하면 손실이 증가할 수 있습니다.
높은 거래 빈도는 비용과 미끄러짐 위험을 증가시킬 수 있습니다.
가짜 신호를 유발하는 블랙 스완 사건에 취약합니다.
매개 변수들은 다른 제품과 시장에 따라 조정되어야 합니다.
트레이드당 스톱 로스를 제어 로스로 설정하는 것을 고려하십시오.
출구 시간을 늘리거나 잘못된 신호를 줄이기 위해 필터를 추가하십시오.
가장 좋은 조합을 찾기 위해 매개 변수를 최적화하고 승률, 수익률, 샤프 비율 등을 평가합니다.
이동 평균 크로스, 가격 패턴과 같은 필터를 추가하여 트렌드가 아닌 영역에서 거래를 피합니다.
위험의 다양화를 위해 다양한 도구에 대한 매개 변수를 결합하는 것을 고려하십시오.
다이내믹 스톱이나 트레일링 스톱과 같은 트레이드당 손실을 제어하기 위해 스톱 로스 로직을 추가합니다.
이윤을 확보하기 위해 이동 수익 중지와 같은 수익을 추가합니다. 다른 트렌드 단계에 대해 다른 수준을 설정할 수 있습니다.
진입 신호를 최적화하여 변화하는 시장에서 잘못된 신호를 피하십시오. 더 긴 보유 기간 또는 브레이크 아웃 신호를 고려하십시오.
크로스 자산 중재 시스템으로 확장하여 헤지링을 위해 가격 차이를 이용합니다.
가장 좋은 자산 선택과 재균형 전략을 위해 백테스트 최적화
듀얼 밴드 패스 필터 전략은 브로더의 밴드 패스 필터를 사용하여 가격 변동을 판단하고 변동이 임계치에 도달하면 신호를 생성하며, 단기 트렌드에 대한 높은 민감성과 쉬운 구현의 장점을 가지고 있습니다. 그러나 매개 변수와 거래 빈도에 민감하여 잘못된 신호를 줄이고 위험을 관리하기 위해 최적화를 필요로합니다. 전반적으로 단기 트렌드를 잡을 수있는 옵션을 제공하지만 과잉 적응을 피해야하며 다른 기술적 도구를 거래에 결합 할 수 있습니다.
/*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")