Strategi Mengikuti Tren Super


Tanggal Pembuatan: 2023-12-26 15:58:55 Akhirnya memodifikasi: 2023-12-26 15:58:55
menyalin: 1 Jumlah klik: 395
1
fokus pada
1224
Pengikut

Strategi Mengikuti Tren Super

Ringkasan

Strategi ini adalah strategi supertrend jenis pelacakan, ide utamanya adalah mengkombinasikan indikator supertrend dengan pengaturan parameter yang berbeda untuk mencapai efek pelacakan, dan menggunakan indikator filter untuk pengendalian risiko. Ide inti dari strategi ini sederhana, praktis, mudah dipahami, dan cocok untuk pemula.

Prinsip Strategi

Strategi ini terutama terdiri dari tiga kelompok indikator supertrend dengan pengaturan parameter yang berbeda. Kelompok pertama indikator supertrend utama menggunakan parameter default untuk menentukan arah tren pasar; Kelompok kedua indikator sub-supertrend untuk melacak perubahan harga dengan lebih sensitif dengan mengurangi siklus ATR dan meningkatkan kelipatan ATR; Kelompok ketiga indikator supertrend filter dengan meningkatkan siklus ATR dan kelipatan ATR secara tepat untuk memfilter penembusan palsu.

Ketika supertrend utama mengeluarkan sinyal beli, jika sub-supertrend juga mengeluarkan sinyal secara simultan, dan arah filter supertrend adalah ke atas, maka strategi ini mengambil pembelian yang dilacak; ketika supertrend utama mengeluarkan sinyal jual, jika sub-supertrend juga mengeluarkan sinyal secara simultan, dan arah filter supertrend adalah ke bawah, maka strategi ini mengambil penjualan yang dilacak. Dengan demikian, Anda dapat menggunakan indikator sub-supertrend untuk melacak dengan sensitif penyesuaian kecil, sehingga masuk dan berhenti tepat waktu, sambil memastikan menangkap tren utama.

Keunggulan Strategis

  1. Strategi yang sederhana, jelas, dan mudah dipahami, cocok untuk pemula
  2. Pengaturan parameter kebijakan yang masuk akal untuk melacak tren dan mengendalikan risiko secara efektif
  3. Sinyal strategi lebih akurat, lebih dapat diandalkan, dan memiliki tingkat kemenangan yang lebih tinggi
  4. Menggabungkan kombinasi parameter yang berbeda untuk mencapai efek pelacakan
  5. Menambahkan mekanisme filter, yang dapat secara efektif menyaring sinyal palsu, mengendalikan risiko

Risiko Strategis

  1. Risiko sistematis dari saham itu sendiri
  2. Indikator Supertrend mungkin mengalami keterlambatan di beberapa pasar
  3. Setting parameter yang digunakan dalam indikator ATR yang tidak tepat dapat menyebabkan sinyal strategi yang menyimpang
  4. Strategi trading yang tidak memadai dapat menyebabkan kesulitan untuk menutup seluruh posisi.

Tindakan pencegahan risiko utama:

  1. Pilih saham dengan likuiditas tinggi dan volatilitas tinggi
  2. Parameter optimasi yang tepat untuk mengurangi kemungkinan keterlambatan
  3. Optimisasi pengujian parameter untuk meningkatkan akurasi sinyal
  4. Memaksimalkan volume transaksi dengan tepat untuk memastikan ruang stop loss

Arah optimasi strategi

  1. Uji kombinasi parameter siklus ATR yang berbeda untuk mengoptimalkan efek pelacakan
  2. Cobalah indikator volatilitas lain sebagai pengganti ATR
  3. Meningkatkan atau mengurangi jumlah kombinasi supertrend, tes efek
  4. Cobalah untuk mengoptimalkan filter sinyal digabungkan dengan indikator lain
  5. Mencoba berbagai cara untuk menangkal kerugian dan mencari solusi terbaik

