Strategi Berbasis Rata-rata Pergerakan Mengikuti Tren


Tanggal Pembuatan: 2024-02-29 14:00:35 Akhirnya memodifikasi: 2024-02-29 14:00:35
menyalin: 0 Jumlah klik: 599
1
fokus pada
1617
Pengikut

Strategi Berbasis Rata-rata Pergerakan Mengikuti Tren

Ringkasan

Strategi ini mengikuti tren harga saham dengan menghitung saluran rata-rata, membangun posisi overhead atau kosong ketika harga menembus saluran rata-rata, dan termasuk dalam kategori strategi pelacakan tren.

Prinsip Strategi

Strategi ini pertama-tama menghitung rata-rata titik tinggi 20 hari sebagai saluran atas, rata-rata titik rendah 20 hari sebagai saluran bawah, dan menghitung garis tengah saluran. Garis tengah saluran mewakili tren harga rata-rata baru-baru ini.

Analisis Keunggulan

  • Menggunakan saluran untuk melacak tren harga dan menghindari dana yang terkunci di pasar horizontal;
  • Dengan akses yang mudah dikendalikan, tempat-tempat penjualan dan pembelian dapat ditentukan melalui jalur yang ada di atas dan di bawahnya.
  • Di sisi lain, ada beberapa hal yang perlu diperhatikan, yaitu:
  • Anda dapat mengkonfigurasi parameter saluran untuk menyesuaikan sensitivitas strategi.

Analisis risiko

  • Setelah melewati garis tengah yang sangat menembus saluran, mungkin akan terjadi perubahan pada garis tengah pengujian, yang akan ditutup;
  • Saham jenis goyangan tidak cocok untuk strategi ini, dan rentan terhadap arbitrage yang sering terjadi;
  • Pengaturan parameter yang tidak tepat juga dapat memengaruhi efek kebijakan.

Arah optimasi

  • Mengoptimalkan parameter siklus saluran, menguji dampak dari parameter yang berbeda terhadap efektivitas strategi;
  • Meningkatkan strategi stop-loss, mengendalikan kerugian tunggal dan total;
  • Ini adalah salah satu indikator yang dapat digunakan untuk mengevaluasi dan mengevaluasi kondisi keuangan.
  • Membangun gudang secara bertahap untuk mengurangi probabilitas penetrasi pada garis tengah pengujian penyesuaian;

Meringkaskan

Strategi ini secara keseluruhan relatif sederhana dan langsung, untuk menilai tren harga saham melalui saluran harga dasar, termasuk dalam jenis strategi pelacakan tren. Kelebihannya adalah mudah dioperasikan, memanfaatkan peluang investasi yang dibawa oleh tren harga, menghindari dana terkunci. Kelemahannya adalah pengaturan parameter yang tidak tepat dapat mempengaruhi efek, dan ada risiko tes penyesuaian tertentu.

Kode Sumber Strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//future strategy
//strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2)
//stock strategy
strategy(title = "dc", default_qty_type = strategy.percent_of_equity, default_qty_value = 20,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=.005)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20,  overlay = true)
//crypto strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20,  overlay = true, commission_type=strategy.commission.percent,commission_value=.25,default_qty_value=20)


testStartYear = input(2000, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testEndYear = input(2019, "Backtest Start Year")
testEndMonth = input(3)
testEndDay = input(31, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)


testPeriod() =>
    true
    //time >= testPeriodStart  ? true : false

dcPeriod = 20

dcUpper = highest(close, dcPeriod)[1]
dcLower = lowest(close, dcPeriod)[1]
dcAverage = (dcUpper + dcLower) / 2

plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)

plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average")

strategy.entry("simpleBuy", strategy.long, when=close > dcAverage)
strategy.close("simpleBuy",when=close < dcLower)
    
strategy.entry("simpleSell", strategy.short,when=close < dcAverage)
strategy.close("simpleSell",when=close > dcAverage)