Sunny Supertrend Strategi

Penulis:ChaoZhang, Tarikh: 2023-12-13 14:40:24
Tag:

img

Ringkasan

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.

Logika Strategi

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:

  1. Gunakan penunjuk SuperTrend untuk menentukan arah trend utama
  2. Apabila arah penunjuk SuperTrend berubah, isyarat pembalikan berpotensi dihasilkan
  3. Jika hala tuju badan candlestick adalah konsisten dengan yang sebelumnya pada masa ini, isyarat pembalikan ditapis keluar
  4. Jika arah badan lilin berubah, isyarat pembalikan disahkan dan isyarat perdagangan dihasilkan

Analisis Kelebihan

  1. Berdasarkan penunjuk Supertrend, ia boleh menentukan dengan tepat titik pembalikan trend
  2. Menapis isyarat yang tidak sah dengan menggabungkan arah badan candlestick untuk meningkatkan kualiti isyarat
  3. Sesuai sebagai penunjuk masa untuk membimbing pelabur untuk memilih masa masuk dan keluar yang munasabah
  4. Digunakan secara meluas untuk mana-mana jangka masa dan jenis yang berbeza dengan daya adaptasi yang kuat

Risiko dan Penyelesaian

  1. 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

  2. Parameter supertrend cenderung untuk terlalu optimum
    Penyelesaian: Gunakan parameter lalai untuk mengelakkan tweaking manual dan terlalu optimum

  3. Tidak dapat memproses pembalikan trend ultra pantas Penyelesaian: Sesuaikan parameter tempoh ATR dengan sewajarnya untuk menangani pergerakan pasaran yang lebih pantas

Arahan pengoptimuman

  1. Cuba kombinasi yang berbeza parameter tempoh ATR
  2. Tambah jumlah atau penunjuk turun naik untuk membantu menapis isyarat
  3. Gabungkan dengan sistem lain untuk meningkatkan prestasi strategi
  4. Membangunkan mekanisme hentian kerugian untuk mengawal kerugian tunggal

Kesimpulan

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)


Lebih lanjut