
Ringkasan: Strategi ini menilai arah trend dengan arah harga penutupan N-root K-line berturut-turut, dan menghasilkan isyarat perdagangan apabila harga penutupan N-root K-line berturut-turut memenuhi syarat. Saiz N ditetapkan oleh parameter input ConfirmBars. Strategi ini terutamanya menggunakan arah harga penutupan N-root K-line berturut-turut untuk menentukan kekuatan trend.
Prinsip: Strategi ini menilai kekuatan kenaikan atau penurunan harga dengan mengesan hubungan antara saiz harga penutupan K terakhir dengan garis K sebelumnya. Khususnya, ia mendefinisikan dua pembolehubah bcount dan scount, yang merekodkan jumlah akar kenaikan harga penutupan berturut-turut dan penurunan harga penutupan berturut-turut.
Apabila bcount mencapai nilai yang ditetapkan oleh confirmBars, ia menunjukkan kenaikan harga penutupan rutan confirmBars akar K, menghasilkan isyarat membeli. Apabila scount mencapai nilai yang ditetapkan oleh confirmBars, ia menunjukkan penurunan harga penutupan rutan confirmBars akar K, menghasilkan isyarat menjual.
Dengan cara ini, dengan menilai arah harga penutupan beberapa garis K berturut-turut, bunyi turun naik pasaran jangka pendek dapat disaring dengan berkesan, dan hanya menghasilkan isyarat perdagangan dengan kecenderungan yang lebih kuat.
Analisis kelebihan:
Ia boleh menyaring kebisingan dan mengesahkan trend. Strategi ini memerlukan satu isyarat perdagangan apabila harga penutupan N-root K-line berturut-turut memenuhi syarat, yang boleh menyaring kesan turun naik pasaran biasa terhadap perdagangan, dan memastikan kedudukan dibuka hanya dengan trend yang lebih kuat.
Parameter boleh menyesuaikan intensiti penapis Dengan menyesuaikan saiz parameter untuk ConfirmBars, anda boleh mengawal kekuatan penapisan terhadap pergerakan harga. Semakin besar parameter, lebih baik penapisan terhadap bunyi bising, tetapi lebih mudah untuk kehilangan peluang awal untuk trend.
Analisis risiko:
Mungkin terlepas peluang di awal trend Strategi ini memerlukan banyak harga penutupan K yang berturut-turut untuk menghasilkan isyarat, dan oleh itu ia sering kehilangan peluang awal untuk trend dan tidak dapat mengesan trend tepat pada masanya.
Kemudahan untuk menembusi Hentikan Kerugian Apabila ConfirmBars ditetapkan terlalu besar, ia mudah disesatkan oleh garis pendek terbalik pada awal trend, menyebabkan stop loss ditembusi dan dikeluarkan.
Arah untuk dioptimumkan:
Penembusan palsu bercampur dengan penapis lain Ia boleh digabungkan dengan petunjuk teknikal lain, seperti Brinks, RSI dan lain-lain untuk menyaring semula isyarat jual beli, mengurangkan kemungkinan penipuan.
Parameter penyesuaian dinamik Anda juga boleh cuba menyesuaikan parameter ConfirmBars mengikut keadaan pasaran yang dinamik, meningkatkan nilai parameter ketika pasaran bergolak, menapis kebisingan; dan mengurangkan nilai parameter ketika trend jelas, dan mengikuti trend.
Kesimpulannya: Strategi ini mencapai kesan penapis goyah dan pengesahan trend dengan menilai arah harga penutupan beberapa garis K berturut-turut. Ia dapat mengurangkan perdagangan yang salah yang disebabkan oleh turun naik pasaran jangka pendek, dan hanya menghasilkan isyarat perdagangan apabila trend jelas. Dengan menyesuaikan saiz parameter ConfirmBars, pengguna dapat menyeimbangkan sendiri hubungan antara kesan penapis dan peluang menangkap trend.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Confirm Bars Strategy [TS Trader]", overlay=true)
confirmBars = input(1)
// === INPUT BACKTEST RANGE ===
fromYear = input.int(2019, title="Backtest Start Year")
fromMonth = input.int(1, title="Backtest Start Month", minval=1, maxval=12)
fromDay = input.int(1, title="Backtest Start Day", minval=1, maxval=31)
toYear = input.int(2023, title="Backtest End Year")
toMonth = input.int(12, title="Backtest End Month", minval=1, maxval=12)
toDay = input.int(31, title="Backtest End Day", minval=1, maxval=31)
startTimestamp = timestamp(fromYear, fromMonth, fromDay, 00, 00)
endTimestamp = timestamp(toYear, toMonth, toDay, 23, 59)
inBacktestRange = true
// === STRATEGY LOGIC ===
bcount = 0
bcount := close[1] < close ? nz(bcount[1]) + 1 : 0
if (bcount == confirmBars and inBacktestRange)
strategy.entry("Buy", strategy.long, comment="Long")
scount = 0
scount := close[1] > close ? nz(scount[1]) + 1 : 0
if (scount == confirmBars and inBacktestRange)
strategy.entry("Sell", strategy.short, comment="Short")