Strategi Sunny Supertrend adalah strategi mengikuti tren berdasarkan indikator ATR dan SuperTrend. Ini dapat secara akurat memprediksi pembalikan tren dan bekerja dengan sempurna sebagai indikator waktu. Strategi ini dapat meningkatkan kesabaran dan membantu pedagang memasuki dan keluar dari pasar pada waktu yang tepat.
Strategi ini menggunakan indikator SuperTrend untuk menentukan arah tren saat ini. Ketika indikator SuperTrend mengubah arah, kami pikir pembalikan tren dapat terjadi. Selain itu, strategi ini juga menggunakan arah tubuh lilin untuk penilaian tambahan. Ketika sinyal pembalikan potensial muncul dan arah tubuh lilin konsisten dengan yang sebelumnya, sinyal yang tidak valid disaring.
Secara khusus, strategi menghasilkan sinyal perdagangan sesuai dengan logika berikut:
Indikator Supertrend cenderung menghasilkan sinyal berlebihan yang perlu disaring Solusi: Strategi ini menggunakan arah tubuh candlestick untuk penilaian tambahan untuk secara efektif menyaring sinyal yang tidak valid
Parameter supertrend cenderung terlalu dioptimalkan
Solusi: Gunakan parameter default untuk menghindari tweaking manual dan overoptimization
Tidak dapat memproses pembalikan tren yang sangat cepat Solusi: Sesuaikan parameter periode ATR sesuai dengan pergerakan pasar yang lebih cepat
Strategi Sunny Supertrend adalah strategi pembalikan tren yang efisien berdasarkan indikator SuperTrend. Ini menggabungkan arah tubuh lilin untuk penilaian tambahan, yang dapat secara efektif menyaring sinyal yang tidak valid dan meningkatkan kualitas sinyal. Strategi ini sederhana untuk dioperasikan, sangat dapat disesuaikan, dan dapat digunakan secara luas di berbagai produk dan kerangka waktu. Dengan mengoptimalkan parameter secara wajar dan meningkatkan mekanisme stop loss, kinerja strategi dapat ditingkatkan lebih lanjut.
/*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)