슈퍼트렌드 강화된 피브트 역전 전략

저자:차오장, 날짜: 2023-10-25 11:15:40
태그:

img

전반적인 설명

슈퍼트렌드 증강 피보트 역전 (SuperTrend Enhanced Pivot Reversal) 은 피보트 역전 포인트의 정확성과 슈퍼트렌드 지표의 트렌드를 따르는 힘을 결합한 독특한 거래 접근법이다. 이 전략은 슈퍼트렌드 지표를 사용하여 잠재적으로 잘못된 신호를 필터링하는 동안 트레이더에게 명확한 입출 신호를 제공하는 것을 목표로합니다.

전통적인 피보트 역전 전략과는 달리, 이 접근법은 슈퍼트렌드 지표를 필터로 사용합니다. 이것은 슈퍼트렌드 지표에 의해 결정된 전체 추세와 일치하는 거래만을 취한다는 것을 의미합니다. 이것은 잘못된 신호를 줄이고 전략의 전반적인 수익성을 향상시키는 데 도움이 될 수 있습니다.

강화된 피보트 역전 전략은 높은 변동성으로 인해 암호화폐 시장에 특히 적합합니다. 이것은 짧은 기간에 빠른 가격 변화를 허용하여 빠르게 수익을 창출 할 수 있습니다. 피보트 포인트의 사용은 잠재적 인 역전 포인트를 식별함으로써 이러한 빠른 가격 움직임을 캡처 할 수 있습니다.

전략 논리

이 전략은 가격 차트에서 가격이 반전될 가능성이 있는 지점인 피보트 반전 지점을 식별함으로써 작동합니다. 이 지점은 특정 기간 동안 가장 높고 가장 낮은 가격 지점을 찾기 위해 ta.pivothigh과 ta.pivotlow 함수의 조합을 사용하여 식별됩니다.

피보트 반전 지점이 확인되면 전략은 슈퍼 트렌드 지표의 방향을 확인합니다. 슈퍼 트렌드가 긍정적 인 경우 (상승 트렌드를 나타냅니다), 전략은 긴 거래만 할 것입니다. 슈퍼 트렌드가 부정적 인 경우 (하락 트렌드를 나타냅니다), 그것은 짧은 거래를 할 것입니다.

이 전략은 또한 입시 가격의 비율로 설정된 스톱 로스 레벨을 포함합니다. 만약 가격이 거래에 반대되는 경우 잠재적인 손실을 제한하기 위해서입니다.

거래 방향은 Long, Short 또는 Both로 설정할 수 있으며, 거래자가 시장 시각과 위험 욕구에 따라 단기, 단기 또는 단기 두 가지 거래를 할 수 있습니다.

장점

이 전략의 주요 장점은 피브트 역전 전략의 정확성과 슈퍼 트렌드 지표의 트렌드 필터링 능력을 결합하는 것입니다.

피보트 역전 접근법은 주요 지지 및 저항 수준을 식별하고 빠른 브레이크오프를 캡처합니다. 슈퍼 트렌드는 많은 가짜 브레이크오프를 필터링하고 진정한 트렌드 역전에만 입력합니다. 이 조합은 잡음을 제거하고 승률과 수익성을 크게 향상시킬 수 있습니다.

또 다른 장점은 전략의 적응력이다. 매개 변수는 다른 시장 조건에 맞게 조정할 수 있다. 예를 들어, 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")



더 많은