Strategi Crossover Purata Bergerak

Penulis:ChaoZhang, Tarikh: 2023-12-06 16:58:20
Tag:

img

Ringkasan

Ini adalah strategi mengikut trend berdasarkan persilangan purata bergerak. Ia menggunakan dua purata bergerak dengan tempoh yang berbeza. Apabila purata bergerak tempoh yang lebih pendek melintasi di atas purata bergerak tempoh yang lebih lama, ia pergi panjang. Apabila purata bergerak tempoh yang lebih pendek melintasi di bawah purata bergerak tempoh yang lebih lama, ia pergi pendek. Ini adalah strategi berikut trend biasa.

Logika Strategi

Strategi ini menggunakan purata bergerak 20 tempoh dan 50 tempoh. Ia mula-mula mengira kedua-dua purata bergerak ini, kemudian mengenal pasti titik persilangan antara mereka untuk menjana isyarat perdagangan. Apabila purata bergerak 20 tempoh melintasi di atas purata bergerak 50 tempoh, ia menjana isyarat beli. Apabila purata bergerak 20 tempoh melintasi di bawah purata bergerak 50 tempoh, ia menjana isyarat jual. Jadi logik teras strategi ini adalah untuk mengesan persilangan antara dua purata bergerak untuk menentukan titik perubahan dalam trend pasaran.

Selepas menghasilkan isyarat perdagangan, strategi akan meletakkan pesanan dengan stop loss tetap dan mengambil margin keuntungan. Sebagai contoh, selepas membeli, ia akan menetapkan stop loss 0.4% dan 0.7% mengambil keuntungan. Dengan menetapkan stop loss dan mengambil keuntungan, ia mengawal risiko dan ganjaran perdagangan individu.

Kelebihan Strategi

Strategi ini mempunyai kelebihan berikut:

  1. Logik operasi yang mudah dan jelas, mudah difahami dan dilaksanakan
  2. Mencatatkan titik perubahan trend pasaran dengan boleh dipercayai
  3. Tetapkan stop loss dan mengambil keuntungan untuk mengawal risiko perdagangan tunggal dengan baik

Risiko Strategi

Terdapat juga beberapa risiko dengan strategi ini:

  1. Lebih banyak isyarat palsu apabila pasaran tidak mempunyai trend yang jelas
  2. Tidak dapat menapis bunyi bising pasaran dengan berkesan, cenderung terjebak
  3. Stop loss dan mengambil margin keuntungan mungkin tidak sesuai untuk semua produk, memerlukan pengoptimuman

Tindakan balas:

  1. Mengoptimumkan tempoh purata bergerak untuk menapis isyarat palsu
  2. Tambah penunjuk lain untuk penapisan
  3. Uji dan optimumkan parameter stop loss dan mengambil keuntungan

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan tempoh purata bergerak untuk mencari kombinasi parameter terbaik
  2. Tambah penunjuk seperti jumlah dagangan untuk menapis isyarat
  3. Uji dan optimumkan stop loss dan ambil margin keuntungan pada produk tertentu
  4. Mengubah stop loss tetap dan mengambil keuntungan kepada yang dinamik
  5. Tambah algoritma pembelajaran mesin untuk mencari parameter optimum secara automatik

Ringkasan

Secara keseluruhan, ini adalah strategi trend yang mudah dan berkesan. Ia menangkap titik perubahan trend menggunakan crossover purata bergerak dan mengawal risiko melalui stop loss dan mengambil keuntungan. Strategi ini sesuai untuk pelabur yang tidak mempunyai keperluan yang tinggi pada penilaian trend. Pengoptimuman lanjut pada parameter dan model boleh membawa kepada prestasi strategi yang lebih baik.

]


/*backtest
start: 2022-11-29 00:00:00
end: 2023-12-05 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/
// © danielfepardo

//@version=5

strategy("QUANT", overlay=true)
lenght1 = input(20)
lenght2 = input(50)


ema1 = ta.ema(close, lenght1)
ema2 = ta.ema(close, lenght2)
plot(ema1, color=color.black)
plot(ema2, color=color.red)

long = ta.crossover(ema1, ema2)

SL = 0.004
TP = 0.007

if long == true
    strategy.entry("Compra Call", strategy.long)
longstop=strategy.position_avg_price*(1-SL)
longprofit=strategy.position_avg_price*(1+TP)
strategy.exit("Venta Call", stop=longstop, limit=longprofit)

short = ta.crossover(ema2, ema1)

if short == true
    strategy.entry("Compra Put", strategy.short)
shortstop=strategy.position_avg_price*(1+SL)
shortprofit=strategy.position_avg_price*(1-TP)
strategy.exit("Venta Put", stop=shortstop, limit=shortprofit)






Lebih lanjut