
Strategi ini adalah strategi pelacakan tren untuk melakukan perdagangan berdasarkan indikator Smeared Variable Channel Index (Smeared VCI) darivitelot. Strategi ini menggabungkan penilaian tren dari rata-rata bergerak dan penilaian overbought dan oversold dari indikator Variable Channel untuk menangkap arah tren utama harga.
Strategi ini menggunakan indikator Smeared VCI darivitelot untuk menentukan arah tren. Smeared VCI diperlakukan dengan halus berdasarkan indeks saluran variabel (VCI). Terdiri dari tiga parameter: EMA cepat, EMA lambat, dan siklus lusuh.
Ada dua kondisi dalam strategi:
Smeared VCI atas menembus Trigger line untuk melakukan sinyal multi; bawah menembus untuk melakukan sinyal vakum
Transaksi hanya dalam jendela waktu retrospektif
Bila kedua kondisi tersebut terpenuhi secara bersamaan, maka dilakukan operasi over atau under. Bila kondisi over adalah stop loss atau muncul sinyal reversal maka over dilakukan.
Strategi ini memiliki keuntungan sebagai berikut:
Menggunakan indikator tipe trend tracker untuk melacak tren secara efektif
Menambahkan prosesor yang halus untuk mengurangi sinyal palsu
Menggunakan pengembalian jendela waktu, dapat melakukan pengujian terhadap situasi dalam waktu tertentu
Tetapkan Stop Loss dan Kendalikan Risiko
Menggunakan parameter indikator untuk penilaian polygon, aturan sederhana dan jelas
Strategi ini juga memiliki beberapa risiko:
Kesalahan dalam penilaian tren dapat mengakibatkan kerugian
Pengaturan parameter indikator yang tidak tepat dapat menyebabkan keuntungan yang buruk
Stop loss yang terlalu kecil dapat menyebabkan stop loss kecil
Jendela waktu pengembalian yang tidak masuk akal dapat menyebabkan hasil tes yang menyimpang
Terlalu sering beralih multispace dapat menyebabkan tekanan biaya transaksi.
Strategi ini dapat dioptimalkan dengan:
Uji kombinasi parameter yang berbeda untuk menemukan yang terbaik
Meningkatkan akurasi dengan menggunakan indikator lain untuk penilaian tambahan
Mengoptimalkan algoritma stop loss untuk melakukan tracking stop loss secara dinamis
Optimalkan kondisi pembukaan posisi, hindari perdagangan yang sering terjadi
Tes jendela waktu yang lebih lama untuk memverifikasi stabilitas strategi
Meningkatkan akurasi keputusan, dikombinasikan dengan faktor lain seperti volume transaksi
Strategi ini secara keseluruhan adalah strategi pelacakan tren yang relatif sederhana. Ini menggunakan indikator VCI Smeared untuk menentukan arah tren, membuka posisi saat indikator mengirim sinyal perdagangan; Mengontrol risiko dengan stop loss. Strategi ini memiliki kemampuan untuk melacak tren, tetapi ada juga risiko tertentu.
/*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)