슈퍼 트렌드 강화 피벗 반전 전략


생성 날짜: 2023-10-25 11:15:40 마지막으로 수정됨: 2023-10-25 11:15:40
복사: 0 클릭수: 533
1
집중하다
1166
수행원

슈퍼 트렌드 강화 피벗 반전 전략

개요

초상향 강화 축 반전 전략은 축 반전의 정확성과 초상향 지표의 트렌드 추적 능력을 결합한 독특한 거래 방법입니다. 이 전략은 거래자에게 명확한 입시 및 출구 신호를 제공하면서 초상향 지표를 사용하여 잘못된 신호를 필터링합니다.

기존의 중심축 반전 전략과는 달리, 이 전략은 초 트렌드 지표를 필터로 사용합니다. 이것은 전체 트렌드와 일치하는 거래 신호만을 취한다는 것을 의미하며, 초 트렌드 지표는 전체 트렌드의 방향을 결정합니다. 이것은 잘못된 신호의 수를 줄이고 전략의 전반적인 수익성을 높이는 데 도움이 될 수 있습니다.

강화 축 반전 전략은 암호화폐 시장에 특히 적합하며, 암호화폐 시장은 높은 변동성을 특징으로 한다. 이는 가격이 매우 짧은 시간에 큰 변화를 일으킬 수 있다는 것을 의미하며, 따라서 빠른 수익을 얻을 수 있다. 이 전략은 축 축을 사용하여 이러한 빠른 가격 변화를 포착하고 잠재적인 반전 지점을 식별할 수 있다.

전략 원칙

이 전략의 작동 원리는 중심축 반전점을 식별하는 것입니다. 이 포인트는 가격 차트에 가격이 반전될 가능성이있는 점입니다. 이 포인트는 ta.pivothigh와 ta.pivotlow 함수의 조합을 사용하여 식별되며, 특정 주기 동안 가격 차트의 최고점과 최저점을 찾을 수 있습니다.

축의 전환점이 확인되면, 이 전략은 오버트렌드 지표의 방향을 검사한다. 만약 오버트렌드가 긍정적이면 (상향을 나타낸다면) 이 전략은 단지 다중 거래만을 한다. 만약 오버트렌드가 부정적이면 (하향을 나타낸다면) 이 전략은 오직 공백 거래만을 한다.

이 전략은 또한 입시 가격의 일정한 비율로 설정된 스톱 로스 레벨을 포함합니다. 이것은 가격이 거래 방향과 반대 방향으로 이동할 때 잠재적인 손실을 제한하는 데 도움이됩니다.

