Pivot SuperTrend Strategi Melalui Pelbagai Jangka Masa

Penulis:ChaoZhang, Tarikh: 2024-01-31 17:29:37
Tag:

img

Ringkasan

Strategi ini menggabungkan penunjuk Titik Pivot dan Band Julat Benar Purata untuk melaksanakan sistem pengesanan trend merentasi pelbagai jangka masa. Ia boleh menangkap trend pada kitaran pertengahan sambil menggunakan Titik Pivot untuk menentukan sokongan dan rintangan jangka panjang untuk kemasukan dan keluar yang lebih baik.

Logika Strategi

Strategi ini terutamanya berdasarkan dua penunjuk:

  1. Titik Pivot: Mengira purata harga tertinggi, terendah dan penutupan dalam tempoh tertentu untuk menentukan titik pusat atas dan bawah. Titik pusat boleh berfungsi sebagai kawasan sokongan dan rintangan utama.

  2. Band Julat Benar Purata: Hitung julat sebenar purata dalam tempoh tertentu, dan gerakkan band tengah ke atas dan ke bawah untuk membentuk saluran.

Logik perdagangan khusus adalah:

Apabila harga menembusi saluran Julat Benar Purata, ambil kedudukan panjang atau pendek di sepanjang arah pecah. Apabila harga kembali ke saluran, tutup kedudukan. Juga, apabila harga menembusi titik pusingan atas, ambil pendirian panjang; apabila harga menembusi titik pusingan bawah, ambil pendirian pendek.

Strategi ini juga memperkenalkan konsep garis tengah pusingan. Apabila mengambil keuntungan melanggar garis tengah, adalah mungkin untuk menutup separuh kedudukan untuk mengunci beberapa keuntungan dan mengawal risiko.

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Reka bentuk jangka masa berbilang. kitaran panjang dan pertengahan menentukan trend utama manakala kitaran pendek menentukan entri tertentu.

  2. Garis tengah pusingan menyediakan pilihan untuk menutup separuh kedudukan, mengunci beberapa keuntungan sambil memastikan perdagangan yang menang.

  3. Rata-rata Band Julat Benar memberikan tahap stop loss yang jelas.

  4. Strategi ini mempunyai beberapa parameter, mudah untuk mengoptimumkan untuk kombinasi parameter terbaik.

  5. Ia mengelakkan risiko pelarian palsu.

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Risiko stop loss yang lebih besar semasa turun naik pasaran yang tinggi.

  2. Garis tengah sering boleh mencetuskan stop loss semasa penyatuan pasaran.

  3. Pilihan parameter yang tidak betul boleh mengakibatkan terlalu sedikit atau terlalu kerap perdagangan.

  4. Pecahan titik pivot baru-baru ini mungkin menjadi pecahkan palsu.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dari aspek berikut:

  1. Gabungkan lebih banyak penapis seperti jumlah dan Bollinger Bands untuk mengelakkan isyarat palsu.

  2. Mengoptimumkan tempoh Titik Pivot dan ATR untuk mencari kombinasi parameter terbaik.

  3. Letakkan zon penyangga di sekitar garis tengah untuk mengelakkan pencetus yang kerap.

  4. Tambah penapis trend yang betul untuk memastikan operasi mengikut trend utama.

Kesimpulan

Secara umum, ini adalah strategi pengesanan trend yang sangat praktikal. Ia menyelesaikan kesukaran hentian kerugian biasa sistem trend dan mencapai perdagangan trend yang boleh dikawal risiko. Ini adalah strategi yang sangat disyorkan. Dengan pengoptimuman dan penambahbaikan yang betul, prestasi dapat ditingkatkan lagi.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LonesomeTheBlue

//@version=4
strategy("Pivot Point SuperTrend [Backtest]", overlay = true)
prd = input(defval = 2, title="Pivot Point Period", minval = 1, maxval = 50)
Factor=input(defval = 3, title = "ATR Factor", minval = 1, step = 0.1)
Pd=input(defval = 10, title = "ATR Period", minval=1)
usecenter = input(defval = false, title="Use Center Line to Close Entry for 50%")
showpivot = input(defval = false, title="Show Pivot Points")
showcl = input(defval = false, title="Show PP Center Line")


float ph = na
float pl = na
ph := pivothigh(prd, prd)
pl := pivotlow(prd, prd)

plotshape(ph and showpivot, text="H",  style=shape.labeldown, color=na, textcolor=color.red, location=location.abovebar, transp=0, offset = -prd)
plotshape(pl and showpivot, text="L",  style=shape.labeldown, color=na, textcolor=color.lime, location=location.belowbar, transp=0, offset = -prd)

float center = na
center := center[1]
float lastpp = ph ? ph : pl ? pl : na
if lastpp
    if na(center)
        center := lastpp
    else
        center := (center * 2 + lastpp) / 3

Up = center - (Factor * atr(Pd))
Dn = center + (Factor * atr(Pd))

float TUp = na
float TDown = na
Trend = 0
TUp := close[1] > TUp[1] ? max(Up, TUp[1]) : Up
TDown := close[1] < TDown[1] ? min(Dn, TDown[1]) : Dn
Trend := close > TDown[1] ? 1: close < TUp[1]? -1: nz(Trend[1], 1)
Trailingsl = Trend == 1 ? TUp : TDown

linecolor = Trend == 1 and nz(Trend[1]) == 1 ? color.lime : Trend == -1 and nz(Trend[1]) == -1 ? color.red : na
plot(Trailingsl, color = linecolor ,  linewidth = 2, title = "PP SuperTrend")

plot(showcl ? center : na, color = showcl ? center < hl2 ? color.blue : color.red : na, transp = 0)

bsignal = Trend == 1 and Trend[1] == -1
ssignal = Trend == -1 and Trend[1] == 1

if bsignal
    strategy.entry("Buy", true, 2, comment = "Buy")
if ssignal
    strategy.entry("Sell", false, 2, comment = "Sell")

if strategy.position_size == 2 and center > hl2 and usecenter
    strategy.close("Buy", qty_percent = 50, comment = "close buy entry for 50%")
if strategy.position_size == -2 and center < hl2 and usecenter
    strategy.close("Sell", qty_percent = 50, comment = "close sell entry for 50%")
    
if change(Trend)
    strategy.close_all()

Lebih lanjut