Purata Bergerak Binomial (BMA) adalah jenis penunjuk purata bergerak yang baru. Ia menggunakan separuh pekali binomial untuk mengira harga purata, memaparkan kaedah pengiraan yang unik, kelancaran yang baik dan kepraktisan yang kuat.
Strategi ini menggabungkan BMA cepat dan BMA perlahan untuk menjana isyarat dagangan seperti MACD, yang tergolong dalam strategi trend-mengikut.
Strategi Trend Purata Bergerak Binomial
Mengira purata bergerak binomial (BMA). Menurut tempoh yang ditetapkan oleh pengguna, ia mengira pekali binomial dan mengambil separuh daripada mereka sebagai berat kepada harga purata. Sebagai contoh, dengan tempoh 5, ia mengira 9 pekali binomial dan mengambil separuh mereka sebagai purata tertimbang. Ini memberikan lebih banyak berat kepada lilin baru-baru ini dan kelancaran yang lebih baik.
Tetapkan tempoh BMA yang cepat dan tempoh BMA yang perlahan. BMA yang cepat lebih sensitif terhadap perubahan harga manakala BMA yang perlahan lebih stabil. silangannya menghasilkan isyarat perdagangan.
Apabila BMA pantas naik di atas BMA perlahan, kedudukan panjang dibuka. Apabila BMA pantas jatuh di bawah BMA perlahan, kedudukan pendek dibuka. Pegang kedudukan sehingga isyarat bertentangan muncul.
Kelebihan terbesar strategi ini terletak pada pengiraan inovatif BMA. Ia meningkatkan kekuatan purata bergerak dengan kelancaran dan kepraktisan yang lebih baik. Berbanding dengan EMA dan SMA, BMA memberikan lebih banyak berat kepada lilin baru-baru ini sambil mengekalkan lebih banyak maklumat sejarah. Ini membolehkan ia menangkap trend dengan lebih baik dan menghasilkan lebih sedikit isyarat palsu.
Di samping itu, kombinasi BMA yang cepat dan perlahan memanfaatkan sepenuhnya kelebihan purata bergerak. Ia menapis banyak bunyi bising dan hanya menghasilkan isyarat pada titik perubahan trend. Strategi itu sendiri mudah difahami dan dilaksanakan, sesuai untuk perdagangan jangka menengah hingga panjang.
Risiko utama strategi ini termasuk:
Seperti semua strategi yang mengikuti trend, ia boleh membawa kepada kerugian apabila trend berbalik.
Penetapan parameter BMA yang tidak betul juga memberi kesan kepada prestasi strategi. BMA yang terlalu sensitif dan pantas boleh menghasilkan isyarat palsu sementara BMA yang lambat mungkin terlepas peluang trend. Ujian yang luas diperlukan untuk mencari kombinasi parameter yang optimum.
Strategi secara lalai menggunakan kedudukan penuh. saiz kedudukan boleh ditambah mengikut keutamaan risiko untuk mengehadkan kerugian setiap perdagangan.
Arah pengoptimuman utama adalah ujian BMA itu sendiri dan kombinasi parameter.
Tetapan tempoh: Uji tempoh BMA pantas dan tempoh BMA perlahan yang berbeza untuk mencari kombinasi yang optimum.
Berat BMA: Uji skim berat yang berbeza, seperti mendistribusikan separuh pekali binomial atau meletakkan lebih banyak berat pada lilin baru-baru ini.
Keadaan penapis seperti pecah dan peningkatan jumlah boleh ditambah untuk mengelakkan isyarat yang tidak munasabah.
Mekanisme stop loss dan saiz kedudukan juga boleh diuji untuk mengawal risiko dengan lebih baik.
Strategi ini mula-mula mencadangkan penunjuk purata bergerak binomial yang unik. Ia meningkatkan pengiraan purata bergerak dan meningkatkan kegunaan dan kestabilan keseluruhan strategi. Persalinan antara BMA yang cepat dan perlahan menghasilkan isyarat perdagangan yang mudah tetapi berkesan. Masih ada ruang untuk pengoptimuman lanjut pada kelancaran parameter dan kawalan risiko.
/*backtest start: 2022-12-07 00:00:00 end: 2023-12-07 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/ // © HosseinDaftary //@version=4 strategy("Binomial Moving Average","BMA", overlay=true, margin_long=100, margin_short=100 ,max_bars_back=96) //Binomial Moving Average:This type of moving average that is made by myself and i did not see anywhere before uses the half of binomial cofficients for //averaging the prices for example if the period be 5 then we use the 9 degree binomial cofficients(that yields 10 cofficients) and use half of them. //we use 126/256 for last bar,84/256,36/256,9/256 and finally use 1/256 for 5th bar. Seemingly this MA works better than EMA. fa_ma=input(title='Fast MA',defval=10) sl_ma=input(title='Slow MA',defval=30) fac(n)=> fact=1 for i= 1 to n fact:=fact*i fact cof= array.new_float(sl_ma) hn_ma(price,length)=> sum=1.0 sum1=0.0 array.set(cof,length-1,1) for i=2 to length array.set(cof,length-i,fac(2*length-1)/(fac(i-1)*fac(2*length-i))) sum:=sum+array.get(cof,length-i) for i=0 to length-1 array.set(cof,i,array.get(cof,i)/sum) sum1:=sum1+array.get(cof,i)*price[i] sum1 hn1=plot(hn_ma(close,sl_ma) , color=#00ff00) hn2=plot(hn_ma(close,fa_ma) ,color=#ff0000) fill(hn1,hn2,color=hn_ma(close,fa_ma)>hn_ma(close,sl_ma)?color.green:color.red) longCondition = crossover(hn_ma(close, fa_ma), hn_ma(close, sl_ma)) if (longCondition) strategy.entry("Long", strategy.long) shortCondition = crossunder(hn_ma(close, fa_ma), hn_ma(close, sl_ma)) if (shortCondition) strategy.entry("Short", strategy.short)