Strategi Penembusan Saluran Ganda Penyu

Penulis:ChaoZhang, Tanggal: 2024-01-05 16:16:44
Tag:

img

Gambaran umum

Double Channel Breakthrough Turtle Strategy adalah strategi breakout yang menghasilkan sinyal perdagangan menggunakan indikator Donchian Channel. Strategi ini menetapkan saluran cepat dan lambat pada saat yang sama. Saluran cepat digunakan untuk menetapkan harga stop loss, sementara saluran lambat digunakan untuk menghasilkan sinyal pembukaan dan penutupan. Ketika harga menembus rel atas saluran lambat, pergi panjang; ketika harga menembus rel bawah, pergi pendek. Strategi ini memiliki karakteristik pelacakan tren yang kuat dan kontrol penarikan yang baik.

Prinsip-prinsip

Logika inti dari Strategi Penembusan Penyu Saluran Ganda didasarkan pada indikator Saluran Donchian. Saluran Donchian terdiri dari rel atas, rel bawah dan rel tengah yang dihitung dari harga tertinggi tertinggi dan terendah terendah. Strategi ini menciptakan saluran cepat dan lambat secara bersamaan, dengan parameter yang ditetapkan oleh pengguna dan periode default 50 bar untuk saluran lambat dan 20 bar untuk saluran cepat.

Rel atas dan bawah (garis biru) dari saluran lambat digunakan untuk menghasilkan sinyal perdagangan. Ketika harga menembus rel atas, pergi panjang; ketika harga menembus rel bawah, pergi pendek. Rel tengah (garis merah) dari saluran cepat digunakan untuk stop loss. Harga stop loss untuk posisi panjang adalah rel tengah saluran cepat; harga stop loss untuk posisi pendek juga adalah rel tengah saluran cepat.

Dengan demikian, saluran lambat menghasilkan sinyal sementara saluran cepat mengontrol risiko. Menggunakan saluran ganda memastikan stabilitas sinyal dan pengendalian risiko. Warna latar belakang menunjukkan arah posisi saat ini, dengan hijau untuk panjang dan merah untuk pendek.

Selain itu, strategi juga menetapkan persentase risiko dan ukuran posisi. persentase risiko default menjadi 2%, dan ukuran posisi dihitung berdasarkan persentase risiko dan volatilitas saluran. Ini secara efektif mengontrol risiko per perdagangan dan peningkatan posisi secara bertahap.

Keuntungan

Strategi Penembusan Penyu Saluran Berganda memiliki keuntungan berikut:

  1. Kemampuan pelacakan tren yang kuat. Menggunakan Donchian Channel untuk menentukan tren dapat secara efektif menangkap tren jangka menengah hingga panjang. Desain saluran ganda memastikan bahwa strategi hanya melacak pasar tren yang kuat.

  2. Pengurangan dan pengendalian risiko yang baik. Rel tengah saluran cepat bertindak sebagai stop loss, sehingga dari rel atas ke rel tengah dan bawah ke rel tengah adalah zona risiko. Ini memastikan kerugian yang dapat dikendalikan per perdagangan. Strategi juga menetapkan persentase risiko untuk secara langsung membatasi kerugian akun maksimum.

  3. Sinyal perdagangan yang stabil. Parameter saluran lambat yang besar membutuhkan waktu yang relatif lama untuk membentuk saluran, menghindari perdagangan yang berlebihan. Sementara saluran cepat menghentikan kerugian dan menangkap koreksi jangka pendek. Keduanya saling melengkapi untuk membentuk sinyal perdagangan yang stabil.

  4. Strategi ini menggunakan volatilitas saluran Donchian untuk menghitung ukuran posisi untuk pengendalian eksposur risiko.

  5. Visualisasi intuitif. saluran ganda, garis stop loss, latar belakang posisi semuanya jelas digambarkan untuk pemahaman logika strategi yang mudah. Sementara itu penarikan maksimum, kerugian maksimum dan metrik kunci lainnya juga ditampilkan.

Risiko

Strategi Turtle Double Channel Breakthrough juga memiliki beberapa risiko:

  1. Tidak dapat secara efektif memanfaatkan harga intraday. Turtle hanya membuka posisi pada channel breakout, tidak dapat menggunakan situasi yang lebih tepat untuk meningkatkan posisi. Ini dapat ditingkatkan melalui optimasi.

  2. Turtle's fixed mid-rail stop loss dapat dengan mudah dipukul di pasar aktif. Hal ini membutuhkan penyesuaian dinamis dari parameter mid-rail.

  3. Parameter saluran ganda membutuhkan penyetelan halus. Pengaturan parameter yang tepat sangat penting untuk sinyal yang stabil yang wajar. Parameter tetap saat ini tidak dapat beradaptasi dengan perubahan pasar, fitur adaptif perlu diperkenalkan.

  4. Tidak dapat memanfaatkan informasi overnight dan pra-pasar. Saat ini strategi hanya menilai tren berdasarkan data pasar langsung, tidak dapat menginformasikan keputusan perdagangan dengan tindakan harga overnight dan pra-pasar. Ini dapat ditangani dengan penyesuaian data.

