Rasio Emas Strategi Perdagangan Purata Bergerak

Penulis:ChaoZhang, Tarikh: 2024-01-05 14:21:52
Tag:

img

Ringkasan

Strategi perdagangan purata bergerak nisbah emas adalah strategi perdagangan kuantitatif yang cuba menggunakan salib emas purata bergerak jangka pendek dan jangka panjang sebagai isyarat perdagangan.

Logika Strategi

Strategi ini terutamanya berdasarkan dua purata bergerak: MA 200 hari sebagai MA jangka panjang dan MA 10 hari sebagai MA jangka pendek. Isyarat beli dihasilkan apabila MA jangka pendek melintasi MA jangka panjang; Isyarat jual dihasilkan apabila MA jangka pendek melintasi di bawah MA jangka panjang. Ini adalah salib emas yang terkenal. Strategi ini juga menggabungkan penunjuk RSI supaya strategi hanya membuka kedudukan panjang di kawasan oversold apabila RSI kurang dari 30.

Khususnya, kedudukan panjang akan dibuka jika syarat-syarat berikut dipenuhi:

  1. MA 10 hari melintasi MA 200 hari
  2. Tidak ada kedudukan sekarang
  3. RSI kurang daripada 30

Keadaan kedudukan penutupan adalah seperti berikut:

  1. Stop loss: Stop loss apabila harga jatuh di bawah peratusan tertentu (boleh disesuaikan) daripada harga pembukaan
  2. Mengambil keuntungan: mengambil keuntungan apabila harga melebihi peratusan tertentu (boleh disesuaikan)

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Ia menggunakan isyarat salib emas purata bergerak yang merupakan isyarat perdagangan penunjuk teknikal klasik dan berkesan
  2. Menggabungkan RSI mengelakkan membeli pada paras tertinggi yang boleh mengawal risiko hingga tahap tertentu
  3. Dengan tetapan stop loss dan mengambil keuntungan, ia boleh mengunci keuntungan dan mengelakkan risiko

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Strategi purata bergerak cenderung untuk menjana isyarat yang salah dan whipsaws
  2. RSI boleh gagal dalam beberapa pasaran yang kuat
  3. Jika stop loss ditetapkan terlalu kecil, ia boleh membawa kepada perdagangan jangka pendek dan pengaktifan stop loss yang kerap

Untuk mengurangkan risiko ini, langkah-langkah pengoptimuman berikut boleh dipertimbangkan:

  1. Sesuaikan parameter MA, atau tambah lagi MA
  2. Menggabungkan penunjuk lain untuk mengesahkan isyarat RSI
  3. Sesuaikan parameter stop loss dan mengambil keuntungan

Arahan pengoptimuman

Terdapat ruang untuk pengoptimuman lagi strategi:

  1. Tingkatkan penapis penunjuk untuk mengelakkan isyarat yang salah
  2. Mengoptimumkan parameter purata bergerak
  3. Menggabungkan penunjuk turun naik untuk menetapkan berhenti dinamik
  4. Tambah model pembelajaran mesin untuk menilai keadaan pasaran
  5. Gunakan algoritma untuk mengoptimumkan parameter secara automatik

Kesimpulan

Ringkasnya, strategi perdagangan purata bergerak nisbah emas adalah strategi trend berikut yang mudah dan berkesan. Ia menjana peluang perdagangan menggunakan isyarat silang MA klasik dan mempunyai hentian untuk mengawal risiko. Strategi ini boleh ditingkatkan lagi melalui kombinasi pelbagai penunjuk, pengoptimuman parameter, pembelajaran mesin, dll untuk mendapatkan prestasi strategi yang lebih baik.


/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tsujimoto0403

//@version=5
strategy("聖杯", overlay=true,default_qty_type=strategy.percent_of_equity,
     default_qty_value=100)

//ユーザーインプットの準備
malongperiod=input.int(200,"長期移動平均BASE200",group = "パラメータ")
mashortperiod=input.int(10,"長期移動平均BASE10",group = "パラメータ")
stop=input.int(20,title = "損切の割合%",group = "パラメータ")
profit=input.int(5,title = "利食いの割合%",group = "パラメータ")
startday=input(title="バックテストを始める日", defval=timestamp("01 Jan 2018 13:30 +0000"), group="期間")
endday=input(title="バックテスを終わる日", defval=timestamp("1 Jan 2099 19:30 +0000"), group="期間")

//使う変数
var float stopprice=0
var float takeprofit=0

//とりあえず使うインジケーターをプロット
malong=ta.sma(close,malongperiod)
mashort=ta.sma(close,mashortperiod)


plot(malong,color=color.aqua,linewidth = 2)
plot(mashort,color=color.yellow,linewidth = 2)
bgcolor(ta.rsi(close,3)<30?color.rgb(229, 86, 86, 48):na)

//期間条件
datefilter = true

//エントリー条件
if close>malong and close<mashort and strategy.position_size == 0 and datefilter and ta.rsi(close,3)<30
    strategy.entry(id="long", direction=strategy.long)

if strategy.position_size>0 
    strategy.exit(id="long",stop=(1-0.01*stop)*strategy.position_avg_price)

//売り
if  strategy.position_size > 0 and close>mashort and close<low[1] 
    strategy.close(id ="long")




Lebih lanjut