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.
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.
Ini adalah tren yang khas mengikuti strategi dengan kekuatan berikut:
Ada beberapa risiko dari strategi ini, terutama dalam aspek berikut:
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.
Mempertimbangkan risiko di atas, kita dapat mengoptimalkan strategi dari aspek berikut:
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)