Sumber dimuat naik... memuat...

Penembusan Tinggi Bersejarah dengan Trend Penapis Purata Bergerak Bulanan Mengikuti Strategi

Penulis:ChaoZhang, Tarikh: 2024-12-13 10:25:18
Tag:ATHSMAMA

img

Ringkasan

Strategi ini adalah sistem trend berikut berdasarkan penapis penembusan tinggi sejarah dan purata bergerak bulanan. Ia menjana isyarat beli dengan memantau penembusan harga di atas paras tertinggi sejarah sebelumnya, sambil menggunakan Purata Bergerak Sederhana (8 SMA) 8 tempoh pada jangka masa bulanan sebagai penapis jual untuk mengurangkan risiko penembusan palsu. Reka bentuk strategi sejajar dengan ciri pasaran kesinambungan trend dan sangat sesuai untuk menangkap trend utama di pasaran menaik yang kuat.

Prinsip Strategi

Logik teras terdiri daripada dua komponen utama:

  1. Isyarat Beli: Dihasilkan apabila harga penutupan terkini memecahkan di atas paras tertinggi sejarah sebelumnya (tidak termasuk paras tertinggi bar semasa).
  2. Isyarat Jual: Dihidupkan apabila harga penutupan bulanan jatuh di bawah Purata Bergerak Sederhana 8 tempoh. Keadaan ini membantu dengan stop-loss tepat pada masanya dan menghalang kerugian yang lebih besar daripada pembalikan trend. Strategi ini juga merangkumi mekanisme penjejakan keadaan isyarat untuk mengelakkan isyarat berulang dalam keadaan yang sama, meningkatkan kestabilan strategi.

Kelebihan Strategi

  1. Penangkapan Trend Kuat: Menangkapi trend menaik yang kuat dengan berkesan melalui pengesanan pecah tinggi sejarah.
  2. Kawalan Risiko yang kukuh: Menggabungkan purata bergerak bulanan sebagai penapis untuk menyaring keluar pecah palsu dengan berkesan.
  3. Kestabilan Isyarat Tinggi: Menggunakan pembolehubah lastSignal untuk mengesan keadaan isyarat, mencegah pengulangan isyarat.
  4. Visualisasi yang baik: Menyediakan antara muka grafik yang jelas termasuk garis tinggi sejarah, purata bergerak, dan penanda beli / jual.
  5. Kebolehsesuaian yang tinggi: Boleh digunakan untuk jangka masa dan instrumen yang berbeza.

Risiko Strategi

  1. Risiko Lag: Isyarat pecah yang tinggi secara semula jadi agak tertinggal, berpotensi kehilangan titik masuk yang optimum.
  2. Risiko pecah palsu: Walaupun penapisan purata bergerak bulanan, pecah palsu masih boleh berlaku di pasaran yang berbeza.
  3. Risiko Penarikan: Strategi boleh mengalami penarikan yang ketara pada titik pembalikan trend.
  4. Risiko Pengurusan Posisi: Strategi tidak mempunyai mekanisme ukuran kedudukan, yang memerlukan peraturan pengurusan wang tambahan.

Arahan Pengoptimuman Strategi

  1. Pengesahan Jumlah: Tambah penunjuk jumlah sebagai keadaan pengesahan pecah untuk meningkatkan kebolehpercayaan isyarat.
  2. Peningkatan Stop-Loss: Merancang peraturan stop-loss yang lebih fleksibel, seperti berhenti yang tertinggal atau berhenti berdasarkan turun naik.
  3. Pengurusan Posisi: Sesuaikan saiz kedudukan secara dinamik berdasarkan turun naik pasaran dan kekuatan trend.
  4. Penapisan Isyarat: Tambah penunjuk kekuatan trend seperti ADX untuk menapis isyarat lemah.
  5. Penapisan Masa: Tambah penapisan tempoh masa untuk mengelakkan perdagangan semasa tempoh masa yang tidak sesuai.

Ringkasan

Ini adalah trend yang direka dengan baik mengikuti strategi dengan logik yang jelas. Melalui gabungan penembusan tinggi sejarah dan purata bergerak bulanan, ia mencapai kedua-dua penangkapan trend yang berkesan dan kawalan risiko yang munasabah. Walaupun terdapat risiko ketinggalan dan penembusan palsu, arah pengoptimuman yang dicadangkan menawarkan potensi untuk peningkatan prestasi lebih lanjut. Strategi ini sangat sesuai untuk pasaran dengan trend yang jelas dan boleh berfungsi sebagai alat rujukan penting untuk pelaburan jangka menengah hingga panjang.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy Signal on Close Greater Than Previous All-Time High Strategy", overlay=true)

// Initialize the previous all-time high
var float prevAllTimeHigh = na

// Update the all-time high, excluding the current bar's high (use previous bar's high)
if (na(prevAllTimeHigh) or high[1] > prevAllTimeHigh)
    prevAllTimeHigh := high[1]

// Monthly closing price and 8 SMA on monthly time frame
monthlyClose = request.security(syminfo.tickerid, "M", close)
monthlySMA = ta.sma(monthlyClose, 8)

// Variables to track the last signal type
var int lastSignal = 0 // 0 = None, 1 = Buy, 2 = Sell

// Debugging output to check the all-time high and conditions
plot(prevAllTimeHigh, color=color.blue, linewidth=1, title="Previous All-Time High")
plot(monthlySMA, color=color.green, linewidth=1, title="8 SMA (Monthly)")

// Buy signal: when the latest close is greater than the previous all-time high
buySignal = close > prevAllTimeHigh and lastSignal != 1

// Sell signal: when the monthly close is below the 8 SMA
sellSignal = monthlyClose < monthlySMA and lastSignal != 2

// Update the last signal type after triggering a signal
if (buySignal)
    lastSignal := 1
if (sellSignal)
    lastSignal := 2

// Execute the strategy orders
if (buySignal)
    strategy.entry("Buy", strategy.long)

if (sellSignal)
    strategy.close("Buy")

// Optional: Plot buy and sell signals on the chart for visual reference
plotshape(series=buySignal, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)
plotshape(series=sellSignal, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)


Berkaitan

Lebih lanjut