피벗 반전 전략


생성 날짜: 2023-12-18 16:59:59 마지막으로 수정됨: 2023-12-18 16:59:59
복사: 0 클릭수: 820
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

피벗 반전 전략

개요

이 글은 축점 기반의 반전 거래 전략을 상세히 분석한다. 이 전략은 특정 주기 동안의 최고 가격과 최저 가격을 계산하여 가능한 축축 지원 및 저항 지점을 결정한다. 가격이 이러한 축축 지점을 통과하면 트렌드가 변하는 것을 나타냅니다. 이 때 반전 거래가 가능합니다.

전략 원칙

이 전략은 주로 두 가지 지표에 의존합니다: 축 높음 (Pivot High) 과 축 낮음 (Pivot Low). 축 높음 (Pivot Low) 은 한 주기의 최고 가격과 최저 가격이며,pivothigh()그리고pivotlow()함수 계산을 얻으려면, 좌측과 좌측의 주기수를 설정해야 한다. 이 전략에서는 좌측의 주기수는 4이고, 우측의 주기수는 2이다.

최신의 한 주기의 최고점이 이전 주기의 축의 최고점보다 낮으면 반전 신호가 나타납니다. 이 때 이전에는 짧은 라인 작업이었다면, 이제 반전 기회를 찾기 위해 다중 헤드를 구축하는 것을 고려해야합니다. 마찬가지로, 최신의 한 주기의 최저점이 이전 주기의 축의 최저점보다 높을 때, 공백 헤드는 반전 포지션을 구축하는 것을 고려해야합니다.

특히, 이 전략의 주요 논리는 다음과 같습니다.

  1. 축 높낮이를 계산
  2. 가격의 초점 돌파를 판단하기
    1. 만약 하락점 위에 축축 하락점을 통과한다면, 더 많이 해야 합니다.
    2. 만약 높이가 아래로 다면
  3. Stop Loss을 설정합니다.

우위 분석

이 전략의 가장 큰 장점은 잠재적인 트렌드 반전 지점을 식별하는 데 있습니다. 이것은 반전 거래자에게 특히 중요합니다. 다른 지표에 비해 축 지점은 자주 잘못된 신호가 나타나지 않고 지지 저항을 더 명확하게 판단 할 수 있습니다.

또한, 이 전략은 동시에 대가와 적자 조건을 구축하여 다양한 시장 상황을 최대한 커버하고, 거래 기회를 놓치지 않도록합니다. 스톱로스를 통해 위험을 제어하고, 손익분기점을 보장 할 수 있습니다.

전체적으로 볼 때, 이것은 매우 실용적인 반전 전략입니다.

위험 분석

이 전략은 가짜 신호의 가능성을 줄이기 위해 노력하지만, 돌파구를 기반으로 한 모든 전략은 반드시 초과 신호 또는 초과 신호가 발생할 수 있습니다. 이것은 다중 포지션을 구축 할 계획이지만 시장이 불어오기 시작했을 수도 있습니다.

또한, 축점들은 100퍼센트 중요한 지지 저항 지점을 결정할 수 없다. 이것은 단지 참고용이다. 만약 운이 좋지 않다면, 축점들은 실제 지지 지점을 놓칠 수도 있다. 이러한 모호한 간격의 문제는 완전히 피할 수도 없다.

최적화 방향

  1. 주기 최적화: 기존의 좌우 주기 수를 4과 2로 설정하여 초기 설정으로 사용할 수 있습니다. 그러나 다른 시장의 다른 주기 축이 더 효과적일 수 있으므로 최적화하여 최적의 파라미터 조합을 찾을 수 있습니다.

  2. 다른 지표들과 함께 필터링한다. 예를 들어, 거래량 지표가 추가될 수 있으며, 거래량이 커질 경우에만 돌파구가 유효하다고 간주하여 가짜 돌파구를 줄일 수 있다.

  3. 동적 스톱. 기존의 스톱은 축에 각각 최소 거래 단위의 공간을 남긴다. 이것은 시장의 변동 정도에 따라 동적 스톱을 사용하여 최적의 스톱 지점을 시도할 수 있다.

  4. 트렌드 방향으로만 작동한다. 현재는 더 많은 코카이도 조건이 병행되어 있으며, 실제로는 다수 시장에서 더 많은 기회를 찾고, 빈 시장에서 코카이도 기회를 찾을 수 있습니다. 트렌드 지표와 결합하면 더 나은 효과를 얻을 수 있습니다.

요약하다

이 전략은 전체적으로 간단하고 실용적인 역전 전략이다. 핵심 축점을 계산하고 그 돌파구를 모니터링하여 잠재적인 트렌드 회전을 판단하는 것이 핵심 아이디어이다. 이 전략은 동시에 여러 개의 코어 조건을 구축하여 역전 기회를 최대한 잡는다.

전반적으로, 이 전략은 명확하고 실행하기 쉬운 것이다. 파라미터 설정도 비교적 직접적이며, 초보자 친화적이다. 지속적인 테스트와 최적화를 통해 전략의 성능을 점진적으로 개선할 수 있으며, 추천된다.

전략 소스 코드
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 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)

// backtesting date range
from_day   = input(defval = 1,    title = "From Day",   minval = 1)
from_month = input(defval = 3,    title = "From Month", minval = 1)
from_year  = input(defval = 2018, title = "From Year",  minval = 1970)

to_day     = input(defval = 1,    title = "To Day",     minval = 1)
to_month   = input(defval = 1,    title = "To Month",   minval = 1)
to_year    = input(defval = 2100, title = "To Year",    minval = 1970)

time_cond = (time > timestamp(from_year, from_month, from_day, 00, 00)) and (time < timestamp(to_year, to_month, to_day, 23, 59))

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 and time_cond)
    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 and time_cond)
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)

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