Strategi investasi saham berdasarkan rata-rata pergerakan ganda dan volatilitas


Tanggal Pembuatan: 2023-12-20 14:54:41 Akhirnya memodifikasi: 2023-12-20 14:54:41
menyalin: 0 Jumlah klik: 661
1
fokus pada
1621
Pengikut

Strategi investasi saham berdasarkan rata-rata pergerakan ganda dan volatilitas

Ringkasan

Strategi ini didasarkan pada dua garis rata-rata dan indikator kekuatan relatif, digabungkan dengan volatilitas historis saham, untuk melakukan pembelian dan penjualan saham secara otomatis. Keuntungan dari strategi ini adalah penggabungan garis panjang dan garis pendek, yang dapat secara efektif mengendalikan risiko. Namun, ada juga ruang untuk perbaikan tertentu, misalnya dapat dipertimbangkan untuk memasukkan mekanisme stop loss.

Prinsip Strategi

Strategi ini menggunakan sistem garis rata ganda yang terdiri dari garis rata-rata linea 150 minggu dan garis rata-rata cepat 50 hari, serta garis rata-rata tercepat 20 hari. Ketika harga melewati garis 150 minggu, maka dianggap sebagai awal kenaikan, dan ketika harga melewati garis 50 hari, maka dianggap sebagai awal penurunan.

Selain itu, strategi ini juga menggunakan harga tertinggi fluktuasi tahunan dan indikator kekuatan relatif untuk menentukan waktu pembelian tertentu. Hanya ketika harga penutupan melebihi harga tertinggi yang dihitung dari fluktuasi tahunan dan indikator kekuatan relatif positif, sinyal beli akan dikirim.

Keunggulan Strategis

  1. Menggunakan sistem linear ganda untuk mengidentifikasi perubahan tren utama secara efektif dan mengejar penurunan
  2. Penambahan indikator fluktuasi dan intensitas untuk menghindari fluktuasi dalam situasi yang bergolak
  3. Dengan adanya 20 Hari Garis Rata-Rata Rapid, kerugian bisa dihentikan lebih cepat.

Risiko Strategis

  1. Ada beberapa keterlambatan, tidak dapat dihentikan dengan cepat
  2. Tidak ada set stop loss, mudah mengalami kerugian besar
  3. Kurangnya optimasi parameter, pengaturan parameter relatif subjektif

Untuk mengatasi risiko, Anda dapat mengatur stop loss, atau menggunakan kelipatan indikator ATR sebagai stop loss. Selain itu, Anda dapat mengoptimalkan parameter dengan pengukuran yang lebih ketat.

Arah optimasi strategi

  1. Meningkatkan mekanisme penghentian kerugian
  2. Menemukan parameter optimal menggunakan metode optimasi parameter
    1. Pertimbangkan untuk menambahkan sinyal penyaringan dengan indikator lain, seperti indikator volume transaksi
  3. Anda dapat mempertimbangkan untuk membuat strategi menjadi model multi-faktor yang menggabungkan lebih banyak indikator.

Meringkaskan

Strategi ini secara keseluruhan merupakan strategi investasi saham yang relatif konservatif. Strategi ini menggunakan dua garis rata untuk menilai tren utama, dan digabungkan dengan volatilitas dan intensitas indikator masuk, dapat secara efektif menyaring terobosan palsu.

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

//@version=4
//Relative Strength
strategy("Stan my man", overlay=true)
comparativeTickerId = input("BTC_USDT:swap",  title="Comparative Symbol")
l = input(50, type=input.integer, minval=1, title="Period")
baseSymbol = security(syminfo.tickerid, timeframe.period, close)
comparativeSymbol = security(comparativeTickerId, timeframe.period, close)
hline(0, color=color.black, linestyle=hline.style_dotted)
res = baseSymbol / baseSymbol[l] /(comparativeSymbol / comparativeSymbol[l]) - 1
plot(res, title="RS", color=#1155CC)

//volume ma
vol1 = sma(volume,20)
// 30 week ma
ema1 = ema(close, 150)
//consolidation
h1 = highest(high[1],365)

fastPeriod = input(title="Fast MA", type=input.integer, defval=50)
slowPeriod = input(title="Slow MA", type=input.integer, defval=150)
fastestperiod = input(title="Fastest MA", type=input.integer, defval=20)

fastEMA = ema(close, fastPeriod)
slowEMA = ema(close, slowPeriod)
fastestEMA = ema(close, fastestperiod)

monitorStrategy = close < close[20]


// trade conditions
buytradecondition1 = close >ema1 and res>0 and volume> 1.5*vol1 and close > h1
buytradecondition2 = close > fastEMA  and volume> 1.5* vol1 
selltradecondition1  = close< 0.95 * fastEMA 
selltradecondition2  = close< 0.90 * open

if (buytradecondition1)
    strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy")
    alert("Buy Alert Price (" + tostring(close) + ") crossed over Slow moving average",alert.freq_all)
    
if (buytradecondition2)
    strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy")
    alert("Buy Alert Price (" + tostring(close) + ") crossed over fast moving average",alert.freq_all)
    
if (selltradecondition1)
    strategy.close("long",alert_message ="Seems ready to Sell")
    alert("Sell Alert Price (" + tostring(close) + ") crossed down fast moving average",alert.freq_all)
    
if (selltradecondition2)
    strategy.close("long",alert_message ="Seems ready to Sell")
    alert("Sell Alert Price (" + tostring(close) + ") crossed down 10% below open price  ",alert.freq_all)

//alertcondition(buytradecondition1,title ="BuySignal", message ="Price Crossed Slow Moving EMA ")

plot(fastEMA, color=color.navy)
plot(slowEMA, color=color.fuchsia)
plot(fastestEMA, color=color.green)