피보트 역전 촛불 전략 (Pivot Reversal Candlestick Strategy) 은 피보트 포인트에 기반하여 거래 신호를 생성하는 양적 거래 전략이다. 이 전략은 피보트 영역을 결정하기 위해 왼쪽에있는 특정 수의 촛불의 가장 높은 가격과 가장 낮은 가격을 계산합니다. 가격이 피보트 영역을 통과 할 때 해당 장기 또는 짧은 포지션을 시작할 것입니다.
이 전략의 핵심 논리는 왼쪽 4개의 촛불의 가장 높은 가격을 긴 피보트로 계산하고 왼쪽 4개의 촛불의 가장 낮은 가격을 짧은 피보트로 계산하는 것입니다. 오른쪽 2개의 촛불은 가격이 피보트 영역을 통과했는지 여부를 결정하는 데 사용됩니다. 가격이 긴 피보트를 초과하면 길게 이동합니다. 가격이 짧은 피보트 아래에 떨어지면 짧게 이동합니다.
특히 전략은 가장 높은 가격을 계산합니다.swh
왼쪽의 4개의 촛불은 긴 회전선입니다. 동시에 가장 낮은 가격을 계산합니다.swl
왼쪽의 4개의 촛불은 짧은 회전선입니다. 회전선을 결정한 후, 오른쪽 2개의 촛불을 사용하여 가격이 회전선을 통과하는지 판단합니다. 가격이 회전선을 초과하면swh
가격보다 낮다면swl
, 짧게 가.
긴 신호와 짧은 신호가 발사된 후, 그것은 긴 또는 짧은 주문을 배치하고 위험을 제어하기 위해 피프트 영역 밖의 스톱 손실을 설정합니다.
피보트 역전 전략의 가장 큰 장점은 가격 역전의 시기를 파악할 수 있다는 것입니다. 가격이 오랫동안 범위 내에서 유지되면 종종 피보트 영역 주위를 흔들립니다. 이 시간에 피보트 브레이크아웃 전략을 사용하면 가격 역전의 최적의 시기를 파악하고 이익을 얻을 수 있습니다.
다른 반전 전략과 비교할 때, 피보트 반전 전략은 간편한 동작, 제어 가능한 위험 등이 장점이다. 왼쪽과 오른쪽 촛불 번호의 설정은 다른 제품과 시장 환경에 적응하도록 자유롭게 조정할 수 있다. 또한, 피보트 영역 밖에서 스톱 로스를 설정하면 위험을 효과적으로 제어할 수 있다.
피보트 역전 전략의 주요 위험은 피보트 영역의 잘못된 판단입니다. 왼쪽 촛불이 명확한 피보트 영역을 결정할 수 없다면 오른쪽 촛불의 파업은 손실을 일으킬 가능성이있는 잘못된 신호일 수 있습니다.
또한 트렌드의 갑작스러운 변화도 위험을 초래할 수 있습니다. 스톱 로스가 설정되었지만 가격 격차 또는 점프와 같은 비정상적인 상황이 발생하면 스톱 로스는 좋은 보호를 제공하지 않을 수 있습니다.
위험을 줄이기 위해, 우리는 동시에 길고 짧게가는 전략을 채택하는 것을 고려할 수 있습니다. 즉, 가격이 상승하면 길고 가격이 떨어지면 짧게 이동하여 일부 위험을 헤지 할 수 있습니다. 우리는 또한 추세를 판단하고 가능한 전환점에 거래 기회를 놓치지 않도록 다른 지표를 결합 할 수 있습니다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
왼쪽 및 오른쪽 촛불 번호 설정을 최적화. 최적의 매개 변수를 찾기 위해 왼쪽 및 오른쪽 촛불의 더 많은 조합을 테스트.
지표 필터를 추가하십시오. 불확실한 상황에서 시장에 진입하는 것을 피하기 위해 포지션을 취할 때 MA, MACD 등과 같은 필터를 추가하십시오.
스톱 손실 레벨 설정을 최적화. 다른 제품의 특성에 따라 더 나은 스톱 손실 위치를 선택.
트레일링 스톱 로스를 추가하십시오. 포지션을 취한 후, 트레일링 스톱 로스는 단순한 스톱 로스 출구 대신 이익을 잠금하는 데 사용할 수 있습니다.
피보트 역전 전략은 피보트 영역에서 가격 역전의 시기를 캡처하여 거래를 수행합니다. 쉬운 운영, 제어 가능한 위험 등이 장점입니다. 주요 위험은 피보트 영역의 잘못된 식별과 트렌드의 갑작스러운 변화에 있습니다. 매개 변수 최적화, 필터 추가, 스톱 로스 전략 개선 등과 같은 방법으로 위험을 줄이고 전략의 안정성을 향상시킬 수 있습니다. 일반적으로 피보트 역전 전략은 범위 제한 시장에서 단기 거래 기회를 캡처하는 데 매우 적합합니다.
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Pivot Reversal Strategy", overlay=true) leftBars = input(4) rightBars = input(2) 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("Long", strategy.long, comment="Long", 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("Short", strategy.short, comment="Short", stop=lprice - syminfo.mintick) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)