Strategi Crossover Rata-rata Pergerakan Ganda


Tanggal Pembuatan: 2023-12-01 18:18:16 Akhirnya memodifikasi: 2023-12-01 18:18:16
menyalin: 2 Jumlah klik: 668
1
fokus pada
1619
Pengikut

Strategi Crossover Rata-rata Pergerakan Ganda

Ringkasan

Strategi ini adalah strategi pelacakan tren yang didasarkan pada crossover double mean line. Strategi ini menggabungkan rata-rata bergerak sederhana cepat (SMA) dan rata-rata bergerak berbobot lambat (VWMA), menggunakan crossover dua rata-rata untuk membentuk sinyal beli dan jual.

Ketika SMA cepat ke atas melewati VWMA lambat, menghasilkan sinyal beli; ketika SMA cepat ke bawah melewati VWMA lambat, menghasilkan sinyal jual. Strategi menggunakan mekanisme pengendalian risiko.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada sistem crossover dua rata-rata. Secara khusus, strategi ini menggunakan indikator teknis berikut:

  1. Rata-rata bergerak sederhana (SMA): mengambil rata-rata aritmatika dari harga penutupan n hari terakhir, yang dapat mencerminkan harga rata-rata periode terakhir.
  2. Rata-rata Bergerak Bertimbang ((VWMA): Rata-rata tertimbang dari harga penutupan n hari terakhir, memberikan bobot yang lebih besar pada harga terkini dan dapat merespons perubahan harga lebih cepat.

Parameter SMA cepat dalam garis rata-rata ganda memiliki pengaturan yang lebih pendek untuk merespons perubahan harga dengan cepat; VWMA lambat lebih panjang dan memiliki efek riak. Ketika tren jangka pendek dan jangka panjang bergerak ke arah yang sama, SMA cepat melintasi VWMA lambat ke atas menghasilkan sinyal beli; melintasi ke bawah menghasilkan sinyal jual.

Strategi ini juga mengatur mekanisme stop loss. Ketika harga bergerak ke arah yang tidak menguntungkan, stop loss dilakukan tepat waktu untuk mengendalikan risiko.

Analisis Keunggulan

  1. Respons cepat terhadap perubahan tren pasar
  2. Penarikan dikendalikan, mekanisme stop loss dikendalikan secara efektif
  3. Implementasi sederhana, intuitif, dan mudah dipahami
  4. Dapat dioptimalkan dengan menyesuaikan parameter untuk menyesuaikan dengan kondisi pasar yang berbeda

Analisis risiko

  1. Strategi Garis Persamaan Ganda Mudah Membuat Pasar Berkepala Banyak
  2. Parameter yang tepat harus dipilih, pengaturan yang tidak tepat dapat menyebabkan kerugian
  3. Kadang-kadang sakit kepala dapat menyebabkan kerusakan akibat kejadian di Markt

Metode pengendalian risiko:

  1. Konfirmasi menggunakan indikator penyaringan tren
  2. Pengaturan Parameter Optimasi
  3. Mengadopsi strategi stop loss dan pengendalian kerugian tunggal

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Konfirmasi dalam kombinasi dengan indikator teknis lainnya, seperti RSI, Brinline, dan lain-lain, untuk meningkatkan akurasi sinyal
  2. Optimalkan panjang parameter rata-rata, menyesuaikan parameter sesuai dengan periode yang berbeda
  3. Perdagangan di titik-titik dengan banyak energi yang masuk dan keluar, digabungkan dengan indikator volume transaksi
  4. Sesuaikan parameter dengan hasil pengukuran ulang dan pilih parameter yang optimal
  5. Menggunakan Stop Loss Dinamis untuk Mengatur Stop Loss Sesuai dengan Ketegangan Pasar

Meringkaskan

Strategi ini secara keseluruhan merupakan strategi pelacakan tren yang sangat praktis. Strategi ini menggunakan persilangan garis rata ganda yang sederhana dan intuitif untuk menghasilkan sinyal perdagangan. Dengan kombinasi garis rata cepat dan garis rata lambat, strategi ini dapat secara efektif menangkap perubahan tren pasar.

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

//@version=4
//strategy(title="Bitlinc Entry v0.1 VWMA / SMA / MRSI SQQQ 94M", overlay=true, initial_capital=10000, currency='USD')

strategy(title="Bitlinc Entry v0.1 VWMA / SMA / MRSI SQQQ 94M", overlay=true)

// Credit goes to this developer for the "Date Range Code"
// https://www.tradingview.com/script/62hUcP6O-How-To-Set-Backtest-Date-Range/

// === GENERAL INPUTS ===
// short ma
maFastSource   = input(defval = close, title = "Simple MA Source")
maFastLength   = input(defval = 6, title = "Simple MA Length", minval = 1)
// long ma
maSlowSource   = input(defval = high, title = "VW MA Source")
maSlowLength   = input(defval = 7, title = "VW MA Period", minval = 1)


// === SERIES SETUP ===
// a couple of ma's...
maFast = sma(maFastSource, maFastLength)
maSlow = vwma(maSlowSource, maSlowLength)


// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = color.green, linewidth = 2, style = plot.style_line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = color.red, linewidth = 2, style = plot.style_line, transp = 30)

// === INPUT BACKTEST RANGE ===
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 = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

// === LOGIC ===
enterLong = crossover(maFast, maSlow)
exitLong = crossover(maSlow, maFast)
//enterLong = crossover(maSlow, maFast)
//exitLong = crossover(maFast, maSlow)

// Entry //
strategy.entry(id="Long Entry", long=true, when=window() and enterLong)
strategy.entry(id="Short Entry", long=false, when=window() and exitLong)

// === FILL ====
fill(fast, slow, color = maFast > maSlow ? color.green : color.red)

// === MRSI ===
//
//

basis = rsi(close, input(50))

ma1 = ema(basis, input(2))
ma2 = ema(basis, input(27))

oversold = input(32.6)
overbought = input(63)

//plot(ma1, title="RSI EMA1", color=blue)
//plot(ma2, title="RSI EMA2", color=yellow)

obhist = ma1 >= overbought ? ma1 : overbought
oshist = ma1 <= oversold ? ma1 : oversold

//plot(obhist, title="Overbought Highligth", style=columns, color=color.maroon, histbase=overbought)
//plot(oshist, title="Oversold Highligth", style=columns, color=color.yellow, histbase=oversold)

//i1 = hline(oversold, title="Oversold Level", color=white)
//i2 = hline(overbought, title="Overbought Level", color=white)

//fill(i1, i2, color=olive, transp=100)

// === LOGIC ===
enterLongMrsi = crossover(ma1, oversold)
exitLongMrsi = crossover(ma1, overbought)

// Entry //
strategy.entry(id="MRSI Long Entry", long=true, when=window() and enterLongMrsi)
strategy.entry(id="MRSI Short Entry", long=false, when=window() and exitLongMrsi)

//hline(50, title="50 Level", color=white)