Strategi Pelacakan Supertrend Dual Timeframe

Penulis:ChaoZhang, Tanggal: 2023-09-22 14:27:52
Tag:

Gambaran umum

Ini adalah strategi pelacakan Supertrend jangka waktu ganda. Ini menerapkan indikator Supertrend dalam dua periode waktu yang berbeda, satu sebagai jangka waktu utama untuk menentukan arah tren, dan satu sebagai jangka waktu tambahan untuk menyaring entri.

Logika Strategi

Indikator inti dari strategi ini adalah Supertrend. Supertrend menentukan arah tren relatif harga dengan menghitung volatilitas harga. Strategi ini menggunakan Supertrend dalam dua periode waktu, menghitung garis Supertrend untuk jangka waktu utama dan tambahan masing-masing.

Logika perdagangan khusus adalah:

  1. Gunakan arah dari kerangka waktu utama Supertrend sebagai arah tren keseluruhan.

  2. Masukkan ketika waktu tambahan Supertrend mengeluarkan sinyal ke arah yang sama.

  3. Setel stop loss dan ambil poin keuntungan.

  4. Keluar saat kerangka waktu utama Supertrend berputar lagi.

Dengan menggabungkan dua indikator jangka waktu, beberapa perbedaan dapat disaring untuk entri yang lebih tepat.

Analisis Keuntungan

Keuntungan dari strategi ini meliputi:

  1. Kombinasi dua kerangka waktu memungkinkan penilaian tren yang lebih akurat.

  2. Supertrend sensitif terhadap perubahan tren, dengan entri yang akurat.

  3. Hentikan kerugian dan ambil risiko pengendalian keuntungan.

  4. Logika strategi yang sederhana dan langsung, mudah dimengerti.

  5. Parameter dapat disesuaikan untuk produk yang berbeda.

Analisis Risiko

Risiko utama adalah:

  1. Supertrend lag bisa menyebabkan sinyal yang salah dinilai.

  2. Stop loss dan take profit yang tidak tepat dapat menyebabkan over-chasing trend atau stop loss prematur.

  3. Kerangka waktu ganda mungkin kehilangan beberapa pembalikan yang lebih pendek.

  4. Optimasi parameter bergantung pada data historis, ada risiko overfit.

  5. Tidak mempertimbangkan biaya transaksi.

Solusinya adalah:

  1. Sesuaikan parameter indikator, tambahkan indikator lain untuk verifikasi kombinasi.

  2. Dinamis mengoptimalkan stop loss dan mengambil keuntungan berdasarkan hasil backtest.

  3. Uji jangka waktu yang lebih pendek sebagai penilaian tambahan.

  4. Memperluas rentang data backtest, verifikasi backtest multi pasar.

  5. Tambahkan biaya transaksi seperti komisi dan slip.

Arahan Optimasi

Strategi dapat dioptimalkan lebih lanjut dengan:

  1. Mencoba lebih banyak kombinasi indikator untuk menemukan kombinasi optimal.

  2. Menggunakan pembelajaran mesin untuk mengoptimalkan parameter secara dinamis.

  3. Mengoptimalkan stop loss dan mengambil keuntungan untuk rasio risiko-balasan yang lebih baik.

  4. Mencoba kombinasi dari lebih banyak kerangka waktu.

  5. Mengatur rentang mengambil keuntungan dan stop loss berdasarkan jumlah perdagangan.

  6. Menambahkan komisi dan logika slippage.

  7. Mengembangkan alat optimasi parameter grafis.

Kesimpulan

Strategi ini mencapai penilaian tren dan entri yang relatif akurat dengan menggunakan indikator Supertrend jangka waktu ganda. Ini mengendalikan risiko dengan mengatur stop loss dan take profit. Logika strategi sederhana dan jelas, mudah diperluas dan dioptimalkan. Ini dapat ditingkatkan dengan memperkenalkan lebih banyak indikator, mengoptimalkan parameter secara dinamis, menambahkan biaya transaksi dll untuk membuatnya lebih kuat. Secara keseluruhan, strategi ini memberikan ide pelacakan tren jangka waktu ganda yang berguna yang memiliki nilai referensi yang baik.


/*backtest
start: 2023-08-22 00:00:00
end: 2023-09-21 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Supertrend Strategy by breizh29 using *rajandran.r* Supertrend Indicator

// strategy("Super Trend 2", overlay=true, default_qty_value=100)
TrendUp = 0.0
TrendDown = 0.0
Trend = 0.0
MTrendUp = 0.0
MTrendDown = 0.0
MTrend = 0.0

res = input(title="Main SuperTrend Time Frame",  defval="120")
Factor=input(1, minval=1,maxval = 100)
Pd=input(1, minval=1,maxval = 100)

tp = input(500,title="Take Profit")
sl = input(400,title="Stop Loss")


Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
MUp=security(syminfo.tickerid,res,hl2-(Factor*atr(Pd)))
MDn=security(syminfo.tickerid,res,hl2+(Factor*atr(Pd)))

Mclose=security(syminfo.tickerid,res,close)

TrendUp:=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown:=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn

MTrendUp:=Mclose[1]>MTrendUp[1]? max(MUp,MTrendUp[1]) : MUp
MTrendDown:=Mclose[1]<MTrendDown[1]? min(MDn,MTrendDown[1]) : MDn

Trend := close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown

MTrend := Mclose > MTrendDown[1] ? 1: Mclose< MTrendUp[1]? -1: nz(MTrend[1],1)
MTsl = MTrend==1? MTrendUp: MTrendDown

linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")

Mlinecolor = MTrend == 1 ? blue : orange
plot(MTsl, color = Mlinecolor , style = line , linewidth = 2,title = "Main SuperTrend")

plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)

up = Trend == 1 and Trend[1] == -1 and MTrend == 1 
down = Trend == -1 and Trend[1] == 1 and MTrend == -1 
plotarrow(up ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(down ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)


golong = Trend == 1 and Trend[1] == -1 and MTrend == 1 
goshort = Trend == -1 and Trend[1] == 1 and MTrend == -1 

strategy.entry("Buy", strategy.long,when=golong)
strategy.exit("Close Buy","Buy",profit=tp,loss=sl)
   
   
strategy.entry("Sell", strategy.short,when=goshort)
strategy.exit("Close Sell","Sell",profit=tp,loss=sl)



Lebih banyak