Strategi Trend Ribbon Moving Average adalah strategi trend mengikut trend berdasarkan purata bergerak. Ia menggunakan purata bergerak tunggal untuk membina saluran harga dan menentukan arah trend berdasarkan harga berbanding saluran, kemudian meletakkan perdagangan dengan sewajarnya. Strategi ini berfungsi dengan baik di pasaran yang sedang berkembang dan dapat menangkap trend harga jangka panjang.
Strategi ini mengira purata bergerak mudah dengan panjang tempoh yang ditentukan (default 20 tempoh) dan membina saluran harga menggunakan nilai MA. Band atas dan bawah saluran adalah nilai tertinggi dan terendah MA masing-masing. Jika harga penutupan di atas band atas, trend menaik ditentukan. Jika harga penutupan di bawah band bawah, trend menurun dikenal pasti.
Apabila perubahan trend dikesan, strategi akan meletakkan perdagangan. Jika trend berubah dari bawah ke atas, kedudukan panjang akan dibuka. Jika trend berubah dari atas ke bawah, kedudukan pendek akan dibuka. Posisi panjang sedia ada akan ditutup jika trend berubah ke bawah, dan kedudukan pendek sedia ada akan ditutup jika trend muncul.
Khususnya, logik perdagangan adalah:
Strategi ini menggunakan MA tunggal untuk membina saluran harga dan mengenal pasti perubahan trend dengan penembusan harga.
Strategi Trend Ribbon Purata Bergerak mempunyai kelebihan berikut:
Ringkasnya, strategi ini berdasarkan logik yang mudah, menggunakan saluran harga untuk mengenal pasti perubahan trend, dan dapat dengan berkesan mengikuti trend harga jangka panjang.
Strategi ini juga mempunyai beberapa risiko:
Risiko boleh ditangani dengan:
Strategi ini boleh ditingkatkan dalam aspek berikut:
Mengoptimumkan penunjuk MA: Uji pelbagai MA seperti WMA untuk meningkatkan prestasi.
Tambah penapis: Tambah penapis seperti jumlah, turun naik sebelum masuk untuk mengelakkan whipsaws.
Pelbagai jangka masa: Gunakan MAs pada jangka masa yang berbeza untuk mengenal pasti lebih banyak trend.
Parameter dinamik: Membolehkan penyesuaian dinamik tempoh MA dan lebar saluran berdasarkan keadaan pasaran.
Ukuran kedudukan: Sesuaikan saiz kedudukan berdasarkan keadaan pasaran untuk mengehadkan kerugian.
Pembelajaran mesin: Gunakan ML untuk mencari kombinasi parameter yang optimum.
Menggabungkan kaedah: Gabungkan dengan strategi trend lain untuk lebih kukuh.
Ringkasnya, strategi boleh ditingkatkan secara komprehensif dari segi pemilihan penunjuk, penapis, kerangka masa, parameter dinamik, saiz kedudukan dll. Ini akan menjadikan strategi lebih kukuh dan fleksibel di pelbagai persekitaran pasaran.
Strategi Trend Ribbon Moving Average adalah strategi trend berikut yang mudah. Ia menggunakan MA tunggal untuk membina saluran harga dan mengenal pasti arah trend dengan penembusan saluran, bertujuan untuk menangkap trend jangka menengah hingga panjang. Strategi ini mempunyai kelebihan seperti logik yang mudah, beberapa parameter, dan kemudahan pelaksanaan. Tetapi ia juga mempunyai risiko seperti ketinggalan dalam pengenalan trend dan menjadi whipsawed. Penambahbaikan lanjut boleh dibuat melalui pengoptimuman MA, menambah penapis, parameter dinamik dll untuk meningkatkan prestasi langsung. Secara keseluruhan, strategi ini menyediakan pendekatan intuitif untuk menggunakan saluran berikut harga untuk pengenalan trend dan berfungsi sebagai strategi trend asas.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h 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/ // © noro //@version=4 strategy(title = "Noro's Trend Ribbon Strategy", shorttitle = "Trend Ribbon str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1) len = input(20, minval = 5, title = "MA Length") src = input(ohlc4, title = "MA Source") //MA ma = sma(src, len) plot(ma, color = color.black) //Channel h = highest(ma, len) l = lowest(ma, len) ph = plot(h) pl = plot(l) //Trend trend = 0 trend := close > h[1] ? 1 : close < l[1] ? -1 : trend[1] //BG col = trend == 1 ? color.blue : color.red fill(ph, pl, color = col, transp = 50) //Trading if close > h[1] strategy.entry("Long", strategy.long) if close < l[1] strategy.entry("Short", strategy.short)