Strategi pelaburan saham berdasarkan purata pergerakan dwi dan turun naik


Tarikh penciptaan: 2023-12-20 14:54:41 Akhirnya diubah suai: 2023-12-20 14:54:41
Salin: 0 Bilangan klik: 661
1
fokus pada
1621
Pengikut

Strategi pelaburan saham berdasarkan purata pergerakan dwi dan turun naik

Gambaran keseluruhan

Strategi ini berdasarkan kepada dua garis rata-rata dan penunjuk kekuatan relatif, digabungkan dengan kadar turun naik sejarah saham, untuk membeli dan menjual saham secara automatik. Kelebihan strategi ini adalah mewujudkan gabungan garis panjang dan garis pendek, yang dapat mengawal risiko dengan berkesan. Tetapi ada ruang untuk penambahbaikan tertentu, seperti boleh mempertimbangkan untuk memasukkan mekanisme penangguhan kerugian.

Prinsip Strategi

Strategi ini menggunakan sistem dua garis rata-rata yang terdiri daripada garis rata-rata 150 minggu dan garis rata-rata 50 hari, dan garis rata-rata 20 hari yang paling cepat. Apabila harga melewati garis 150 hari, ia dianggap sebagai permulaan kenaikan harga, dan apabila harga melewati garis 50 hari, ia dianggap sebagai permulaan penurunan.

Di samping itu, strategi ini juga menggunakan harga tertinggi fluktuasi tahunan dan penunjuk kekuatan relatif untuk menentukan masa pembelian tertentu. Isyarat beli dikeluarkan hanya apabila harga penutupan melebihi harga tertinggi yang dikira pada kadar fluktuasi tahunan dan penunjuk kekuatan relatif adalah positif.

Kelebihan Strategik

  1. Menggunakan sistem dua hala yang sama, dapat menilai perubahan trend utama dengan berkesan, untuk mengejar kejatuhan.
  2. Penambahan penunjuk kadar turun naik dan penunjuk intensiti untuk mengelakkan aliran bergelombang dalam keadaan gegaran
  3. Penambahan garis rata-rata pantas 20 hari, boleh menghentikan kerugian lebih cepat

Risiko Strategik

  1. Terdapat kelewatan yang tidak dapat dihentikan dengan cepat.
  2. Tidak ada titik henti yang ditetapkan, mudah mengalami kerugian yang lebih besar
  3. Kekurangan pengoptimuman parameter, tetapan parameter agak subjektif

Untuk menyelesaikan risiko, anda boleh menetapkan tahap stop loss, atau menggunakan kelipatan indikator ATR sebagai amplitudo stop loss. Selain itu, anda boleh mengoptimumkan parameter dengan pengukuran semula yang lebih ketat.

Arah pengoptimuman strategi

  1. Meningkatkan mekanisme kawalan kerugian
  2. Cari parameter optimum dengan menggunakan kaedah optimasi parameter
    1. Pertimbangkan untuk memasukkan isyarat penapisan kepada petunjuk lain, seperti petunjuk jumlah transaksi
  3. Anda boleh pertimbangkan untuk membina strategi sebagai model pelbagai faktor, yang menggabungkan lebih banyak petunjuk.

ringkaskan

Strategi ini secara keseluruhan adalah strategi pelaburan saham yang lebih konservatif. Menggunakan garis rata dua untuk menilai trend utama, dan digabungkan dengan kadar turun naik dan kekuatan penunjuk masuk, dapat menyaring penembusan palsu dengan berkesan.

Kod 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)