Stan The Man - Strategi Dagangan Saham Lanjutan Berdasarkan Purata Bergerak Berganda dan Volatiliti

Penulis:ChaoZhang, Tarikh: 2023-12-20 14:54:41
Tag:

img

Ringkasan

Strategi ini menggunakan sistem purata bergerak berganda dan indeks kekuatan relatif, digabungkan dengan turun naik sejarah saham, untuk mengotomatiskan isyarat beli dan jual untuk perdagangan saham. Kelebihannya adalah bahawa ia menggabungkan kedua-dua teknik jangka panjang dan jangka pendek untuk mengawal risiko dengan berkesan.

Logika Strategi

Strategi ini memanfaatkan purata bergerak 150 minggu dan purata bergerak pantas 50 hari untuk membentuk sistem MA berganda. Ia juga menggunakan MA ultra pantas 20 hari. Apabila harga melintasi di atas MA 150 minggu, ia menandakan permulaan trend menaik. Apabila harga melintasi di bawah MA 50 hari, ia menandakan trend menurun. Ini membolehkan kita membeli di jalan ke atas dan menjual di jalan ke bawah.

Di samping itu, strategi ini juga menggunakan harga tertinggi tahunan berdasarkan indeks turun naik dan kekuatan relatif untuk menentukan titik masuk tertentu.

Kelebihan

  1. Sistem MA berganda dapat dengan berkesan mengenal pasti perubahan trend untuk mengejar naik dan berhenti ke bawah.

  2. Pengukuran turun naik dan RSI memastikan kita tidak mendapat whipsawed di pasaran sampingan.

  3. MA cepat 20 hari membolehkan stop loss yang lebih cepat.

Risiko

  1. Terdapat beberapa kelewatan, tidak dapat merealisasikan stop loss dengan cepat.

  2. Tiada stop loss ditetapkan, boleh membawa kepada kerugian besar.

  3. Kekurangan pengoptimuman parameter, parameter ditetapkan agak sewenang-wenang.

Untuk mengurangkan risiko, stop loss boleh ditambahkan, atau menggunakan kelipatan ATR sebagai peratusan stop loss.

Peluang Peningkatan

  1. Tambahkan mekanisme stop loss
  2. Cari parameter optimum melalui pengoptimuman
  3. Pertimbangkan untuk menambah penapis lain seperti jumlah
  4. Boleh membina ke dalam model multifaktor dengan lebih banyak faktor

Ringkasan

Ringkasnya, ini adalah strategi pelaburan saham yang agak konservatif. Menggunakan sistem MA berganda untuk mengukur trend keseluruhan, digabungkan dengan langkah-langkah turun naik dan kekuatan untuk kemasukan masa, ia dapat menyaring pecah palsu dengan berkesan. MA pantas juga membolehkan keluar dengan cepat. Walau bagaimanapun, strategi ini boleh ditingkatkan lagi dengan menambah stop loss, pengoptimuman parameter dll. Secara keseluruhan ia sesuai untuk pelabur saham jangka panjang.


/*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)

Lebih lanjut