N Bar Tutup di bawah Strategi Pendek Terbuka

Penulis:ChaoZhang, Tarikh: 2023-12-26 10:29:12
Tag:

img

Ringkasan

Strategi ini mengenal pasti trend jangka pendek berdasarkan penunjuk teknikal dan mengambil kedudukan pendek apabila mengesan N bar berturut-turut ditutup di bawah harga pembukaan.

Logika Strategi

Strategi ini menggunakan pembolehubah nCounter untuk mengira bilangan bar berturut-turut dengan tutup di bawah terbuka. Apabila harga menutup lebih rendah daripada harga terbuka, nCounter meningkat sebanyak 1. Apabila harga menutup lebih tinggi daripada harga terbuka, nCounter menetapkan semula kepada 0.

Pada isyarat, jika tidak ada kedudukan, pesanan pendek akan dihantar. Jika sudah dalam kedudukan pendek, teruskan memegang kedudukan. Selepas membuka kedudukan, posprice merekodkan harga kemasukan. Ambil keuntungan dan hentikan kerugian ditetapkan berdasarkan harga kemasukan: jika harga mencapai titik keuntungan (masuk + masuk mengambil keuntungan), tutup kedudukan dan reset; jika harga mencapai titik kehilangan berhenti (masuk - masuk stopploss), tutup kedudukan dan reset.

Analisis Kelebihan

Kelebihan utama strategi ini:

  1. Logik yang mudah dan jelas, mudah difahami dan dilaksanakan.
  2. Parameter yang boleh disesuaikan, fleksibel dalam keadaan pasaran yang berbeza.
  3. Dilengkapi dengan mengambil keuntungan dan berhenti kerugian, berkesan mengawal risiko.

Analisis Risiko

Risiko utama strategi ini:

  1. N bar dekat di bawah terbuka tidak dapat mengesahkan pembalikan trend sepenuhnya, isyarat palsu mungkin berlaku.
  2. Pengaturan stop loss atau mengambil keuntungan yang tidak betul boleh membawa kepada keluar awal atau kehilangan yang diperkuat. Parameter yang munasabah harus ditetapkan mengikut turun naik pasaran.

Arahan pengoptimuman

Strategi ini boleh ditingkatkan dari aspek berikut:

  1. Tambah penapis trend untuk mengelakkan salah menilai pembetulan jangka pendek di pasaran sampingan.

  2. Tambah pengesahan jumlah. Jumlah yang meningkat boleh lebih baik mengesahkan pembalikan trend.

  3. Mengoptimumkan mengambil keuntungan dan menghentikan kerugian, seperti menggunakan kerugian berhenti, peratusan kehilangan berhenti untuk membuat keluar yang lebih pintar.

  4. Menggunakan model pembelajaran mesin untuk menyesuaikan parameter secara dinamik seperti nLength mengikut perubahan pasaran masa nyata.

Kesimpulan

Strategi ini mengenal pasti trend jangka pendek hanya berdasarkan hubungan antara harga dekat dan harga terbuka. Isyarat perdagangan dihasilkan apabila mengesan N bar berturut-turut ditutup di bawah harga pembukaan. Strategi ini intuitif, disesuaikan dan dilengkapi dengan pengurusan risiko yang berkesan. Walau bagaimanapun, tahap tertentu isyarat palsu wujud. Adalah disyorkan untuk menggabungkan penapis tambahan untuk pengoptimuman. Dengan penyesuaian parameter, pengurusan risiko dan peningkatan model, ini boleh menjadi alat yang sangat praktikal untuk perdagangan jangka pendek.


/*backtest
start: 2023-12-18 00:00:00
end: 2023-12-25 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/02/2020
// Evaluates for n number of consecutive lower 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 Down", shorttitle="NBD 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))
C2 = 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(C2== 1, close, nz(posprice[1], 0)) 
pos := iff(posprice > 0, -1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == -1)
    strategy.entry("Short", strategy.short)
posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))
plot(C2, title='NBD', color=color.red)

Lebih lanjut