쌍방향 브레이크아웃 역전 전략 (Bidirectional Breakout Reversal Strategy) 은 피워트 포인트에 기반한 가격 행동 전략이다. 잠재적인 역전 기회를 식별하기 위해 여러 바 내에서 극단적인 가격 수준을 탐지한다. 가격이 피워트를 깨면 역전 거래를 한다. 이 전략은 높은 변동성 시장에 적합하며 단기적 역전을 잡을 수 있다.
양방향 파업 반전 전략의 핵심 논리는 다음과 같습니다.
사용pivothigh()
그리고pivotlow()
가장 최근의 n 바 안에 있는 가장 높고 가장 낮은 낮은 것을 피보트로 계산하기 위해서요. 여기 n는 4로 설정되어 있습니다.
최신 바
최신 바
가격이 피보트를 넘어서면 이전 신호가 무효화되고 다음 거래 기회를 기다립니다.
이 방식으로, 전략은 가격이 피보트를 깨는 경우 단기적 역전 기회를 잡습니다.
양방향 브레이크아웃 역전 전략은 다음과 같은 장점을 가지고 있습니다.
단순하고 직관적인 논리입니다.
휘발성 암호화폐 시장에서 단기적 반전을 포착하는 데 적합합니다.
이해하기 쉽고 숙달하기 쉽습니다.
10%의 적폐가 발생하면 위험은 통제됩니다.
높은 350% 수익률, 1 이상의 샤프 비율
양방향 파업 반전 전략은 다음과 같은 위험을 가지고 있습니다.
지속된 트렌드에서는 여러 개의 작은 스톱 손실이 발생할 수 있습니다.
피보트는 환전점이 보장되지 않습니다. 환전점이 부족하거나 부족할 위험이 있습니다.
가격이 회전선에서 벗어나지 못할 수도 있습니다. 손실을 쫓는 위험도 있습니다.
단지 최근 4 바의 피보트를 필요로 샘플 크기가 너무 작을 수 있습니다.
시장 유동성이 무시되고 큰 주문이 가격에 영향을 줄 수 있습니다.
짧은 백테스트 기간은 장기적인 성능을 불확실하게 만듭니다.
양방향 브레이크아웃 역전 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
피오트 기간을 늘려서 샘플이 부족하지 않도록 합니다.
허위 브레이크를 피하기 위해 피보트를 깨는 후 추가 확인 신호를 기다립니다. 더 큰 볼륨, MACD 오차 등과 같이.
유동성 조건에 따라 포지션 크기를 동적으로 조정합니다.
트렌드 지표들을 포함시켜 트렌드에서 윙사브를 피하십시오.
수익을 추적하기 위해 스톱 로스 움직임 전략을 추가합니다.
각 제품별로 최적 매개 변수를 테스트합니다.
백테스트 기간을 확장하고 미래에 대한 데이터를 사용하여 안정성을 확인합니다.
양방향 브레이크아웃 역전 전략은 가격 피보트를 통해 역전 지점을 식별하여 단기적 기회를 잡습니다. 이점은 간단한 규칙, 낮은 인수 및 높은 수익입니다. 그러나 역전 및 손실을 쫓는 것과 같은 위험이 있습니다. 샘플 기간을 확장하여 샘플 기간을 최적화 할 수 있습니다. 역전 확인, 동적 중지 등을 추가합니다. 장기적인 효과를 보장하기 위해 더 광범위한 검증이 필요합니다. 전반적으로 단기 거래에 능숙한 양적 거래자에게 적합합니다.
/*backtest start: 2023-10-16 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("QuantNomad - Pivot Reversal Strategy - XBTUSD - 1h", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50) // // author: QuantNomad // date: 2019-06-01 // Pivot Reversal Strategy - XBTUSD - 1h // https://www.tradingview.com/u/QuantNomad/ // https://t.me/quantnomad // leftBars = input(4) rightBars = input(4) swh = pivothigh(leftBars, rightBars) swl = pivotlow(leftBars, rightBars) swh_cond = not na(swh) hprice = 0.0 hprice := swh_cond ? swh : hprice[1] le = false le := swh_cond ? true : (le[1] and high > hprice ? false : le[1]) if (le) strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick) swl_cond = not na(swl) lprice = 0.0 lprice := swl_cond ? swl : lprice[1] se = false se := swl_cond ? true : (se[1] and low < lprice ? false : se[1]) if (se) strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)