N Bar Tutup Di Bawah Strategi Pendek Terbuka

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

img

Gambaran umum

Strategi ini mengidentifikasi tren jangka pendek berdasarkan indikator teknis dan mengambil posisi pendek ketika mendeteksi N bar berturut-turut yang ditutup di bawah harga pembukaan.

Logika Strategi

Strategi ini menggunakan variabel nCounter untuk menghitung jumlah bar berturut-turut dengan close di bawah open. Ketika harga close lebih rendah dari harga open, nCounter meningkat sebesar 1. Ketika harga close lebih tinggi dari harga open, nCounter reset menjadi 0. Ketika nCounter mencapai parameter input nLength, itu menunjukkan N bar berturut-turut yang ditutup di bawah harga opening dan sinyal C2 menjadi 1.

Setelah sinyal, jika tidak ada posisi, order pendek akan dikirim. Jika sudah dalam posisi pendek, teruslah memegang posisi. Setelah posisi dibuka, posprice mencatat harga masuk. Ambil keuntungan dan stop loss ditetapkan berdasarkan harga masuk: jika harga mencapai titik profit (entry + input takeprofit), tutup posisi dan reset; jika harga mencapai titik stop loss (entry - input stoploss), tutup posisi dan reset.

Analisis Keuntungan

Keuntungan utama dari strategi ini:

  1. Logika yang sederhana dan jelas, mudah dipahami dan diterapkan.
  2. Parameter yang dapat disesuaikan, fleksibel dalam kondisi pasar yang berbeda.
  3. Dilengkapi dengan mengambil keuntungan dan stop loss, secara efektif mengendalikan risiko.

Analisis Risiko

Risiko utama dari strategi ini:

  1. N bar dekat di bawah terbuka tidak dapat sepenuhnya mengkonfirmasi pembalikan tren, sinyal palsu mungkin terjadi.
  2. Pengaturan stop loss atau take profit yang tidak tepat dapat menyebabkan keluar prematur atau kehilangan yang diperkuat.

Arahan Optimasi

Strategi dapat ditingkatkan dari aspek berikut:

  1. Tambahkan filter tren untuk menghindari salah menilai koreksi jangka pendek di pasar sisi.

  2. Tambahkan konfirmasi volume. Volume surging dapat lebih baik mengkonfirmasi pembalikan tren.

  3. Mengoptimalkan mengambil keuntungan dan stop loss, seperti menggunakan stop loss trailing, stop loss persentase untuk membuat exit yang lebih cerdas.

  4. Menggunakan model pembelajaran mesin untuk secara dinamis menyesuaikan parameter seperti nLength sesuai dengan perubahan pasar real-time.

Kesimpulan

Strategi ini mengidentifikasi tren jangka pendek hanya berdasarkan hubungan antara harga dekat dan harga terbuka. Sinyal perdagangan dihasilkan ketika mendeteksi N batang berturut-turut ditutup di bawah harga pembukaan. Strategi ini intuitif, dapat disesuaikan dan dilengkapi dengan manajemen risiko yang efektif. Namun, tingkat tertentu dari sinyal palsu ada. Dianjurkan untuk menggabungkan filter tambahan untuk optimasi. Dengan penyesuaian parameter, manajemen risiko dan peningkatan model, ini dapat menjadi alat yang sangat praktis 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 banyak