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.
Strategi ini terutamanya berdasarkan dua penunjuk:
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.
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.
Strategi ini mempunyai kelebihan berikut:
Reka bentuk jangka masa berbilang. kitaran panjang dan pertengahan menentukan trend utama manakala kitaran pendek menentukan entri tertentu.
Garis tengah pusingan menyediakan pilihan untuk menutup separuh kedudukan, mengunci beberapa keuntungan sambil memastikan perdagangan yang menang.
Rata-rata Band Julat Benar memberikan tahap stop loss yang jelas.
Strategi ini mempunyai beberapa parameter, mudah untuk mengoptimumkan untuk kombinasi parameter terbaik.
Ia mengelakkan risiko pelarian palsu.
Strategi ini juga mempunyai beberapa risiko:
Risiko stop loss yang lebih besar semasa turun naik pasaran yang tinggi.
Garis tengah sering boleh mencetuskan stop loss semasa penyatuan pasaran.
Pilihan parameter yang tidak betul boleh mengakibatkan terlalu sedikit atau terlalu kerap perdagangan.
Pecahan titik pivot baru-baru ini mungkin menjadi pecahkan palsu.
Strategi ini boleh dioptimumkan dari aspek berikut:
Gabungkan lebih banyak penapis seperti jumlah dan Bollinger Bands untuk mengelakkan isyarat palsu.
Mengoptimumkan tempoh Titik Pivot dan ATR untuk mencari kombinasi parameter terbaik.
Letakkan zon penyangga di sekitar garis tengah untuk mengelakkan pencetus yang kerap.
Tambah penapis trend yang betul untuk memastikan operasi mengikut trend utama.
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()