Meringkaskan

Strategi ini memiliki konsep yang jelas dan sederhana, dengan beberapa indikator tren super yang diatur dengan parameter yang berbeda untuk saling bekerja sama, untuk melacak masuk dan mengendalikan risiko. Sinyal strategi lebih akurat, kinerja yang baik, cocok untuk belajar pemula, juga dapat digunakan sebagai template untuk melakukan pengujian berbagai indikator dan parameter.

Kode Sumber Strategi
/*backtest
start: 2023-11-25 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Supertrend TEST 2 Strategy", overlay = true, format=format.price, precision=2)

Periods = input(title="ATR Period", type=input.integer, defval=4)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=4.7)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=true)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
tp=close
sl=close

atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green )
plotshape(buySignal and showsignals ? up : na, title="Лонг", text="Лонг", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white )
dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red )
plotshape(sellSignal and showsignals ? dn : na, title="Шорт", text="Шорт", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white )
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white

sPeriods=input(title="ATR Period", type=input.integer, defval=8)
sMultiplier=input(title="dop ATR Multiplier", type=input.float, step=0.1, defval=1.5)
satr2 = sma(tr, sPeriods)
satr= changeATR ? atr(sPeriods) : satr2
ssup=ohlc4-(sMultiplier*satr)
ssup1 = nz(ssup[1],ssup)
ssup := close[1] > ssup1 ? max(ssup,ssup1) : ssup
sdn=ohlc4+(sMultiplier*satr)
sdn1 = nz(sdn[1], sdn)
sdn := close[1] < sdn1 ? min(sdn, sdn1) : sdn
strend = 1
strend := nz(strend[1], strend)
strend := strend == -1 and close > sdn1 ? 1 : strend == 1 and close < ssup1 ? -1 : strend
sbuySignal = strend == 1 and strend[1] == -1
ssellSignal = strend == -1 and strend[1] == 1

fPeriods=input(title="ATR Period", type=input.integer, defval=10)
fMultiplier=input(title="filter ATR Multiplier", type=input.float, step=0.1, defval=5)
fatr2 = sma(tr, fPeriods)
fatr= changeATR ? atr(fPeriods) : fatr2
fup=ohlc4-(fMultiplier*fatr)
fup1 = nz(fup[1],fup)
fup := close[1] > fup1 ? max(fup,fup1) : fup
fdn=ohlc4+(fMultiplier*fatr)
fdn1 = nz(fdn[1], fdn)
fdn := close[1] < fdn1 ? min(fdn, fdn1) : fdn
ftrend = 1
ftrend := nz(ftrend[1], ftrend)
ftrend := ftrend == -1 and close > fdn1 ? 1 : ftrend == 1 and close < fup1 ? -1 : ftrend
fbuySignal = ftrend == 1 and ftrend[1] == -1
fsellSignal = ftrend == -1 and ftrend[1] == 1
tcolor=color.new(color.gray,50)
fdnPlot = plot(ftrend == 1 ? na : fdn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=tcolor)
fupPlot = plot(ftrend == 1 ? fup : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=tcolor)



if (strategy.position_size > 0)
	tp:=tp[1]
	sl:=up
	strategy.exit("Long_TP/SL","Long",limit=tp, stop=sl)
	
if (strategy.position_size < 0)
	tp:=tp[1]
	sl:=dn
	strategy.exit("Short_TP/SL","Short",limit=tp, stop=sl)



if ((buySignal and  ftrend==1) or (sbuySignal and trend==1 and  ftrend==1)) 
	tp:=close+(close-up)*0.382
    strategy.entry("Long", strategy.long,  limit=tp, comment=tostring(round(tp)))
if ((sellSignal and ftrend==-1) or (ssellSignal and trend==-1 and  ftrend==-1)) 
	tp:=close-(dn-close)*0.382
    strategy.entry("Short", strategy.short, limit=tp, comment=tostring(round(tp)))