거래 방향 파라미터는 多頭, 空頭 또는 雙向로 설정할 수 있다. 이것은 거래자가 단지 多頭 ((저고고매) 또는 空頭 ((고고매) 또는 둘 다를 선택할 수 있게 한다. 이것은 거래자의 시장 관점과 위험 감수성에 유용하다.

이 전략을 사용할 때, 필요한 매개 변수를 스크립트에 입력하고, 거래하고자 하는 자산의 가격 차트에 적용하면 됩니다. 이 전략은 잠재적인 입출자 지점을 식별하고, 가격 차트에 표시합니다.

이 정책의 기본 설정은 다음과 같습니다.

  • ATR 길이:5
  • 인자:2.618
  • 거래 방향: 양방향
  • 스톱 손실 수준: 20%
  • 수수료: 0.1%
  • 슬라이드 포인트: 1
  • 통화: USD
  • 거래 당 계좌 지분의 10%
  • 초기 투자금: $10,000

이러한 설정은 거래자의 선호와 위험 용도에 따라 조정할 수 있습니다. 어떤 설정 변경도 실판 거래에 적용하기 전에 반드시 역사 데이터를 사용하여 테스트하십시오.

우위 분석

이 전략의 가장 큰 장점은 Axis Reversal 전략의 정확성과 초 트렌드 지표의 트렌드 필터링 능력을 결합하는 것입니다.

중심축 역전 전략은 중요한 지지와 저항 영역을 식별하고 빠른 돌파구를 포착할 수 있다. 반면, 초 트렌드 지표는 대부분의 가짜 돌파구를 필터링할 수 있으며, 실제 트렌드 역전일 때만 출전한다. 이 조합은 많은 소음을 필터링하여 전략의 승률과 수익률을 크게 향상시킬 수 있다.

또 다른 장점은 이 전략이 적응력이 강하여 파라미터 구성을 조정하여 다른 시장 환경에 적응할 수 있다는 것입니다. 예를 들어, ATR 주기 파라미터를 다른 변동률 시장에 적응할 수 있도록 조정하고, 위험을 제어하기 위해 스톱 손실 수준을 조정하고, 거래 방향을 조정하여 더 많은 것을 할 수 있습니다.

하이퍼 트렌드를 필터링 지표로 추가하면 트렌드 상황에서 전략이 더 잘 작동 할 수 있습니다. 하이퍼 트렌드 지표는 트렌드 방향을 정확하게 판단하여 흔들리는 상황에서 함축되는 것을 피할 수 있습니다.

위험 분석

이 전략의 가장 큰 위험은 축 회전점이 가짜 돌파가 발생할 수 있다는 것입니다. 즉, 가격이 중요한 지점을 돌파한 후 곧 다시 회전할 수 있습니다. 이 때 전략이 즉시 입문하면 설정 될 수 있습니다. 따라서 합리적인 중단 수준을 설정하는 것이 특히 중요합니다.

또 다른 위험은 트렌드 반전이 실패하는 것이다. 때로는 가격이 중심축 지점을 돌파한 후 트렌드 반전이 아니라 원래의 트렌드 운행을 계속한다. 이 때 초 트렌드 지표는 필터링 역할을하여 잘못된 입구를 방지할 수 있다. 그러나 강한 트렌드 행태에서 이러한 위험은 여전히 존재한다.

하이퍼 트렌드를 필터링 지표로 사용하는 것은 장단점이 있지만, 하이퍼 트렌드가 잘못된 판단을 할 때 진정한 역전 기회를 놓칠 수도 있습니다. 이것은 다른 시장 상황에 맞게 파라미터를 조정해야합니다.

전반적으로, 적절한 스톱 포인트 조정, 합리적인 재원 사용 비율配置, 적시에 전략 매개 변수를 조정하면 위험을 효과적으로 제어 할 수 있습니다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 여러 시간 주기의 판단을 추가하고, 여러 시간 축의 검증을 수행하여, 을 피하십시오.

  2. 거래량이 급증하는 것과 같은 증가를 측정하여 돌파구를 확인한다.

  3. 가격 이동에 따라 상쇄, 수익 후 상쇄를 확대하는 등 상쇄 제도를 최적화한다.

  4. 기계 학습 요소를 추가하여 전략이 다른 시장 환경에 적응할 수 있도록 한다. 예를 들어 자동 최적화 파라미터, 동적으로 조정되는 스톱 로즈 등이다.

  5. 한 시간대에 입점하고 다른 시간대에 중지 또는 중지하는 것을 의미하는 시간대 간 거래를 증가시킵니다.

  6. 다양한 필터링 지표들을 테스트하여, 더 적합한 지표들을 찾아서 초상향을 대체하고, 전략의 효과를 향상시킨다.

  7. 포트폴리오 최적화, 다른 비관련 전략과 포트폴리오 최적화는 연관성을 줄이고 안정성을 높일 수 있다.

위의 몇 가지 점의 최적화를 통해 전략의 성능을 크게 향상시킬 수 있습니다. 복잡한 변화하는 시장 환경에 더 잘 적응하여 더 우수한 수익률을 얻을 수 있습니다.

요약하다

초 트렌드 강화 축 반전 전략은 효율적인 거래 전략이다. 이 전략은 축점의 높은 정밀성과 초 트렌드 지표의 강력한 트렌드 추적 능력을 결합하여 소음을 필터링하여 성공률을 높인다. 이 전략은 파라미터를 조정하여 다양한 시장 환경에 적응할 수 있으며 강한 적응력을 가지고 있다.

전략 소스 코드
/*backtest
start: 2022-10-18 00:00:00
end: 2023-10-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PresentTrading

//@version=5
strategy("SuperTrend Enhanced Pivot Reversal - Strategy [PresentTrading]", overlay=true, precision=3, default_qty_type=strategy.cash, 
 commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1, 
  currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000)

// Pivot Reversal parameters
leftBars = input(6)
rightBars = input(3)
swh = ta.pivothigh(leftBars, rightBars)
swl = ta.pivotlow(leftBars, rightBars)

// SuperTrend parameters
atrPeriod = input(5, "ATR Length")
factor = input.float(2.618, "Factor", step = 0.01)

[superTrend, direction] = ta.supertrend(factor, atrPeriod)

// Plot the SuperTrend
plot(superTrend, title="SuperTrend", color=color.blue)


// Trade Direction parameter
tradeDirection = input.string(title="Trade Direction", defval="Both", options=["Long", "Short", "Both"])

// Stop Loss Level (in %)
stopLossLevel = input(20, title="Stop Loss Level (%)")

// Convert the stop loss level to a price difference
stopLossPrice = stopLossLevel / 100


// Long entry
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 direction > 0 and (tradeDirection == "Long" or tradeDirection == "Both"))
    strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)
    strategy.exit("Exit Long", "PivRevLE", stop = hprice * (1 - stopLossPrice))

// Short entry
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 direction < 0 and (tradeDirection == "Short" or tradeDirection == "Both"))
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)
    strategy.exit("Exit Short", "PivRevSE", stop = lprice * (1 + stopLossPrice))


// Closing positions when the tradeDirection is one-sided or when SuperTrend direction changes
if ((tradeDirection == "Long" and se and direction < 0) or (tradeDirection == "Long" and direction < 0))
    strategy.close("PivRevLE")
if ((tradeDirection == "Short" and le and direction > 0) or (tradeDirection == "Short" and direction > 0))
    strategy.close("PivRevSE")

// Plot pivot highs and lows
plotshape(swh_cond, title="Pivot Highs", location=location.belowbar, color=color.green, style=shape.triangleup)
plotshape(swl_cond, title="Pivot Lows", location=location.abovebar, color=color.red, style=shape.triangledown)

// Closing positions when the tradeDirection is one-sided
if (tradeDirection == "Long" and se and direction < 0)
    strategy.close("PivRevLE")
if (tradeDirection == "Short" and le and direction > 0)
    strategy.close("PivRevSE")