Trend Mengikut Strategi Perdagangan Indikator Tenaga

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

img

Ringkasan

Strategi ini adalah trend mengikuti strategi yang berdagang berdasarkan Indeks Saluran Variabiliti Smeared (Smeared VCI) penunjuk oleh vitelot. Ia menggabungkan penilaian trend purata bergerak dan penilaian overbought / oversold VCI untuk menangkap arah trend utama harga. Apabila harga berjalan ke dalam keadaan overbought atau oversold, operasi terbalik diambil untuk keuntungan.

Logika Strategi

Strategi ini menggunakan vitelots Smeared VCI indicator untuk menentukan arah trend. Smeared VCI indicator adalah VCI yang diluruskan (Variability Channel Index). Ia terdiri daripada tiga parameter: EMA cepat, EMA perlahan dan tempoh pelusukan. Apabila EMA cepat di atas EMA perlahan, ia adalah bullish, jika tidak ia adalah bearish. Proses pelusukan menapis beberapa bunyi bising.

Terdapat dua syarat yang ditetapkan dalam strategi:

  1. Pembebasan VCI di atas garis Trigger adalah isyarat panjang, dan memintas di bawah isyarat pendek.

  2. Hanya berdagang dalam tetingkap masa backtest.

Apabila kedua-dua syarat dipenuhi, kedudukan panjang atau pendek akan diambil.

Analisis Kelebihan

Kelebihan strategi ini ialah:

  1. Menggunakan trend berikut penunjuk, ia boleh dengan berkesan mengesan trend.

  2. Proses pelinciran mengurangkan isyarat palsu.

  3. Ujian balik dalam tetingkap masa memberi tumpuan kepada tempoh tertentu.

  4. Set stop loss mengawal risiko.

  5. Menggunakan parameter penunjuk untuk keputusan panjang/pendek menjadikan peraturan mudah dan jelas.

Analisis Risiko

Terdapat juga beberapa risiko dalam strategi ini:

  1. Penghakiman trend mungkin salah, membawa kepada kerugian.

  2. Tetapan parameter penunjuk yang tidak betul boleh membawa kepada keuntungan yang rendah.

  3. Tetapan stop loss yang terlalu kecil boleh menyebabkan berhenti dengan cepat.

  4. Jendela masa backtest yang tidak betul boleh membawa kepada hasil ujian yang berat sebelah.

  5. Pertukaran panjang/pendek yang terlalu kerap boleh menyebabkan tekanan komisen.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Uji kombinasi parameter yang berbeza untuk mencari parameter yang optimum.

  2. Gunakan penunjuk lain untuk pengesahan untuk meningkatkan ketepatan.

  3. Mengoptimumkan algoritma stop loss untuk mencapai stop loss trailing dinamik.

  4. Mengoptimumkan keadaan kemasukan untuk mengelakkan perdagangan berlebihan.

  5. Uji tingkap masa yang lebih lama untuk mengesahkan kestabilan.

  6. Sertakan faktor lain seperti jumlah untuk meningkatkan ketepatan keputusan.

Ringkasan

Ringkasnya, ini adalah strategi trend berikut yang agak mudah. Ia menggunakan penunjuk VCI Smeared untuk menentukan arah trend dan kedudukan terbuka apabila isyarat perdagangan dihasilkan. Risiko dikawal oleh stop loss. Strategi ini mempunyai keupayaan trend berikut tetapi juga mempunyai beberapa risiko. Penambahbaikan lanjut boleh dibuat melalui pengoptimuman parameter, pengoptimuman kehilangan berhenti dan menambah syarat pengesahan untuk menjadikannya sistem perdagangan yang stabil dan boleh dipercayai.


/*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 lanjut