Trend Kekuatan mengesahkan Bar Strategi

Penulis:ChaoZhang, Tarikh: 2024-01-16 15:22:53
Tag:

img

Ringkasan: Strategi ini menilai arah trend berdasarkan arah harga penutupan N candlestick berturut-turut. Isyarat perdagangan dihasilkan apabila harga penutupan N candlestick berturut-turut memenuhi syarat. Saiz N ditetapkan oleh parameter input confirmBars. Strategi ini terutamanya menggunakan arah harga penutupan N candlestick berturut-turut untuk menentukan kekuatan trend. N yang lebih besar memerlukan lebih banyak candlestick untuk mengesahkan trend, yang boleh menapis pecah palsu tetapi juga mungkin terlepas peringkat awal trend.

Prinsip:
Strategi ini mengesan hubungan antara harga penutupan candlestick terakhir dan yang sebelumnya untuk menilai kekuatan kenaikan dan penurunan harga. Khususnya, ia menentukan dua pembolehubah bcount dan discount untuk merekodkan jumlah harga penutupan candlestick berturut-turut yang naik dan turun.

Apabila bcount mencapai nilai yang ditetapkan oleh confirmBars, ia bermakna harga penutupan lilin berturut-turut confirmBars telah meningkat, menghasilkan isyarat beli. Apabila discount mencapai nilai yang ditetapkan oleh confirmBars, ia bermakna harga penutupan lilin berturut-turut confirmBars telah jatuh, menghasilkan isyarat jual.

Dengan menilai hala tuju harga penutupan beberapa candlestick berturut-turut, turun naik pasaran jangka pendek dapat disaring dengan berkesan, dan isyarat perdagangan hanya dihasilkan di bawah trend yang agak kuat.

Analisis Kelebihan:

  1. Menyaring bunyi bising dengan berkesan dan mengesahkan trend
    Strategi ini memerlukan harga penutupan N candlestick berturut-turut untuk memenuhi syarat sebelum menghasilkan isyarat perdagangan. Ini menapis kesan turun naik pasaran biasa pada perdagangan dan memastikan bahawa kedudukan dibuka hanya di bawah trend yang kuat.

  2. Parameter kekuatan penapisan yang boleh diselaraskan Dengan menyesuaikan saiz parameter confirmBars, kekuatan penapisan turun naik harga boleh dikawal. Parameter yang lebih besar mempunyai kesan penapisan yang lebih baik terhadap bunyi bising, tetapi juga mungkin terlepas peluang trend awal.

Analisis Risiko:

  1. Mungkin terlepas peluang trend awal Strategi ini memerlukan harga penutupan lilin berturut-turut untuk memenuhi syarat sebelum menghasilkan isyarat, jadi ia sering kehilangan peluang trend awal dan tidak dapat mengesan trend dengan tepat pada masanya.

  2. Kemungkinan untuk menghentikan kehilangan Apabila bilangan pengesahan confirmBars ditetapkan terlalu besar, mudah disesatkan oleh garis jangka pendek terbalik pada peringkat awal trend, yang mengakibatkan stop loss breakouts.

Arahan pengoptimuman:

  1. Menapis pecah palsu dengan penunjuk lain
    Indikator teknikal lain seperti Bollinger Bands dan RSI boleh digunakan untuk melakukan penapisan sekunder pada isyarat beli dan jual untuk mengurangkan kemungkinan pecah palsu.

  2. Sesuaikan parameter secara dinamik Cuba menyesuaikan parameter confirmBars secara dinamik berdasarkan keadaan pasaran. Tingkatkan nilai parameter di pasaran yang tidak menentu untuk menapis bunyi bising; Kurangkan nilai parameter apabila trend jelas untuk mengesan trend.

Ringkasan:
Strategi ini mencapai kesan penapisan kejutan dan mengesahkan trend dengan menilai arah harga penutupan beberapa candlestick 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 mengimbangi hubungan antara kesan penapisan dan menangkap peluang trend. Walau bagaimanapun, strategi ini cenderung dihentikan pada awal permulaan trend dan gagal mengesan trend secara berterusan. Disyorkan untuk mengoptimumkan dengan penunjuk lain atau cuba penyesuaian parameter dinamik untuk mengejar pulangan yang lebih baik.


/*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")

Lebih lanjut