Arahan Optimasi

Arah pengoptimalan utama untuk Strategi Penembusan Penyu Saluran Ganda adalah:

  1. Menggunakan harga intraday untuk menyesuaikan posisi Posisi dapat disesuaikan berdasarkan jarak harga dari saluran bukan hanya sederhana panjang / pendek.

  2. Strategi stop loss yang cerdas. Ubah halte rel tengah tetap ke perhitungan dinamis untuk menghindari perburuan stop loss tetap.

  3. Optimasi parameter saluran adaptif. Mengizinkan parameter saluran untuk menyesuaikan secara otomatis berdasarkan kondisi pasar daripada nilai tetap manual.

  4. Menggabungkan informasi overnight dan pre-market. Pertimbangkan tidak hanya harga langsung, tetapi juga harga overnight dan pre-market ketika menilai tren untuk mendapatkan kondisi pasar yang lebih lengkap.

  5. Menggabungkan beberapa saham dan indeks, menerapkan strategi untuk beberapa saham, dengan peluang arbitrase antar saham dan indeks untuk meningkatkan alfa.

Kesimpulan

Sebagai kesimpulan, Strategi Penembusan Penyu Saluran Ganda adalah tren yang stabil dan efisien secara keseluruhan mengikuti strategi dengan pengendalian risiko tertanam. Penggunaan ganda saluran cepat dan lambat memastikan stabilitas sinyal dan manajemen risiko. Selain itu, latar belakang posisi, penarikan maksimum dan ukuran posisi juga membuat strategi ini mudah dikelola dan dioptimalkan. Secara umum, ini adalah strategi kuantitatif berkualitas tinggi yang layak penelitian dan penerapan menyeluruh.


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

//Noro
//2020

//@version=4
strategy("Noro's RiskTurtle Strategy", shorttitle = "RiskTurtle str", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 100, default_qty_value = 100, commission_value = 0.1)

//Settings
needlong  = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
risk      = input(2, minval = 0.1, maxval = 99, title = "Risk size, %")
fast      = input(20, minval = 1, title = "Fast channel (for stop-loss)")
slow      = input(50, minval = 1, title = "Slow channel (for entries)")
showof    = input(true, defval = true, title = "Show offset")
showll    = input(true, defval = true, title = "Show lines")
showdd    = input(true, defval = true, title = "Show label (drawdown)")
showbg    = input(true, defval = true, title = "Show background")
fromyear  = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear    = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth   = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday   = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today     = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Donchian price channel fast
hf = highest(high, fast)
lf = lowest(low, fast)
center = (hf + lf) / 2

//Donchian price chennal slow
hs = highest(high, slow)
ls = lowest(low, slow)

//Lines
colorpc = showll ? color.blue : na
colorsl = showll ? color.red : na
offset = showof ? 1 : 0
plot(hs, offset = offset, color = colorpc, title = "Slow channel high")
plot(ls, offset = offset, color = colorpc, title = "Slow channel low")
plot(center, offset = offset, color = colorsl, title = "Fast channel stop-loss")

//Background
size = strategy.position_size
colorbg = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na
bgcolor(colorbg, transp = 70)

//Var
loss = 0.0
maxloss = 0.0
equity = 0.0
truetime = true

//Lot size
risksize = -1 * risk
risklong = ((center / hs) - 1) * 100
coeflong = abs(risksize / risklong)
lotlong = (strategy.equity / close) * coeflong
riskshort = ((center / ls) - 1) * 100
coefshort = abs(risksize / riskshort)
lotshort = (strategy.equity / close) * coefshort

//Orders
strategy.entry("Long", strategy.long, lotlong, stop = hs, when = needlong and strategy.position_size == 0 and hs > 0 and truetime)
strategy.entry("Short", strategy.short, lotshort, stop = ls, when = needshort and strategy.position_size == 0 and ls > 0 and truetime)
strategy.exit("LongExit", "Long", stop = center, when = needlong and strategy.position_size > 0)
strategy.exit("Short", stop = center, when = needshort and strategy.position_size < 0)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")
    
if showdd

    //Drawdown
    max = 0.0
    max := max(strategy.equity, nz(max[1]))
    dd = (strategy.equity / max - 1) * 100
    min = 100.0
    min := min(dd, nz(min[1]))
    
    //Max loss size
    equity := strategy.position_size == 0 ? strategy.equity : equity[1]
    loss := equity < equity[1] ? ((equity / equity[1]) - 1) * 100 : 0
    maxloss := min(nz(maxloss[1]), loss)
    
    //Label
    min := round(min * 100) / 100
    maxloss := round(maxloss * 100) / 100
    labeltext = "Drawdown: " + tostring(min) + "%" + "\nMax.loss " + tostring(maxloss) + "%"
    var label la = na
    label.delete(la)
    tc = min > -100 ? color.white : color.red
    osx = timenow + round(change(time)*10)
    osy = highest(100)
    // la := label.new(x = osx, y = osy, text = labeltext, xloc = xloc.bar_time, yloc = yloc.price, color = color.black, style = label.style_labelup, textcolor = tc)

Lebih banyak