Strategi mengikut arah aliran berdasarkan purata bergerak


Tarikh penciptaan: 2023-12-20 14:23:49 Akhirnya diubah suai: 2023-12-20 14:23:49
Salin: 0 Bilangan klik: 468
1
fokus pada
1214
Pengikut

Strategi mengikut arah aliran berdasarkan purata bergerak

Gambaran keseluruhan

Strategi ini berdasarkan templat pilihan saham saham Mark Menevigney, digabungkan dengan indikator purata bergerak untuk menilai trend harga saham, untuk mewujudkan pembelian dan hentian automatik. Strategi ini terutamanya menilai sama ada saham berada dalam trend kenaikan, dan sama ada melanggar rata-rata bergerak yang penting, untuk menghasilkan isyarat pembelian.

Prinsip Strategi

Strategi ini berpusat pada menentukan syarat-syarat berikut, dan menghasilkan isyarat beli apabila kedua-dua syarat tersebut dipenuhi:

  1. Harga saham semasa lebih tinggi daripada purata bergerak 150 dan 200 hari
  2. Purata bergerak 150 hari lebih tinggi daripada purata bergerak 200 hari
  3. Rata-rata Pindah 200 Hari Terkini Dalam Trend Naik Bulan Ini
  4. Purata bergerak 50 hari lebih tinggi daripada purata bergerak 150 dan 200 hari
  5. Harga saham semasa lebih tinggi daripada purata bergerak 50 hari
  6. Harga saham naik lebih 25 peratus daripada harga terendah 52 minggu
  7. Harga saham hampir mencapai paras tertinggi dalam 52 minggu.

Apabila syarat-syarat di atas dipenuhi, strategi menilai bahawa harga saham berada pada tahap kenaikan, menghasilkan isyarat beli.

Di samping itu, strategi ini juga menetapkan garis hentian apabila harga saham kembali 5% atau naik 10% dari paras tertinggi.

Kelebihan Strategik

  1. Menggunakan Idea Pemilihan Saham Mark Menevney untuk Meningkatkan Peluang Keuntungan
  2. Menggunakan purata bergerak berganda untuk mengesahkan trend dan mengelakkan kehilangan titik beli
  3. Menetapkan mekanisme hentian kerugian untuk mengelakkan kerugian besar

Analisis risiko

  1. Harga saham mungkin akan berubah dalam masa terdekat, menyebabkan penangguhan kerugian.
  2. Rata-rata bergerak tidak dapat mengesan trend sepenuhnya, dan mungkin akan menyebabkan pecah palsu.
  3. Set stop loss stop ratio tidak sempurna, mungkin stop loss terlalu awal atau kerugian yang meluas

Arah pengoptimuman

  1. Kombinasi purata bergerak yang boleh diuji untuk parameter yang berbeza
  2. Tambahan lagi, anda boleh menggunakan indikator teknikal lain untuk menentukan masa pembelian.
  3. Tetapan nisbah yang boleh mengoptimumkan stop loss

ringkaskan

Strategi ini secara keseluruhan mengikuti pemikiran perdagangan trend, menghasilkan isyarat membeli dengan mengkonfirmasi trend kenaikan harga saham. Pada masa yang sama, menetapkan mekanisme kawalan kerugian risiko. Dengan mengoptimumkan parameter perincian, kestabilan dan keuntungan strategi dapat ditingkatkan lagi.

Kod sumber strategi
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Pure Mark Minervini 10%TP 5%CL", pyramiding = 0, commission_type=strategy.commission.percent, commission_value=0.08, overlay=true)

ma50 = sma(close,50)
ma150 = sma(close,150)
ma200 = sma(close,200)
ma200_22 = ma200[22]

high_loopback = input(260, "High Lookback Length")
low_loopback = input(260, "Low Lookback Length")
highest_price = highest(high, high_loopback)
lowest_price = lowest(low, low_loopback)
above52lo = ((close/lowest_price)-1)*100
below52hi = (1-(close/highest_price))*100
ep = strategy.position_avg_price

trigger = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3
var label maLabel = na
if (trigger)
    yLocation = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3 ?
         yloc.abovebar :
         yloc.belowbar

    // labelStyle = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3 ?
    //      label.style_labeldown :
    //      label.style_labelup

buy = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3
sell = close>ep*1.1 or close<ep*0.95

strategy.entry("TF", strategy.long, when = buy)
strategy.close("TF", when = sell)