Strategi Sunny Supertrend adalah strategi trend-mengikuti berdasarkan penunjuk ATR dan SuperTrend. Ia boleh meramalkan dengan tepat pembalikan trend dan berfungsi dengan sempurna sebagai penunjuk masa. Strategi ini boleh meningkatkan kesabaran dan membantu peniaga memasuki dan keluar dari pasaran pada masa yang tepat.
Strategi ini menggunakan penunjuk SuperTrend untuk menentukan arah trend semasa. Apabila penunjuk SuperTrend mengubah arah, kami fikir pembalikan trend mungkin berlaku. Di samping itu, strategi ini juga menggunakan arah badan lilin untuk penghakiman tambahan. Apabila isyarat pembalikan berpotensi muncul dan arah badan lilin konsisten dengan yang sebelumnya, isyarat yang tidak sah disaring.
Khususnya, strategi menghasilkan isyarat perdagangan mengikut logik berikut:
Indikator Supertrend cenderung untuk menjana isyarat berlebihan yang perlu disaring Penyelesaian: Strategi ini menggunakan hala tuju badan candlestick untuk penilaian tambahan untuk menapis isyarat yang tidak sah dengan berkesan
Parameter supertrend cenderung untuk terlalu optimum
Penyelesaian: Gunakan parameter lalai untuk mengelakkan tweaking manual dan terlalu optimum
Tidak dapat memproses pembalikan trend ultra pantas Penyelesaian: Sesuaikan parameter tempoh ATR dengan sewajarnya untuk menangani pergerakan pasaran yang lebih pantas
Strategi Sunny Supertrend adalah strategi pembalikan trend yang cekap berdasarkan penunjuk SuperTrend. Ia menggabungkan arah badan candlestick untuk penghakiman tambahan, yang dapat menapis isyarat yang tidak sah dengan berkesan dan meningkatkan kualiti isyarat. Strategi ini mudah dikendalikan, sangat mudah disesuaikan, dan boleh digunakan secara meluas di pelbagai produk dan jangka masa. Dengan mengoptimumkan parameter dengan munasabah dan meningkatkan mekanisme stop loss, prestasi strategi dapat ditingkatkan lagi.
/*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)