Buffered Bollinger Band Volum Oscillator Moving Average Strategy Trading


Tarikh penciptaan: 2024-01-05 12:27:02 Akhirnya diubah suai: 2024-01-05 12:27:02
Salin: 1 Bilangan klik: 566
1
fokus pada
1621
Pengikut

Buffered Bollinger Band Volum Oscillator Moving Average Strategy Trading

Gambaran keseluruhan

Strategi ini adalah berdasarkan pada indikator Bollinger Bands dan Indikator Moving Average Shock, yang membina saluran harga untuk menghantar isyarat perdagangan dengan menerobos sempadan atas dan bawah saluran. Ia menggabungkan fleksibiliti dan fleksibiliti indikator Shock dalam Bollinger Bands, yang dapat menangkap perubahan trend pasaran dalam masa yang tepat.

Prinsip Strategi

Strategi ini menggunakan Brin Belt Mid-Trail dan Variable Moving Average untuk membina saluran harga. Mid-Trail menggunakan 21 kitaran Brin Mid-Trail, Up-Trail dan Down-Trail untuk memanjangkan satu peratusan ke atas dan ke bawah.

Secara khusus, formula untuk mengira orbit Brin ialah:

中轨 = N日收盘价的移动平均线 

Rumus pengiraan atas dan bawah landasan ialah:

上轨 = 中轨 + WidthDev * 布林带N日标准差  
下轨 = 中轨 - WidthDev * 布林带N日标准差  

Di mana WidthDev mewakili peratusan yang memanjang ke atas dan ke bawah.

Rata-rata bergerak bergoyang adalah berasaskan medium, dan ia akan menghulurkan atau menyusut mengikut peraturan tertentu. Apabila pasaran memasuki keadaan overbuy atau oversell, ia akan memanjangkan lebih jauh dari medium, dengan itu memperluas peluang untuk melakukan lebih banyak shorting; apabila pasaran menjadi tenang, ia akan menyusut ke arah medium.

Secara keseluruhannya, strategi ini menggambarkan saluran harga melalui Brin Belt, dan kemudian menggunakan indikator rata-rata bergerak yang bergolak untuk menentukan masa masuk, mencapai perdagangan yang lebih banyak apabila harga menembusi Brin dari bawah ke atas; kosong apabila harga menembusi Brin dari atas ke bawah.

Analisis kelebihan

  1. Mencerminkan turun naik pasaran Brinband dapat mencerminkan turun naik dan perubahan trend pasaran dalam masa nyata, dan rel akan menyesuaikan diri dengan perubahan kadar turun naik.

  2. Mengurangkan isyarat palsu Tanda-tanda purata bergerak bergoyang dapat mengurangkan isyarat palsu yang dihasilkan oleh pita Brin. Ia meningkatkan lebar saluran pita Brin, memanjangkan masa pegangan, dan dengan itu mendapatkan lebih banyak wang.

  3. Menangkap perubahan dalam masa Blink up and down dan bercampur dengan rata-rata bergerak bergoyang memberikan kelebihan masa dan harga untuk isyarat perdagangan, yang dapat menangkap dengan berkesan penyesuaian multihead dan overhead yang penting, dan menangkap pembalikan trend pasaran tepat pada masanya.

Analisis risiko

  1. Tetapan parameter Brin Tetapan parameter Brinband yang tidak betul, seperti kitaran pengiraan dan perkalian perbezaan piawai, boleh menyebabkan jarak atas dan bawah terlalu besar atau terlalu kecil, menghasilkan banyak isyarat palsu, yang mempengaruhi kestabilan strategi.

  2. Gempa bumi terlalu kuat Apabila pergerakan rata-rata bergerak bergoyang terlalu besar, ia boleh menyebabkan titik berhenti terlalu jauh dan meningkatkan risiko kerugian.

  3. Tidak berpatah balik Apabila pasaran berada dalam keadaan goyah atau tidak mempunyai trend yang jelas, isyarat perdagangan yang dikeluarkan oleh indikator purata bergerak Brin dan goyah mungkin terlewat dan tidak dapat mencerminkan perubahan harga dalam masa yang tepat, yang menyebabkan risiko pembalikan yang tidak tepat pada masanya.

