N Strategi Breakout Penutupan Berturut-turut Tinggi

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

img

Gambaran umum

Logika inti dari strategi ini adalah untuk mendeteksi apakah harga penutupan N lilin berturut-turut terus meningkat. Jika demikian, pergi panjang; jika tidak, posisi dekat. Ini dapat menangkap tren kenaikan harga saham dan menghasilkan keuntungan.

Prinsip Strategi

Indikator inti dari strategi ini adalah nCounter. Ini membandingkan harga penutupan dan harga pembukaan lilin saat ini untuk menilai apakah harga naik.

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

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

Setelah menerima sinyal C1=1, jika tidak ada posisi saat ini, pergi panjang; jika sudah di posisi panjang, terus tahan.

Jika harga turun di bawah harga masuk dengan persentase tertentu, stop loss keluar posisi; jika naik di atas harga masuk dengan persentase tertentu, ambil keuntungan.

Analisis Keuntungan

Ini adalah tren yang khas mengikuti strategi dengan kekuatan berikut:

  1. Hal ini dapat merebut peluang kenaikan harga saham, cocok sebagai strategi panjang
  2. N kenaikan berturut-turut sebagai sinyal masuk dapat secara efektif menyaring breakout palsu dan mengurangi perdagangan yang tidak perlu
  3. Menetapkan stop loss dan mengambil keuntungan dapat membatasi risiko penurunan dan mengunci keuntungan
  4. Logika sederhana dan jelas, mudah dipahami dan dimodifikasi
  5. Frekuensi perdagangan dapat dikontrol dengan menyesuaikan parameter nLength

Analisis Risiko

Ada beberapa risiko dari strategi ini, terutama dalam aspek berikut:

  1. Jika tren naik terbalik, kegagalan untuk menghentikan kerugian pada waktunya dapat menyebabkan kerugian besar
  2. Jika nLength set terlalu besar, peluang masuk yang baik mungkin hilang
  3. Hal ini tidak mempertimbangkan lingkungan pasar. memegang posisi panjang ketika jatuhnya pasar dapat menyebabkan kerugian tambahan
  4. Menggunakan parameter seragam tanpa penyesuaian berdasarkan karakteristik stok yang berbeda mungkin tidak berlaku untuk beberapa stok

Untuk mengurangi risiko ini, kita dapat mengatur stop loss yang lebih ketat, mengoptimalkan nLength, menambahkan aturan kondisi pasar, atau menguji parameter secara terpisah untuk saham yang berbeda.

Arahan Optimasi

Mempertimbangkan risiko di atas, kita dapat mengoptimalkan strategi dari aspek berikut:

  1. Tambahkan fungsi stop loss bergerak atau trailing stop loss. Mereka dapat menyesuaikan titik stop loss sesuai dengan perubahan harga untuk mengurangi risiko kerugian
  2. Mengoptimalkan parameter nLength. Tes masing-masing untuk jenis saham yang berbeda untuk mengetahui nilai parameter yang lebih cocok
  3. Tambahkan penilaian lingkungan pasar. Misalnya, hentikan perdagangan ketika pasar jatuh untuk menghindari kerugian tambahan di pasar beruang
  4. Tambahkan faktor lain seperti volume sebagai kondisi tambahan.
  5. Atur kontrol penarikan seperti persentase kerugian maksimum yang diizinkan, waktu kerugian berturut-turut maksimum dll untuk menghentikan kerugian secara otomatis mengendalikan kerugian keseluruhan

Kesimpulan

Strategi ini menangkap uptrend dengan mendeteksi N lilin naik berturut-turut. Ini dapat secara efektif melakukan trend berikut. Keuntungannya adalah logika sederhana, penyesuaian parameter yang fleksibel, penyaringan breakout palsu. Tapi ada juga beberapa risiko. Ini perlu menambahkan modul seperti stop loss, optimasi parameter, penilaian lingkungan untuk meningkatkan. Secara keseluruhan, strategi ini menyediakan model dasar yang berharga untuk perdagangan kuantitatif. Ini dapat menjadi alat perdagangan yang kuat setelah perbaikan berkelanjutan.


/*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 banyak