Strategi Penembusan Saluran Dinamik

Penulis:ChaoZhang, Tarikh: 2023-11-13 10:33:44
Tag:

img

Ringkasan

Strategi ini menggunakan penunjuk saluran dinamik untuk menentukan arah pasaran berdasarkan penembusan saluran, bertujuan untuk menangkap arah trend. Ia terutamanya mengira tertinggi tertinggi dan terendah terendah dalam tempoh tertentu untuk membentuk saluran atas dan bawah, menjana isyarat perdagangan apabila harga menembusi saluran.

Logika Strategi

Strategi ini menggunakan fungsi input untuk menetapkan panjang tempoh saluran kepada 20 hari. Ia kemudian mengira tertinggi tertinggi selama 20 hari terakhir sebagai band atas, dan terendah terendah selama 20 hari terakhir sebagai band bawah.

Saluran diisi dengan warna. Kawasan di atas jalur atas diisi dengan hijau, dan kawasan di bawah jalur bawah diisi dengan merah, membentuk saluran dinamik.

Rata-rata bergerak 200 hari ema ((close,200) juga dicatatkan sebagai rujukan untuk menentukan trend keseluruhan.

Strategi ini menggunakan EMA sebagai penanda aras untuk menilai trend utama. Apabila ditutup di atas garisan 200 hari, ia menunjukkan trend menaik. Apabila ditutup di bawah, ia menunjukkan trend menurun.

Dalam trend menaik, jika harga penutupan memecahkan jalur atas, isyarat panjang dihasilkan. Dalam downtrend, jika dekat memecahkan jalur bawah, isyarat pendek dihasilkan.

Stop loss panjang ditetapkan pada jalur bawah atau garisan tengah berdasarkan peraturan panjang / pendek. Stop loss pendek ditetapkan pada jalur atas atau garisan tengah.

Analisis Kelebihan

  1. Saluran dinamik menyesuaikan diri dengan perubahan trend pasaran.

  2. Isyarat perdagangan dihasilkan berdasarkan penembusan, mengikut prinsip perdagangan trend.

  3. Trend utama ditentukan oleh purata bergerak, digabungkan dengan penembusan saluran.

  4. Penempatan stop loss yang fleksibel berdasarkan keadaan pasaran.

Analisis Risiko

  1. Penilaian yang salah mengenai trend utama mungkin menyimpang dari pasaran.

  2. Penentuan tempoh saluran yang tidak betul meningkatkan perdagangan yang tidak betul.

  3. Stop loss terlalu dekat dengan saluran boleh meningkatkan berhenti.

  4. Isyarat keluar mempunyai sedikit kelewatan, mungkin terlepas titik masuk terbaik.

Penyelesaian:

  1. Gunakan pelbagai penunjuk untuk menilai trend utama, mengurangkan kesilapan.

  2. Mengoptimumkan parameter tempoh saluran untuk irama pasaran yang berbeza.

  3. Sesuaikan kedudukan stop loss untuk mempunyai cekap buffer.

  4. Tambah penapis kepada isyarat kemasukan skrin.

Arahan pengoptimuman

  1. Tambah lebih banyak penunjuk untuk menilai trend utama, meningkatkan ketepatan.

  2. Masukkan penunjuk jumlah untuk mengelakkan pecah palsu.

  3. Mengoptimumkan parameter tempoh saluran untuk produk yang berbeza.

  4. Melaksanakan stop loss dinamik.

  5. Tambah penapis untuk meningkatkan kualiti isyarat dan mengelakkan perdagangan yang tidak perlu.

Kesimpulan

Strategi ini mengikuti prinsip perdagangan trend secara keseluruhan, menggunakan saluran dinamik untuk menentukan julat turun naik dan menjana isyarat dari penembusan. Ia dapat dengan berkesan mengesan perubahan trend dan merupakan strategi trend yang boleh dipercayai. Tetapi penilaian trend utama dan mekanisme stop loss memerlukan pengoptimuman lanjut dan syarat penapisan harus ditambah untuk meningkatkan ketahanan. Strategi ini sesuai untuk mengesan trend jangka menengah hingga panjang, dan boleh digabungkan dengan strategi lain dalam portfolio untuk lindung nilai risiko.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
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/
// © pratyush_trades

//@version=4
strategy("Donchian Indexes", overlay=true)

length = input(20)
longRule = input("Higher High", "Long Entry", options=["Higher High", "Basis"])
shortRule = input("Lower Low", "Short Entry", options=["Lower Low", "Basis"])
longSL=input("Lower Low", "LONG SL", options=["Lower Low", "Basis"])
shortSL=input("Higher High", "SHORT SL", options=["Higher High", "Basis"])

hh = highest(high, length)
ll = lowest(low, length)

up = plot(hh, 'Upper Band', color = color.green)
dw = plot(ll, 'Lower Band', color = color.red)
mid = (hh + ll) / 2
midPlot = plot(mid, 'Basis', color = color.orange)
fill(up, midPlot, color=color.green, transp = 95)
fill(dw, midPlot, color=color.red, transp = 95)
plot(ema(close,200), "ema", color=color.orange)

if (close>ema(close,200))
    if (not na(close[length]))
        strategy.entry("Long", strategy.long, stop=longRule=='Basis' ? mid : hh)

if (close<ema(close,200))
    if (not na(close[length]))
        strategy.entry("Short", strategy.short, stop=shortRule=='Basis' ? mid : ll)

if (strategy.position_size>0)
    strategy.exit(id="Longs Exit",stop=longSL=='Basis' ? mid : ll)

if (strategy.position_size<0)
    strategy.exit(id="Shorts Exit",stop=shortSL=='Basis' ? mid : hh)

Lebih lanjut