썬니 슈퍼트렌드 전략은 ATR 및 슈퍼트렌드 지표를 기반으로하는 트렌드를 따르는 전략이다. 트렌드 반전을 정확하게 예측할 수 있으며 타이밍 지표로 완벽하게 작동합니다. 전략은 인내심을 높이고 거래자가 적절한 시간에 시장에 진입하고 빠져나가는 데 도움이 될 수 있습니다.
이 전략은 현재 트렌드 방향을 결정하기 위해 슈퍼트렌드 지표를 사용합니다. 슈퍼트렌드 지표가 방향을 변경하면 트렌드 반전이 발생할 수 있다고 생각합니다. 또한 전략은 보조 판단을 위해 촛불 몸의 방향을 사용합니다. 잠재적 인 반전 신호가 나타나고 촛불 몸의 방향이 이전 방향과 일치하면 유효하지 않은 신호가 필터됩니다.
구체적으로, 전략은 다음과 같은 논리에 따라 거래 신호를 생성합니다:
슈퍼트렌드 지표는 필터링이 필요한 과잉 신호를 생성하는 경향이 있습니다. 솔루션: 이 전략은 유효하지 않은 신호를 효과적으로 필터링하기 위해 보조 판단을 위해 촛불체 방향을 사용합니다
슈퍼트렌드 매개 변수는 과도한 최적화에 유연합니다.
솔루션: 기본 매개 변수를 사용하여 수동 조정 및 과잉 최적화를 피합니다.
초고속 트렌드 반전을 처리할 수 없습니다. 해결책: 더 빠른 시장 움직임에 대응하기 위해 ATR 기간 매개 변수를 적절히 조정합니다.
썬니 슈퍼트렌드 전략은 슈퍼트렌드 지표를 기반으로 한 효율적인 트렌드 역전 전략이다. 보조 판단을 위해 촛불체 방향을 결합하여 유효하지 않은 신호를 효과적으로 필터링하고 신호 품질을 향상시킬 수 있습니다. 이 전략은 작동이 간단하고 매우 적응 가능하며 여러 제품과 시간 프레임에 걸쳐 광범위하게 사용할 수 있습니다. 매개 변수를 합리적으로 최적화하고 스톱 로스 메커니즘을 증가시킴으로써 전략의 성능을 더욱 향상시킬 수 있습니다.
/*backtest start: 2023-11-12 00:00:00 end: 2023-12-12 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Sunny Supertrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity) atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) [_, direction] = ta.supertrend(factor, atrPeriod) shor= close > open and close[1] > open[1] and close[2] > open[2] lon = open > close and open[1] > close[1] and open[2] > close[2] tt= ta.change(direction) < 0 ss= ta.change(direction) > 0 long= tt longexit = lon or ss short= ss shortexit = shor or tt longPosMem = false longexitPosMem = false shortPosMem = false shortexitPosMem = false longPosMem := long ? true : short ? false : longPosMem[1] longexitPosMem := longexit ? true : shortexit ? false : longexitPosMem[1] shortPosMem := short ? true : long ? false : shortPosMem[1] shortexitPosMem := shortexit ? true : longexit ? false : shortexitPosMem[1] longy = long and not(longPosMem[1]) longexity = longexit and not(longexitPosMem[1]) shorty = short and not(shortPosMem[1]) shortexity = shortexit and not(shortexitPosMem[1]) //Use this to customize the look of the arrows to suit your needs. plotshape(longy, location=location.abovebar, color=color.green, style=shape.arrowup, text="Buy") plotshape(longexity, location=location.top, color=color.green, style=shape.xcross, text="Buy exit") plotshape(shorty, location=location.belowbar, color=color.red, style=shape.arrowdown, text="Sell") plotshape(shortexity, location=location.bottom, color=color.red, style=shape.xcross, text="Sell exit") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr) // STEP 1: // Make input options that configure backtest date range startDate = input.int(title="Start Date", defval=1, minval=1, maxval=31) startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12) startYear = input.int(title="Start Year", defval=2021, minval=1800, maxval=2100) endDate = input.int(title="End Date", defval=1, minval=1, maxval=31) endMonth = input.int(title="End Month", defval=2, minval=1, maxval=12) endYear = input.int(title="End Year", defval=2021, minval=1800, maxval=2100) // STEP 2: // Look if the close time of the current bar // falls inside the date range inDateRange = true // STEP 3: // Submit entry orders, but only when bar is inside date range if (inDateRange and longy) strategy.entry("enter long",strategy.long,when= longy) strategy.close("long",when=longexity) if (inDateRange and shorty) strategy.entry("enter short",strategy.short,when = shorty) strategy.close("short", when=shortexity)