Strategi ini menggunakan indikator saluran dinamis untuk menentukan arah pasar berdasarkan penembusan saluran, yang bertujuan untuk menangkap arah tren.
Strategi ini menggunakan fungsi input untuk mengatur panjang periode saluran menjadi 20 hari. kemudian menghitung tertinggi selama 20 hari terakhir sebagai band atas, dan terendah selama 20 hari terakhir sebagai band bawah.
Saluran ini diisi dengan warna. Area di atas pita atas diisi dengan warna hijau, dan area di bawah pita bawah diisi dengan warna merah, membentuk saluran dinamis.
Rata-rata bergerak 200 hari ema ((close,200) juga digambarkan sebagai referensi untuk menentukan tren keseluruhan.
Strategi ini menggunakan EMA sebagai patokan untuk menilai tren utama. Ketika close berada di atas garis 200 hari, itu menunjukkan tren naik. Ketika close berada di bawah, itu menunjukkan tren turun.
Dalam uptrend, jika harga penutupan menembus band atas, sinyal panjang dihasilkan. Dalam downtrend, jika close menembus band bawah, sinyal pendek dihasilkan.
Stop loss panjang ditetapkan pada band bawah atau garis tengah berdasarkan aturan panjang/pendek. Stop loss pendek ditetapkan pada band atas atau garis tengah.
Saluran dinamis beradaptasi dengan perubahan tren pasar.
Sinyal perdagangan dihasilkan berdasarkan breakout, mengikuti prinsip perdagangan tren.
Tren utama ditentukan oleh rata-rata bergerak, dikombinasikan dengan penyimpangan saluran.
Penempatan stop loss yang fleksibel berdasarkan kondisi pasar.
Penilaian yang salah tentang tren utama dapat menyimpang dari pasar.
Pengaturan periode saluran yang tidak benar meningkatkan perdagangan yang tidak benar.
Stop loss yang terlalu dekat dengan saluran dapat meningkatkan stop out.
Sinyal keluar memiliki beberapa keterlambatan, mungkin kehilangan titik masuk terbaik.
Solusi:
Gunakan beberapa indikator untuk menilai tren utama, mengurangi kesalahan.
Mengoptimalkan parameter periode saluran untuk irama pasar yang berbeda.
Sesuaikan posisi stop loss agar cukup buffer.
Tambahkan filter ke sinyal masuk layar.
Tambahkan lebih banyak indikator untuk menilai tren utama, meningkatkan akurasi.
Sertakan indikator volume untuk menghindari kebocoran palsu.
Mengoptimalkan parameter periode saluran untuk produk yang berbeda.
Mengimplementasikan stop loss yang dinamis.
Tambahkan filter untuk meningkatkan kualitas sinyal dan menghindari perdagangan yang tidak perlu.
Strategi ini mengikuti prinsip perdagangan tren secara keseluruhan, menggunakan saluran dinamis untuk menentukan rentang volatilitas dan menghasilkan sinyal dari breakout. Ini dapat secara efektif melacak perubahan tren dan merupakan strategi tren yang dapat diandalkan. Tetapi penilaian tren utama dan mekanisme stop loss membutuhkan optimasi lebih lanjut dan kondisi penyaringan harus ditambahkan untuk meningkatkan ketahanan. Strategi ini cocok untuk pelacakan tren jangka menengah hingga panjang, dan dapat dikombinasikan dengan strategi lain dalam portofolio 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)