Strategi Perdagangan Pulangan Bermakna Anjakan Berganda Qiming


Tarikh penciptaan: 2023-12-15 16:51:23 Akhirnya diubah suai: 2023-12-15 16:51:23
Salin: 0 Bilangan klik: 671
1
fokus pada
1621
Pengikut

Strategi Perdagangan Pulangan Bermakna Anjakan Berganda Qiming

Gambaran keseluruhan

Strategi HYE Mean Reversion SMA adalah strategi perdagangan yang menggunakan purata bergerak mudah dan indikator yang agak kuat. Strategi ini digunakan apabila harga menyimpang dari purata bergerak dengan banyak, digabungkan dengan isyarat penapis RSI, menghasilkan isyarat beli dan jual, dan merupakan strategi perdagangan garis pendek.

Prinsip Strategi

Strategi ini adalah berdasarkan peraturan berikut:

  1. Apabila purata bergerak mudah 2 tempoh turun 3% berbanding purata bergerak mudah 5 tempoh, harga saham dianggap menyimpang dari purata, menghasilkan isyarat beli;

  2. Apabila garis purata bergerak sederhana tempoh 2 melintasi garis purata bergerak sederhana tempoh 5, ia dianggap sebagai nilai purata harga yang kembali dan menghasilkan isyarat menjual;

  3. Gabungan purata bergerak indeks RSI 5 tempoh hanya akan menghasilkan isyarat beli apabila RSI berada di bawah 30, dan isyarat jual apabila RSI berada di atas 70, untuk mengelakkan perdagangan yang tidak perlu.

Strategi utama strategi ini adalah menggunakan turun naik harga dalam jangka pendek untuk menangkap peluang untuk kembali ke nilai purata. Beli apabila harga turun sedikit, dan jual apabila harga kembali ke sekitar garis purata, dan menghasilkan keuntungan.

Analisis kelebihan strategi

Strategi ini mempunyai beberapa kelebihan:

  1. Operasi mudah, mudah dilaksanakan, dan kos pemantauan rendah;

  2. Menggunakan ciri-ciri harga yang menyimpang dari purata bergerak untuk menangkap peluang untuk kembali ke nilai purata garis pendek, dengan pengesanan sejarah yang baik;

  3. Indeks RSI dapat menyaring bunyi bising perdagangan dengan berkesan, dan mengelakkan kenaikan dan penurunan.

  4. Kemudahan untuk menyesuaikan parameter yang sesuai dengan keadaan pasaran yang berbeza;

  5. Anda boleh melakukan lebih banyak, hanya shorting atau perdagangan dua hala, sesuai dengan pilihan yang berbeza.

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Perdagangan regresi bergantung pada kemampuan harga untuk kembali ke garis rata-rata, dengan risiko besar untuk menghentikan kerugian jika berlaku perubahan harga yang dramatik;

  2. Penetapan parameter yang tidak betul boleh menyebabkan terlalu banyak dagangan atau kehilangan peluang;

  3. Prestasi strategi adalah lebih berkaitan dengan pasaran dan kurang baik dalam pasaran yang berlainan arah dan bergolak.

Kaedah pencegahan:

  1. Menetapkan stop loss yang munasabah dan mengawal kerugian tunggal;

  2. Parameter yang dioptimumkan secara beransur-ansur untuk menilai nisbah pulangan pendapatan;

  3. Kebolehan beradaptasi dengan strategi peningkatan indeks saham.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Uji gabungan purata bergerak yang berbeza untuk mencari parameter yang optimum;

  2. Cuba untuk mengintegrasikan strategi ini dengan indikator lain untuk mengenal pasti trend dan meningkatkan peluang kemenangan.

  3. Meningkatkan mekanisme penangguhan kerugian dan mengurangkan pengeluaran maksimum strategi;

  4. “Saya tidak tahu apa-apa tentang apa yang berlaku di Malaysia, saya tidak tahu apa yang berlaku di Malaysia.

  5. Menggabungkan teknologi pembelajaran mesin untuk membina parameter penyesuaian.

ringkaskan

Strategi perdagangan pulangan rata-rata dua hala adalah strategi pulangan rata-rata garis pendek yang mudah dan praktikal. Ia menggunakan penyimpangan harga berbanding rata-rata bergerak untuk menghasilkan isyarat perdagangan, sambil menyaring kebisingan dengan indikator RSI, dan berfungsi dengan baik dalam pengukuran. Strategi ini mudah dikendalikan, mudah dilaksanakan, dan parameternya boleh disesuaikan mengikut keadaan pasaran, sesuai untuk pelabur yang mengikuti pulangan rata-rata garis pendek.

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

// @version=4

strategy("HYE Mean Reversion SMA [Strategy]", overlay = true )
  
//Strategy inputs
source = input(title = "Source", defval = close)
tradeDirection = input(title="Trade Direction", type=input.string,
     options=["Long Only", "Short Only", "Both"], defval="Long Only") 
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 5)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 3)
percentAboveToSell = input(title = "Percent above to sell %", defval = 3)
rsiPeriod = input(title = "Rsi Period", defval = 2)
rsiLevelforBuy = input(title = "Maximum Rsi Level for Buy", defval = 30)
rsiLevelforSell = input(title = "Minimum Rsi Level for Sell", defval = 70)
     
longOK  = (tradeDirection == "Long Only") or (tradeDirection == "Both")
shortOK = (tradeDirection == "Short Only") or (tradeDirection == "Both")

// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2020, minval=1800, maxval=2100)

endDate = input(title="End Date", type=input.integer,
     defval=31, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
     defval=12, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
     defval=2021, minval=1800, maxval=2100)
     
inDateRange = true

//Strategy calculation 
rsiValue = rsi(source, rsiPeriod)
rsiEMA   = ema(rsiValue, 5)
smallMA = sma(source, smallMAPeriod)
bigMA =  sma(source, bigMAPeriod) 
buyMA = ((100 - percentBelowToBuy) / 100) * sma(source, bigMAPeriod)[0]
sellMA = ((100 + percentAboveToSell) / 100) * sma(source, bigMAPeriod)[0]

if(crossunder(smallMA, buyMA) and rsiEMA < rsiLevelforBuy and inDateRange and longOK)
    strategy.entry("BUY", strategy.long) 

if(crossover(smallMA, bigMA) or not inDateRange)
    strategy.close("BUY")

if(crossover(smallMA, sellMA) and rsiEMA > rsiLevelforSell and inDateRange and shortOK)
    strategy.entry("SELL", strategy.short)

if(crossunder(smallMA, bigMA) or not inDateRange)
    strategy.close("SELL")