Strategi Pengesanan Supertrend Kerangka Masa Berganda

Penulis:ChaoZhang, Tarikh: 2023-09-22
Tag:

Ringkasan

Ini adalah strategi pengesanan Supertrend jangka masa berganda. Ia menggunakan penunjuk Supertrend dalam dua tempoh masa yang berbeza, satu sebagai jangka masa utama untuk menentukan arah trend, dan satu sebagai jangka masa tambahan untuk menapis entri. Ia hanya masuk apabila Supertrend dalam kedua-dua jangka masa berada dalam arah yang sama, untuk menangkap titik pembalikan trend dengan lebih tepat.

Logika Strategi

Indikator teras strategi ini adalah Supertrend. Supertrend menentukan arah trend harga relatif dengan mengira turun naik harga. Strategi ini menggunakan Supertrend dalam dua tempoh masa, mengira garis Supertrend untuk bingkai masa utama dan tambahan masing-masing.

Logik perdagangan khusus adalah:

  1. Menggunakan arah jangka masa utama Supertrend sebagai arah trend keseluruhan.

  2. Masukkan apabila jangka masa tambahan Supertrend mengeluarkan isyarat ke arah yang sama.

  3. Tetapkan stop loss dan ambil mata keuntungan.

  4. Keluar apabila bingkai masa utama Supertrend berputar lagi.

Dengan menggabungkan dua penunjuk jangka masa, beberapa perbezaan boleh disaring untuk kemasukan yang lebih tepat.

Analisis Kelebihan

Kelebihan strategi ini termasuk:

  1. Gabungan bingkai masa ganda membolehkan penilaian trend yang lebih tepat.

  2. Supertrend sensitif terhadap perubahan trend, dengan kemasukan yang tepat.

  3. Hentikan kerugian dan ambil risiko kawalan keuntungan.

  4. Logik strategi yang mudah dan mudah difahami.

  5. Parameter boleh disesuaikan untuk produk yang berbeza.

Analisis Risiko

Risiko utama ialah:

  1. Kelewatan supertrend boleh menyebabkan isyarat yang salah.

  2. Stop loss yang tidak betul dan mengambil keuntungan boleh menyebabkan trend yang terlalu mengejar atau stop loss yang terlalu awal.

  3. Jangka masa berganda mungkin terlepas beberapa pembalikan yang lebih pendek.

  4. Pengoptimuman parameter bergantung pada data sejarah, risiko terlalu sesuai wujud.

  5. Tiada pertimbangan kos transaksi.

Penyelesaian adalah:

  1. Sesuaikan parameter penunjuk, tambah penunjuk lain untuk pengesahan gabungan.

  2. Secara dinamik mengoptimumkan stop loss dan mengambil keuntungan berdasarkan hasil backtest.

  3. Uji jangka masa yang lebih pendek sebagai penilaian tambahan.

  4. Memperluaskan pelbagai data backtest, pengesahan backtest pelbagai pasaran.

  5. Tambah kos transaksi seperti komisen dan slippage.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dengan:

  1. Uji lebih banyak kombinasi penunjuk untuk mencari kombinasi yang optimum.

  2. Menggunakan pembelajaran mesin untuk mengoptimumkan parameter secara dinamik.

  3. Mengoptimumkan stop loss dan mengambil keuntungan untuk nisbah risiko-balasan yang lebih baik.

  4. Mencuba kombinasi lebih banyak jangka masa.

  5. Penyesuaian julat keuntungan dan stop loss berdasarkan bilangan dagangan.

  6. Menambah komisen dan logik slippage.

  7. Membangunkan alat pengoptimuman parameter grafik.

Kesimpulan

Strategi ini mencapai penilaian trend dan entri yang agak tepat dengan menggunakan penunjuk Supertrend jangka masa berganda. Ia mengawal risiko dengan menetapkan stop loss dan mengambil keuntungan. Logik strategi adalah mudah dan jelas, mudah diperluaskan dan dioptimumkan. Ia boleh dipertingkatkan dengan memperkenalkan lebih banyak penunjuk, mengoptimumkan parameter secara dinamik, menambah kos transaksi dan lain-lain untuk menjadikannya lebih mantap. Secara keseluruhan, strategi ini menyediakan idea penjejakan trend jangka masa berganda yang berguna yang memegang nilai rujukan yang baik.


/*backtest
start: 2023-08-22 00:00:00
end: 2023-09-21 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Supertrend Strategy by breizh29 using *rajandran.r* Supertrend Indicator

// strategy("Super Trend 2", overlay=true, default_qty_value=100)
TrendUp = 0.0
TrendDown = 0.0
Trend = 0.0
MTrendUp = 0.0
MTrendDown = 0.0
MTrend = 0.0

res = input(title="Main SuperTrend Time Frame",  defval="120")
Factor=input(1, minval=1,maxval = 100)
Pd=input(1, minval=1,maxval = 100)

tp = input(500,title="Take Profit")
sl = input(400,title="Stop Loss")


Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
MUp=security(syminfo.tickerid,res,hl2-(Factor*atr(Pd)))
MDn=security(syminfo.tickerid,res,hl2+(Factor*atr(Pd)))

Mclose=security(syminfo.tickerid,res,close)

TrendUp:=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown:=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn

MTrendUp:=Mclose[1]>MTrendUp[1]? max(MUp,MTrendUp[1]) : MUp
MTrendDown:=Mclose[1]<MTrendDown[1]? min(MDn,MTrendDown[1]) : MDn

Trend := close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown

MTrend := Mclose > MTrendDown[1] ? 1: Mclose< MTrendUp[1]? -1: nz(MTrend[1],1)
MTsl = MTrend==1? MTrendUp: MTrendDown

linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")

Mlinecolor = MTrend == 1 ? blue : orange
plot(MTsl, color = Mlinecolor , style = line , linewidth = 2,title = "Main SuperTrend")

plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)

up = Trend == 1 and Trend[1] == -1 and MTrend == 1 
down = Trend == -1 and Trend[1] == 1 and MTrend == -1 
plotarrow(up ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(down ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)


golong = Trend == 1 and Trend[1] == -1 and MTrend == 1 
goshort = Trend == -1 and Trend[1] == 1 and MTrend == -1 

strategy.entry("Buy", strategy.long,when=golong)
strategy.exit("Close Buy","Buy",profit=tp,loss=sl)
   
   
strategy.entry("Sell", strategy.short,when=goshort)
strategy.exit("Close Sell","Sell",profit=tp,loss=sl)



Lebih lanjut