Saluran Donchian dengan Strategi Hentian Jejak


Tarikh penciptaan: 2023-12-07 16:53:10 Akhirnya diubah suai: 2023-12-07 16:53:10
Salin: 0 Bilangan klik: 854
1
fokus pada
1619
Pengikut

Saluran Donchian dengan Strategi Hentian Jejak

Gambaran keseluruhan

Strategi ini adalah strategi mengikuti trend berdasarkan petunjuk saluran Dongxian, digabungkan dengan stop loss dinamik indikator ATR untuk mengunci keuntungan, termasuk dalam kategori strategi mengikuti trend.

Prinsip Strategi

Strategi ini menggunakan indikator saluran Dongxian dengan panjang 20 kitaran, dengan garis tengah saluran sebagai purata harga tertinggi dan terendah. Apabila harga naik, ia melintasi garis tengah saluran, dan apabila harga turun, ia melintasi garis tengah saluran.

Analisis kelebihan

Strategi ini mempunyai kelebihan utama:

  1. Menggunakan saluran Tongxian untuk menentukan arah trend pasaran, dapat menangkap trend dengan berkesan
  2. Digabungkan dengan ATR, Tracking Tracking Stop Loss, untuk mengawal risiko dengan berkesan sambil memastikan keuntungan
  3. Menambah faktor ATR dalam mengira garis hentian, mempertimbangkan turun naik pasaran, sehingga hentian lebih munasabah
  4. Kaedah pengiraan garis henti lebih stabil dan boleh dipercayai, mengelakkan henti terlalu dekat, mengurangkan kebarangkalian penuntutan henti

Analisis risiko

Strategi ini mempunyai risiko utama:

  1. Dalam video yang disiarkan di YouTube, seorang lelaki yang tidak dikenali sebagai “Dong Jianjun” berkata bahawa dia tidak tahu apa-apa mengenai masalah ini.
  2. Tetapan parameter ATR yang tidak betul boleh menyebabkan stop loss terlalu longgar atau terlalu dekat
  3. Mekanisme penilaian trend agak mudah, lebih banyak isyarat salah boleh berlaku dalam pasaran yang disusun
  4. Kekurangan mekanisme penilaian sokongan dan rintangan yang berkesan, pilihan masa untuk memasuki pasaran mungkin salah

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Menambah penilaian indikator lain untuk mengelakkan perdagangan yang kerap di pasaran tanpa trend yang jelas
  2. Menambah penilaian sokongan rintangan, mengoptimumkan masa kemasukan
  3. Mencuba kaedah lain untuk mengoptimumkan lagi strategi Hentikan Kerugian
  4. Uji kesan parameter kitaran saluran Dongxian yang berbeza terhadap kesan strategi
  5. Menambah syarat penapisan seperti jumlah transaksi atau peningkatan untuk mengurangkan isyarat salah masuk

ringkaskan

Strategi ini secara keseluruhannya adalah strategi mengikuti trend yang mudah dan praktikal, dengan menentukan arah trend melalui saluran Tongxian, dan menggunakan stop loss dinamik untuk mengunci keuntungan, dapat mengesan trend capturing dengan berkesan. Strategi ini sangat praktikal, tetapi dapat dioptimumkan lebih jauh dengan pelbagai cara, sehingga strategi masih dapat mengekalkan keuntungan yang stabil dalam persekitaran pasaran yang lebih kompleks.

Kod sumber strategi
/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "dc",  overlay = true)
atrLength = input(title="ATR Length:", defval=20, minval=1)

testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testEndYear = input(2018, "Backtest Start Year")
testEndMonth = input(12)
testEndDay = input(31, "Backtest Start Day")
testPeriodEnd = timestamp(testEndYear,testEndMonth,testEndDay,0,0)


testPeriod() =>
    true
    //time >= testPeriodStart  ? true : false

dcPeriod = input(20, "Period")

dcUpper = highest(close, dcPeriod)[1]
dcLower = lowest(close, dcPeriod)[1]
dcAverage = (dcUpper + dcLower) / 2
atrValue=atr(atrLength)


useTakeProfit   = na
useStopLoss     = na
useTrailStop    = na
useTrailOffset  = na
//@version=1
Buy_stop = lowest(low[1],3) - atr(20)[1] / 3
plot(Buy_stop, color=red, title="buy_stoploss")
Sell_stop = highest(high[1],3) + atr(20)[1] / 3
plot(Sell_stop, color=green, title="sell_stoploss")

plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)

plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average")

strategy.entry("simpleBuy", strategy.long, when=(close > dcAverage) and cross(close,dcAverage))
strategy.close("simpleBuy",when= ( close< Buy_stop))
    
strategy.entry("simpleSell", strategy.short,when=(close < dcAverage) and cross(close,dcAverage) )
strategy.close("simpleSell",when=( close > Sell_stop))
    
//strategy.exit("Exit simpleBuy", from_entry = "simpleBuy", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
//strategy.exit("Exit simpleSell", from_entry = "simpleSell", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)