피보트 역전 전략

저자:차오장, 날짜: 2023-09-26 17:38:56
태그:

전반적인 설명

피보트 역전 전략 (Pivot Reversal Strategy) 은 피보트 지원과 저항 레벨의 개념을 결합한 브레이크아웃 거래 전략이다. 가격이 피보트 레벨을 넘을 때 역전 포지션을 취한다. 전략은 간단하고 쉽게 구현할 수 있어 단기적인 브레이크아웃 거래 전략이다.

전략 논리

이 전략은 먼저 특정 기간 동안 (예: 4 바) 가장 높고 가장 낮은 가격을 피워트 저항 및 지원 수준으로 계산합니다. 그 다음 실시간으로 가격 움직임을 모니터링하고 가격이 피워트 수준을 돌파하는지 결정합니다. 구체적으로:

  1. 피보트 저항 swh의 가장 높은 가격을 계산하기 위해 피보트high ((() 함수를 사용
  2. 피보트 슬로 () 함수를 사용하여 피보트 서포트 swl의 최저 가격을 계산합니다.
  3. 가격이 피프트 레지스탕스를 넘으면 쇼트 (strategy.short) 가 됩니다.
  4. 가격이 피브트 지원 아래로 넘어갈 때 긴 (전략.장)

전략 논리는 간단하고 명확합니다. 가격이 중추 수준을 넘을 때 역전 포지션을 취합니다. 또한 오버나이트 위험을 피하기 위해 거래 시간을 제어합니다.

이점 분석

피보트 역전 전략은 몇 가지 장점이 있습니다.

  1. 전략 아이디어는 초보자에게는 간단하고 이해하기 쉽습니다.
  2. 트렌드 반전을 결정하기 위해 피브트 레벨을 사용하는 것은 단기 시장 소음에 대해 견고합니다.
  3. 중추적인 브레이크에 대한 거래만이 과도한 거래 빈도를 피합니다.
  4. 거래 시간 조절은 하루종일 위험을 피하는 데 도움이 됩니다.
  5. 간결한 코드는 최적화하기 쉽습니다.

위험 분석

또한 몇 가지 위험 요소가 있습니다.

  1. 피브트 레벨은 완벽한 트렌드 예측을 보장하지 않으며 잘못된 브레이크가 가능합니다.
  2. 중추 신호만으로는 조기 진입을 일으킬 수 있습니다. 다른 지표는 거래 신호를 확인해야합니다.
  3. 그것은 시스템적 위험을 초래하는 시장 체제와 개별 주식 특성을 고려하지 않습니다.
  4. 모호한 지원과 저항은 탈출에 실패할 확률을 높여줍니다.

리스크를 통제하기 위해 권장되는 최적화는 주요 트렌드를 따라 이동 스톱 손실을 사용하는 것, 시장 조건과 주식을 결합하는 것, 그리고 잘못된 브레이크 아웃 비율을 줄이는 것입니다.

최적화 방향

위험을 고려할 때, 미래의 최적화는 다음에 초점을 맞출 수 있습니다.

  1. 성공률을 높이기 위해 계산 기간을 늘리는 것과 같은 피보트 매개 변수를 최적화합니다.

  2. 주요 트렌드를 따르고 반전 위험을 줄이기 위해 이동 스톱 손실을 추가합니다.

  3. MACD 같은 다른 지표들을 포함해서 트렌드를 확인하고 잘못된 파장을 피합니다.

  4. 특성에 따라 조류를 분류하고 고유 한 매개 변수를 설정합니다.

  5. 미국과 홍콩 주식 같은 다른 시장에 대한 거래 시간을 최적화합니다.

  6. 선택적 거래에 대한 전체 시장 추세를 고려합니다.

결론

전체적으로, 피보트 역전 전략은 초보자가 배울 수있는 훌륭한 간단한 브레이크아웃 전략입니다. 피보트 포인트를 사용하여 회전 수준을 깨끗하게 식별합니다. 위험이 존재하지만 매개 변수, 스톱 로스, 거래 시간 및 인코도레이터를 최적화하면 강력한 단기 거래 전략으로 전환 할 수 있습니다.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Pivot Reversal Strategy", overlay=true)

// === BACKTEST RANGE ===
FromMonth = input(defval = 2, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2018, title = "From Year", minval = 2014)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 2014)


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("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)

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

더 많은