N Strategi Penembusan Penutupan Berturut-turut

Penulis:ChaoZhang, Tarikh: 2023-12-08 10:50:54
Tag:

img

Ringkasan

Logik teras strategi ini adalah untuk mengesan sama ada harga penutupan N lilin berturut-turut terus meningkat. Jika ya, pergi panjang; jika tidak, kedudukan dekat. Ini dapat menangkap trend kenaikan harga saham dan membuat keuntungan.

Prinsip Strategi

Indikator teras strategi ini adalah nCounter. Ia membandingkan harga penutupan dan harga pembukaan lilin semasa untuk menilai sama ada harga meningkat.

Secara khusus, jika close[1]>=open[1], nCounter menambah 1, menunjukkan kenaikan; jika close[1]

Kemudian bandingkan nCounter dengan parameter nLength. Apabila nCounter>=nLength, output isyarat C1=1; jika tidak C1=0.

Selepas menerima isyarat C1 = 1, jika tidak ada kedudukan semasa, pergi panjang; jika sudah berada dalam kedudukan panjang, teruskan memegang.

Di samping itu, strategi ini menetapkan syarat stop loss dan mengambil keuntungan. Jika harga jatuh di bawah harga kemasukan dengan peratusan tertentu, stop loss keluar kedudukan; jika meningkat di atas harga kemasukan dengan peratusan tertentu, mengambil keuntungan.

Analisis Kelebihan

Ini adalah trend yang tipikal mengikut strategi dengan kekuatan di bawah:

  1. Ia boleh merebut peluang uptrend harga saham, sesuai sebagai strategi panjang
  2. N kenaikan berturut-turut sebagai isyarat kemasukan boleh menapis pecah palsu dengan berkesan dan mengurangkan perdagangan yang tidak perlu
  3. Menetapkan stop loss dan mengambil keuntungan boleh mengurangkan risiko penurunan dan mengunci keuntungan
  4. Logikanya mudah dan jelas, mudah difahami dan diubahsuai
  5. Frekuensi dagangan boleh dikawal dengan menyesuaikan parameter nLength

Analisis Risiko

Terdapat beberapa risiko strategi ini, terutamanya dalam aspek berikut:

  1. Jika trend menaik berbalik, kegagalan untuk menghentikan kerugian pada masa yang boleh membawa kepada kerugian besar
  2. Jika nLength set terlalu besar, peluang kemasukan yang baik mungkin terlepas
  3. Ia tidak mengambil kira persekitaran pasaran. memegang kedudukan panjang apabila kejatuhan pasaran boleh membawa kepada kerugian tambahan
  4. Menggunakan parameter seragam tanpa penyesuaian berdasarkan ciri stok yang berbeza mungkin tidak terpakai untuk beberapa stok

Untuk mengurangkan risiko ini, kita boleh menetapkan stop loss yang lebih ketat, mengoptimumkan nLength, menambah peraturan keadaan pasaran, atau menguji parameter secara berasingan untuk saham yang berbeza.

Arahan pengoptimuman

Mempertimbangkan risiko di atas, kita boleh mengoptimumkan strategi dari aspek berikut:

  1. Tambahkan fungsi stop loss bergerak atau trailing stop loss. Mereka boleh menyesuaikan titik stop loss dengan sewajarnya berdasarkan perubahan harga untuk mengurangkan risiko kerugian
  2. Mengoptimumkan parameter nLength. Test masing-masing untuk pelbagai jenis stok untuk mengetahui nilai parameter yang lebih sesuai
  3. Tambah penilaian persekitaran pasaran. Sebagai contoh, hentikan perdagangan apabila pasaran runtuh untuk mengelakkan kerugian tambahan dalam pasaran beruang
  4. Tambah faktor lain seperti jumlah sebagai keadaan tambahan.
  5. Tetapkan kawalan pengeluaran seperti peratusan kerugian maksimum yang dibenarkan, masa kerugian berturut-turut maksimum dan lain-lain untuk menghentikan kerugian secara automatik mengawal kerugian keseluruhan

Kesimpulan

Strategi ini menangkap trend menaik dengan mengesan N lilin yang meningkat berturut-turut. Ia boleh menjalankan trend berikut dengan berkesan. Kelebihannya adalah logik yang mudah, penyesuaian parameter yang fleksibel, penapisan pecah palsu. Tetapi terdapat juga beberapa risiko. Ia perlu menambah modul seperti stop loss, pengoptimuman parameter, penghakiman persekitaran untuk meningkatkan. Secara keseluruhan, strategi ini menyediakan model asas yang berharga untuk perdagangan kuantitatif. Ia boleh menjadi alat perdagangan yang kuat selepas peningkatan berterusan.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/02/2020
// Evaluates for n number of consecutive higher closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="N Bars Up", shorttitle="NBU Backtest", overlay = false) 
nLength = input(4, minval=1)
input_takeprofit = input(20, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
nCounter = 0
nCounter := iff(close[1] >= open[1], nz(nCounter[1],0)+1,
             iff(close[1] < open[1], 0, nCounter))
C1 = iff(nCounter >= nLength, 1, 0)
posprice = 0.0
pos = 0
barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) 
posprice := iff(C1== 1, close, nz(posprice[1], 0)) 
pos := iff(posprice > 0, 1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == 1)
    strategy.entry("Long", strategy.long)
posprice := iff(low <= posprice - input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))
plot(C1, title='NBU', color=color.green)

Lebih lanjut