
Logika inti dari strategi ini adalah untuk mendeteksi apakah harga penutupan N-root K-line berturut-turut naik secara berturut-turut, jika demikian, lakukan lebih banyak; jika tidak puas, maka posisi kosong. Dengan demikian, tren kenaikan harga saham dapat ditangkap dan keuntungan dapat dicapai.
Indikator inti dari strategi ini adalah nCounter, yang menilai kenaikan harga dengan membandingkan harga penutupan dan pembukaan K-line saat ini.
Secara khusus, jika close[1]>=open[1], nCounter ditambah 1, berarti naik; jika close[1]
nCounter kemudian dibandingkan dengan parameter nLength, output sinyal C1 = 1 ketika nCounter> = nLength; jika tidak, C1 = 0 ≠ nLength di sini adalah berapa banyak garis K yang kita definisikan yang diperlukan untuk menghasilkan sinyal ≠
Setelah menerima sinyal C1 = 1, jika tidak ada posisi saat ini, lakukan lebih banyak; jika sudah ada lebih banyak kepala yang memegang posisi, teruskan memegang.
Selain itu, strategi ini juga menetapkan kondisi stop loss dan stop loss. Jika harga di bawah persentase tertentu dari harga masuk, stop loss akan terjadi; Jika lebih dari persentase tertentu dari harga masuk, stop loss akan terjadi.
Ini adalah strategi trend tracking yang lebih khas, dan memiliki beberapa keuntungan:
Strategi ini juga memiliki beberapa risiko, yang terkonsentrasi pada beberapa hal:
Untuk mengurangi risiko ini, kita dapat mengatur kondisi stop loss yang lebih ketat, mengoptimalkan parameter nLength, menambahkan aturan penilaian besar, atau menguji parameter untuk saham yang berbeda. Tentu saja, strategi apa pun sulit untuk benar-benar menghindari kerugian dan perlu dicocokkan dengan preferensi risiko pedagang.
Mengingat risiko-risiko di atas, kita dapat terus mengoptimalkan strategi ini dalam beberapa hal:
Strategi ini dapat menangkap tren naik dengan mendeteksi N akar terus menerus naik K garis, sehingga dapat melakukan pelacakan tren secara efektif. Keunggulan adalah logika sederhana, parameter menyesuaikan fleksibel, dapat filter palsu terobosan. Tapi ada juga risiko tertentu, perlu menambahkan modul seperti Stop Loss, Optimasi parameter, Penghakiman Lingkungan dan perbaikan lainnya untuk membuat strategi lebih komprehensif dan stabil.
/*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)