Momentum akhir bulan menembus strategi rata-rata pergerakan 200 hari


Tanggal Pembuatan: 2023-12-08 16:02:08 Akhirnya memodifikasi: 2023-12-08 16:02:08
menyalin: 1 Jumlah klik: 795
1
fokus pada
1621
Pengikut

Momentum akhir bulan menembus strategi rata-rata pergerakan 200 hari

Ringkasan

Strategi ini didasarkan pada titik waktu akhir bulan untuk menilai apakah harga saham telah menembus 200 hari moving average untuk menangkap arah tren harga saham.

Prinsip Strategi

  1. Menggunakan rata-rata bergerak sederhana 200 hari dma200 sebagai indikator untuk menilai tren harga
  2. Pada hari terakhir perdagangan setiap bulan, pertimbangkan apakah harga close pada hari itu lebih tinggi dari dma200
  3. Jika harga close out menembus 200-day average, maka posisi over-all akan dibuat pada hari perdagangan berikutnya.
  4. Jika harga ditutup di bawah 200 hari rata-rata, maka akan dibuka pada hari perdagangan berikutnya.
  5. Dengan demikian, efek trend-following dapat dicapai, dan posisi dapat dibuat ketika harga saham memasuki tren naik, untuk menghindari tren turun.

Analisis Keunggulan

  1. Keunggulan dari strategi ini adalah sederhana, efektif, mudah dipahami dan diterapkan.
  2. Menggunakan waktu akhir bulan untuk membangun gudang dapat mengurangi frekuensi transaksi, mengurangi biaya transaksi dan dampak slippage.
  3. Garis rata-rata 200 hari adalah indikator yang sangat umum digunakan untuk menilai tren jangka menengah dan panjang, yang berlaku untuk sebagian besar saham
  4. Penarikan Strategis dan Penarikan Maksimal Sedikit, Risiko Terkontrol

Analisis risiko

  1. Garis rata-rata 200 hari mungkin tidak cukup sensitif untuk beberapa saham, sehingga tidak dapat menangkap perubahan harga pada waktu yang tepat
  2. Hanya satu titik perdagangan yang berposisi pada akhir bulan, kemungkinan kehilangan peluang untuk turun di pertengahan
  3. Strategi ini mungkin tidak dapat menilai dengan benar ketika tren keseluruhan saham tidak pasti.
  4. Pengukuran ini harus dikombinasikan dengan pengukuran lain untuk mengurangi risiko.

Arah optimasi

  1. Anda dapat mempertimbangkan untuk menambah tempat penyimpanan di awal atau pertengahan bulan untuk meningkatkan frekuensi strategi.
  2. Menambahkan indikator seperti Brinks untuk menilai pergerakan harga dan menghindari perdagangan yang salah
    1. Evaluasi efek adaptasi dari berbagai parameter rata-rata untuk berbagai saham, mencari kombinasi parameter yang optimal
  3. Membuat mekanisme manajemen posisi yang dinamis, dengan stop loss aktif saat penarikan terlalu besar

Meringkaskan

Strategi ini secara keseluruhan relatif sederhana dan praktis, dengan cara menembus garis rata-rata 200 hari pada akhir bulan, secara efektif menangkap tren harga jangka panjang, penarikan dan risiko yang lebih kecil. Dengan menggabungkan lebih banyak penilaian indikator dan pengoptimalan dinamis, stabilitas strategi dan tingkat pengembalian dapat ditingkatkan lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © muscleriot
//200 dma
//2000-2016 backtested 
//1 signal per month only at end of month
//If > 200DMA enter long
//If < 200DMA goto cash
//results: 318% drawdown 17% vs 125% with 55% drawdown for buy and hold
//@version=5
strategy("200DMA last DOM - ajh", overlay =true,default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Use 100% of  equity always

dma200 = ta.sma(close, 200)
plot(dma200, color=color.red, linewidth = 2)
//e =dayofmonth(time)
// backtesting date range
from_day = input.int(defval=1, title="From Day", minval=1, maxval=31)
from_month = input.int(defval=1, title="From Month", minval=1, maxval=12)
from_year = input.int(defval=2018, title="From Year", minval=1900)

to_day = input.int(defval=1, title="To Day", minval=1, maxval=31)
to_month = input.int(defval=1, title="To Month", minval=1, maxval=12)
to_year = input.int(defval=9999, title="To Year", minval=1900)

time_cond = time > timestamp(from_year, from_month, from_day, 00, 00) and 
   time < timestamp(to_year, to_month, to_day, 23, 59)



xLong = dayofmonth(time) == 30 and (close > dma200) ? true : na
xSell = dayofmonth(time) == 30 and (close < dma200) ? true : na
plotchar(xLong, "long","L", color=color.green)    
plotchar(xSell, "Sell","S", color=color.red)    
if (xLong == true) and time_cond
    strategy.entry("long", strategy.long)
if (xSell == true) and time_cond
    strategy.close("long")