Arah pengoptimuman

  1. Optimumkan parameter Brin
    Anda boleh menguji parameter kitaran yang berbeza, perkalian perbezaan piawai, dan memilih kombinasi parameter yang menghasilkan frekuensi isyarat yang paling baik dan kurang isyarat palsu.

  2. Mengoptimumkan parameter purata bergerak bergoyang Anda boleh menguji magnitud dan kitaran gegaran yang berbeza, memilih parameter yang dapat menangkap trend dan mengurangkan kelewatan isyarat.

  3. Tambah syarat penapisan Anda boleh menggunakan tanda silang Brin Belt dan rata-rata bergerak bergoyang untuk menyaring petunjuk tambahan seperti jumlah dagangan, mengecualikan beberapa isyarat dagangan yang tidak cekap.

  4. Kumpulan Strategi Strategi ini boleh digunakan bersama-sama dengan strategi tracking stop loss atau strategi pembelajaran mesin untuk mengawal risiko dan meningkatkan kestabilan.

ringkaskan

Strategi ini adalah berdasarkan kepada Brin Belt Adaptive Channel dan Shock Moving Average Indicator, yang mewujudkan gabungan organik dari trend tracking dan trend reversal capture. Ia menggabungkan kelebihan kedua-dua indikator, mempertimbangkan turun naik pasaran dan fleksibiliti isyarat perdagangan, untuk mencapai perdagangan yang stabil dan cekap. Sudah tentu, pengoptimuman parameter dan kawalan risiko juga sangat penting, yang memerlukan ujian dan penyesuaian berterusan mengikut keadaan pasaran yang berbeza.

Kod sumber strategi
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//                               Hull Cloud v2 by SEASIDE420
strategy("Hull Moving Average Cloud v2", shorttitle="hull_cloud_v2", overlay=true, commission_type=strategy.commission.percent, commission_value=0.075, default_qty_type=strategy.percent_of_equity, max_bars_back=200, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
hullperiod=input(title="HullMA Period",defval=210, minval=1)
Width=input(title="Cloud Width",defval=200, minval=2)
price=input(ohlc4,title="Price data")
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) 
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) 
FromYear = input(defval = 2017, title = "From Year", minval = 2017) 
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) 
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) 
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) 
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) 
window() => true
n2ma=2*wma(price,round(hullperiod/2))
nma=wma(price,hullperiod)
diff=n2ma-nma
sqn=round(sqrt(hullperiod))
n2ma1=2*wma(price[1],round(hullperiod/2))
nma1=wma(price[1],hullperiod)
diff1=n2ma1-nma1
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
Hull_Line=n1-n1[1]/n2[1]
Hull_retracted=if(n1>n2)
    Hull_retracted=Hull_Line-Width
else
    Hull_retracted=Hull_Line+Width
c1=(Hull_retracted*n1)/price[1] 
c2=(Hull_retracted*n2)/price[1]
c4=c1>c2?green:red
c2p=plot(c2, color=black, linewidth=1)
c3p=plot(price, color=black, linewidth=1)
fill(c3p, c2p, color=c4, transp=75)
plot(cross(c1, c2) ? c1 : na, style = circles,color=c4, linewidth = 4) 
if (price<c2)
    strategy.close("BUY", when=window())
if (price>c2)                       
    strategy.close("SELL", when=window())
if (price[1]>c2 and price[1]>c1)             
    strategy.entry("BUY",strategy.long, when=window())
if (price[1]<c1 and price[1]<c2)            
    strategy.entry("SELL",strategy.short, when=window())//           /L'-, 
//                               ,'-.      `   ````                 /  L '-, 
//     .                    _,--dMMMM\        `   ` ` '`..         /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `     ,<>          /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\          ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//                                                                                  :D