Strategi pelarian tinggi yang berterusan


Tarikh penciptaan: 2023-12-08 10:50:54 Akhirnya diubah suai: 2023-12-08 10:50:54
Salin: 2 Bilangan klik: 582
1
fokus pada
1621
Pengikut

Strategi pelarian tinggi yang berterusan

Gambaran keseluruhan

Logik teras strategi ini adalah untuk mengesan sama ada harga penutupan N akar K berturut-turut meningkat secara berturut-turut, jika ya, lakukan lebih banyak; jika tidak puas, tutup. Dengan demikian, anda dapat menangkap trend kenaikan harga saham dan mencapai keuntungan.

Prinsip Strategi

Indikator utama strategi ini adalah nCounter, yang menilai kenaikan harga dengan membandingkan harga penutupan dan harga pembukaan K-Line semasa.

Khususnya, jika close[1]>=open[1], nCounter ditambah 1, menunjukkan kenaikan; jika close[1]

Kemudian nCounter dibandingkan dengan parameter nLength, output isyarat C1 = 1 apabila nCounter> = nLength; jika tidak, C1 = 0. nLength di sini adalah berapa banyak baris K yang kita tentukan yang diperlukan untuk menghasilkan isyarat.

Selepas menerima isyarat C1 = 1, jika tidak ada kedudukan pada masa ini, lakukan lebih banyak; jika sudah ada lebih banyak kepala memegang kedudukan, teruskan memegang.

Di samping itu, strategi ini juga menetapkan syarat berhenti dan berhenti. Jika harga di bawah harga masuk tertentu, ia akan berhenti; jika lebih tinggi daripada harga masuk tertentu, ia akan berhenti.

Analisis kelebihan

Ini adalah strategi trend-following yang lebih tipikal dan mempunyai beberapa kelebihan:

  1. Menerima peluang kenaikan harga saham yang sesuai untuk strategi berbilang pihak
  2. N akar terus naik sebagai isyarat masuk, boleh menyaring penembusan palsu dengan berkesan, mengurangkan transaksi yang tidak perlu
  3. Tetapkan syarat hentian dan hentian untuk mengehadkan risiko penurunan dan mengunci keuntungan
  4. Logik strategi ringkas dan jelas, mudah difahami dan diubah suai
  5. Frekuensi dagangan boleh dikawal dengan menyesuaikan parameter nLength

Analisis risiko

Strategi ini juga mempunyai beberapa risiko, yang tertumpu kepada beberapa aspek:

  1. Jika trend naik berbalik dan tidak dapat dihentikan dalam masa yang tepat, ia boleh menyebabkan kerugian yang lebih besar
  2. nLength parameter terlalu besar, mungkin terlepas peluang masuk yang lebih baik
  3. Tidak mengambil kira keadaan pasaran besar, memegang lebih banyak kedudukan terancam apabila pasaran besar jatuh
  4. Tidak ada parameter yang disesuaikan dengan ciri-ciri saham yang berbeza, penggunaan parameter seragam mungkin tidak sesuai untuk beberapa saham

Untuk mengurangkan risiko-risiko ini, kita boleh menetapkan syarat-syarat yang lebih ketat untuk menghentikan kerugian, mengoptimumkan parameter nLength, menambah peraturan penghakiman besar, atau parameter ujian berasingan untuk saham yang berbeza. Sudah tentu, strategi apa pun sukar untuk mengelakkan kerugian sepenuhnya dan perlu disesuaikan dengan pilihan risiko pedagang.

Arah pengoptimuman

Mengambil kira risiko yang disebutkan di atas, kita boleh terus mengoptimumkan strategi ini dalam beberapa aspek:

  1. Menambah fungsi berhenti bergerak atau berhenti jejak. Ini dapat menyesuaikan kedudukan berhenti tepat pada masanya mengikut perubahan harga, mengurangkan risiko kerugian
  2. Optimumkan parameter nLength. Ia boleh diuji secara berasingan untuk pelbagai jenis saham untuk mencari nilai parameter yang lebih sesuai untuk pelbagai jenis saham
  3. Peningkatan penghakiman persekitaran pasaran besar. Sebagai contoh, berhenti berdagang apabila pasaran besar jatuh, untuk mengelakkan kerugian tambahan yang disebabkan oleh operasi balasan
  4. Faktor lain seperti peningkatan jumlah penukaran sebagai syarat tambahan, seperti permintaan untuk meningkatkan jumlah penukaran dalam proses ketagihan, untuk memastikan keberkesanan penembusan
  5. Tetapkan kawalan penarikan balik. Seperti peratusan kerugian maksimum yang dibenarkan, jumlah kerugian maksimum berturut-turut, dan lain-lain, kawalan kerugian keseluruhan boleh dihentikan secara automatik

ringkaskan

Strategi ini dapat menangkap trend kenaikan dengan mengesan N akar terus naik K garis, dan dapat mengikuti trend dengan berkesan. Kelebihannya adalah kesederhanaan logik, penyesuaian parameter yang fleksibel, dan penapisan palsu. Tetapi ada juga risiko tertentu, perlu menambah modul seperti berhenti, pengoptimuman parameter, dan penghakiman persekitaran untuk membuat strategi lebih komprehensif dan stabil.

Kod sumber strategi
/*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)