Strategi pengesanan trend berdasarkan osilator jumlah menilai arah trend semasa dengan mengira nisbah jumlah dagangan positif dan negatif, dan melaksanakan perdagangan trend. Diilhamkan oleh penunjuk Volume On-Balance (OBV), ia menentukan positivitas dan negativitas jumlah dagangan berdasarkan hubungan antara harga tutup dan terbuka, dan kemudian membina penunjuk menggunakan purata bergerak N-hari.
Langkah utama strategi ini ialah:
Hitung jumlah positif/negatif: Jika harga penutupan lebih tinggi daripada harga pembukaan, jumlah lilin itu adalah positif. Jika harga penutupan lebih rendah daripada harga pembukaan, jumlahnya adalah negatif. Jika mereka sama, jumlahnya adalah 0.
Jumlahkan jumlah positif/negatif hari N untuk mendapatkan jumlah terkumpul.
Mengira purata bergerak N hari jumlah terkumpul untuk mendapatkan nilai penunjuk akhir.
Pergi panjang apabila penunjuk melintasi di atas rel atas, dan pergi pendek apabila melintasi di bawah rel bawah.
Dengan menilai arah trend melalui positif / negatif jumlah dan menjana isyarat dagangan dengan purata bergerak, strategi ini dapat dengan berkesan mengesan trend dan menangkap pergerakan jangka sederhana hingga panjang.
Menggunakan jumlah untuk menentukan trend lebih meyakinkan, kerana jumlah mencerminkan penyertaan pasaran.
Memudahkan dengan purata bergerak membantu dalam mengesan trend dan mengurangkan perdagangan berlebihan.
Tempoh purata bergerak boleh diselaraskan untuk menyesuaikan irama pasaran yang berbeza.
Rel atas / bawah memberikan isyarat panjang / pendek yang jelas.
Logikanya mudah dan mudah difahami.
Terdapat risiko isyarat palsu. Strategi ini juga boleh terjebak di pasaran yang terhad.
Perbezaan boleh berlaku semasa turun naik pasaran yang besar.
Rel atas/bawah statik tidak dapat menyesuaikan diri dengan turun naik pasaran.
Tidak ada stop loss, yang membawa kepada kerugian yang berlebihan.
Purata bergerak ketinggalan dan mungkin terlepas titik perubahan trend.
Gabungkan dengan penunjuk lain untuk pengesahan untuk mengelakkan isyarat palsu.
Mengira rel atas/bawah secara dinamik untuk menyesuaikan diri dengan turun naik.
Tambahkan mekanisme berhenti kerugian untuk mengehadkan kerugian.
Sesuaikan jenis purata bergerak untuk sesuai dengan irama pasaran.
Mengoptimumkan tempoh purata bergerak untuk pengesanan trend yang lebih baik.
Pertimbangkan hentian di hentian rel atas / bawah untuk mengunci keuntungan.
Strategi pengayun jumlah secara berkesan mengesan trend jangka menengah hingga panjang dengan menilai trend melalui positif / negatif jumlah dan menghasilkan isyarat dengan purata bergerak. Kelebihannya terletak pada penentuan trend yang tepat dan keselarasan dengan kebanyakan peniaga' amalan jangka panjang. Walau bagaimanapun, beberapa masalah masih ada yang memerlukan penambahbaikan lanjut untuk menangani kerumitan pasaran dengan lebih baik. Secara keseluruhan, pendekatan pengesanan trend yang mudah dan praktikal ini memenuhi keperluan kebanyakan peniaga kuantiti.
/*backtest start: 2022-10-27 00:00:00 end: 2023-11-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 15/12/2017 // This is the second part of TFS trading strategy. The concept of this // indicator is similar to that of On-Balance Volume indicator (OBV). It // is calculated according to these rules: // If Close > Open, Volume is positive // If Close < Open, Volume is negative // If Close = Open, Volume is neutral // Then you take the 7-day MA of the results. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="TFS: Volume Oscillator", shorttitle="TFS: Volume Oscillator") AvgLen = input(7, minval=1) TopBand = input(40000, step=1) LowBand = input(-35000, step=1) reverse = input(false, title="Trade reverse") hline(TopBand, color=red, linestyle=line) hline(LowBand, color=green, linestyle=line) hline(0, color=blue, linestyle=line) xClose = close xOpen = open xVolume = volume nVolAccum = sum(iff(xClose > xOpen, xVolume, iff(xClose < xOpen, -xVolume, 0)) ,AvgLen) nRes = nVolAccum / AvgLen pos = iff(nRes > TopBand, 1, iff(nRes < LowBand, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nRes, color=blue, title="TFS", style = histogram)