Tren Mengikuti Strategi Perdagangan Indikator Energi

Penulis:ChaoZhang, Tanggal: 2023-11-15 17:36:46
Tag:

img

Gambaran umum

Strategi ini adalah strategi trend following yang diperdagangkan berdasarkan indikator Smeared Variability Channel Index (Smeared VCI) by vitelot. Strategi ini menggabungkan penilaian tren rata-rata bergerak dan penilaian overbought/oversold VCI untuk menangkap arah tren utama harga.

Logika Strategi

Strategi ini menggunakan indikator VCI Smeared Vitelot untuk menentukan arah tren. Indikator VCI Smeared adalah VCI halus (Variability Channel Index). Ini terdiri dari tiga parameter: EMA cepat, EMA lambat dan periode pelemahan. Ketika EMA cepat berada di atas EMA lambat, itu bullish, jika tidak, itu bearish. Proses pelemahan menyaring beberapa kebisingan.

Ada dua kondisi yang ditetapkan dalam strategi:

  1. VCI yang tercemar melintasi di atas garis pemicu adalah sinyal panjang, dan melintasi di bawah adalah sinyal pendek.

  2. Hanya perdagangan dalam jendela waktu backtest.

Ketika kedua kondisi terpenuhi, posisi panjang atau pendek akan diambil.

Analisis Keuntungan

Keuntungan dari strategi ini adalah:

  1. Menggunakan indikator trend berikut, dapat secara efektif melacak tren.

  2. Proses penghalusan mengurangi sinyal palsu.

  3. Backtesting dalam jendela waktu berfokus pada periode tertentu.

  4. Set stop loss mengontrol risiko.

  5. Menggunakan parameter indikator untuk keputusan panjang/pendek membuat aturan sederhana dan jelas.

Analisis Risiko

Ada juga beberapa risiko dalam strategi ini:

  1. Penghakiman tren mungkin salah, menyebabkan kerugian.

  2. Pengaturan parameter indikator yang tidak tepat dapat menyebabkan profitabilitas yang buruk.

  3. Pengaturan stop loss yang terlalu kecil dapat mengakibatkan berhenti dengan cepat.

  4. Jendela waktu backtest yang tidak tepat dapat menyebabkan hasil tes bias.

  5. Perpindahan panjang/pendek yang terlalu sering dapat menyebabkan tekanan komisi.

Arahan Optimasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Uji kombinasi parameter yang berbeda untuk menemukan parameter yang optimal.

  2. Gunakan indikator lain untuk konfirmasi untuk meningkatkan akurasi.

  3. Mengoptimalkan algoritma stop loss untuk mencapai stop loss yang dinamis.

  4. Mengoptimalkan kondisi masuk untuk menghindari overtrading.

  5. Uji jendela waktu yang lebih lama untuk memverifikasi stabilitas.

  6. Sertakan faktor lain seperti volume untuk meningkatkan akurasi keputusan.

Ringkasan

Secara singkat, ini adalah strategi trend following yang relatif sederhana. Ini menggunakan indikator Smeared VCI untuk menentukan arah tren dan posisi terbuka ketika sinyal perdagangan dihasilkan. Risiko dikendalikan oleh stop loss. Strategi ini memiliki kemampuan trend following tetapi juga memiliki beberapa risiko. Peningkatan lebih lanjut dapat dilakukan melalui optimasi parameter, optimasi stop loss dan menambahkan kondisi konfirmasi untuk menjadikannya sistem trading yang stabil dan andal.


/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Smeared VCI Backtest", overlay=false, shorttitle="SVCI Backtest", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital = 10000, slippage = 5)
// Smeared Variability Channel Index
//    a variation of the VCI indicator of the same author.
// The orange line over the lime line is bullish;
// The lime line over the orange one is bearish.
//
// vitelot/yanez/Vts
// Feb 2019
//
src = close

ep1 = input(5, minval=1, title="Fast EMA period")
ep2 = input(13, minval=2, title="Slow EMA period")

sm = input(34, minval=1, title="Smearing period")
tp = input(13, minval=1, title="Trigger line period")

fixedSL = input(title="SL Activation", defval=300)
trailSL = input(title="SL Trigger", defval=1)
fixedTP = input(title="TP Activation", defval=150)
trailTP = input(title="TP Trigger", defval=1)

FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth   = input(defval = 6, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 19, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2030, title = "To Year", minval = 2017)
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
startTimeOk()  => time >= start and time <= finish ? true : false // create function "within window of time" if statement true

atrP = 96

e1 = ema(src,ep1)
e2 = ema(src,ep2)

vci = (e1-e2)/atr(atrP)

svci = sma(vci,sm)
t = sma(svci,tp)

plot(svci, color=lime, linewidth=3, transp=0, title="Smeared VCI")
plot(t, color=orange, linewidth=3, transp=0, title="Trigger line")

hline(0, title="Reference line")

long = crossover(svci,t)
short = crossover(t,svci)

// === STRATEGY - LONG POSITION EXECUTION ===
strategy.entry("Long", strategy.long, when= long and startTimeOk())
strategy.exit("Exit", qty_percent = 100, loss=fixedSL, trail_offset=trailTP, trail_points=fixedTP) 
strategy.exit("Exit", when= short)
// === STRATEGY - SHORT POSITION EXECUTION ===
strategy.entry("Short", strategy.short, when= short and startTimeOk())
strategy.exit("Exit", qty_percent = 100, loss=fixedSL, trail_offset=trailTP, trail_points=fixedTP)
strategy.exit("Exit", when= long)

Lebih banyak