Strategi Mengikuti Trend Super Dwi Jangka Masa


Tarikh penciptaan: 2023-09-22 14:27:52 Akhirnya diubah suai: 2023-09-22 14:27:52
Salin: 1 Bilangan klik: 760
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini adalah strategi pengesanan hypertrend pada dua bingkai masa. Ia menggunakan kedua-dua indikator hypertrend yang berbeza pada masa yang sama, satu sebagai bingkai masa utama untuk menentukan arah trend, dan satu sebagai bingkai masa tambahan untuk menyaring masuk.

Prinsip Strategi

Indikator utama strategi ini adalah indikator hypertrend. Indikator hypertrend menentukan arah trend harga relatif dengan mengira perbezaan harga. Strategi ini menggunakan indikator hypertrend untuk dua tempoh masa, dengan mengira garisan hypertrend untuk bingkai masa utama dan bingkai masa tambahan.

Logik urus niaga adalah seperti berikut:

  1. Menentukan arah garis trend di luar bingkai masa utama sebagai arah trend utama.

  2. Tunggu kerangka masa tambahan untuk masuk apabila garis trend melampau menghantar isyarat arah arah kedudukan.

  3. Tetapkan titik henti kerugian.

  4. Main time frame overtrend line berpatah balik semula.

Dengan menggabungkan kedua-dua indikator kitaran, beberapa isyarat yang menyimpang boleh disaring, menjadikan kemasukan lebih tepat.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Kombinasi dua kerangka masa membolehkan kita menilai trend dengan lebih tepat.

  2. Penunjuk hypertrend sensitif terhadap perubahan trend, dan tepat untuk permulaan.

  3. Tetapkan titik henti kerugian untuk mengawal risiko.

  4. Logik strategi mudah, mudah difahami.

  5. Parameter boleh dioptimumkan sendiri, menyesuaikan diri dengan pelbagai jenis.

Analisis risiko

Risiko utama dalam strategi ini ialah:

  1. Indikator super trend yang terlewat mungkin salah faham isyarat.

  2. Penangguhan kerosakan yang tidak betul boleh menyebabkan terlalu banyak penangguhan atau kerosakan yang disengajakan.

  3. Kombinasi bingkai masa dua mungkin terlepas peluang untuk berbalik lebih cepat.

  4. Pengoptimuman parameter bergantung kepada data sejarah, risiko over-fitting wujud.

  5. Tidak mengambil kira kos transaksi.

Penyelesaian:

  1. Sesuai menyesuaikan parameter penunjuk, memperkenalkan pengesahan gabungan penunjuk lain.

  2. Mengoptimumkan kedudukan henti rugi secara dinamik berdasarkan data pengesanan semula.

  3. Ujian lebih pendek untuk penilaian tambahan.

  4. Memperluas pengesahan data, pengesahan semula pelbagai pasaran.

  5. Tambahan kos urus niaga seperti yuran, slippage dan sebagainya.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan cara:

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

  2. Memperkenalkan kaedah pembelajaran mesin untuk mengoptimumkan parameter secara dinamik.

  3. Mengoptimumkan strategi Hentikan Kerosakan dan Meningkatkan Nisbah Keuntungan dan Kerugian.

  4. Uji keserasian pelbagai tempoh masa.

  5. Sesuaikan jarak stop loss mengikut jumlah dagangan.

  6. Logik pengiraan untuk menambah yuran dan titik slip.

  7. Membangunkan alat optimasi parameter grafik.

ringkaskan

Strategi ini mencapai keputusan dan entri trend yang lebih tepat melalui penunjuk trend melampaui bingkai masa dua. Ia menetapkan risiko kawalan hentian berhenti. Logik strategi sederhana dan jelas, mudah untuk mengembangkan dan mengoptimumkan.

Kod sumber strategi
/*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)