Strategi mengikut arah aliran berdasarkan Bollinger Bands dan purata bergerak eksponen


Tarikh penciptaan: 2023-11-17 17:36:43 Akhirnya diubah suai: 2023-11-17 17:36:43
Salin: 0 Bilangan klik: 647
1
fokus pada
1617
Pengikut

Strategi mengikut arah aliran berdasarkan Bollinger Bands dan purata bergerak eksponen

Gambaran keseluruhan

Strategi ini menggunakan indikator Brin Belt untuk menentukan arah trend semasa, dan untuk pengurusan hentian dan hentian kerugian yang digabungkan dengan purata bergerak indeks, untuk menangkap trend dengan berkesan.

Pembahasan asal

Strategi ini mulakan dengan mengira garis tengah, atas dan bawah Brin Belt. Garis tengah adalah purata bergerak sederhana untuk harga penutupan n hari, di mana atas dan bawah adalah dua perbezaan piawai. Apabila harga penutupan lebih tinggi daripada garis atas, ia menunjukkan bahawa ia berada dalam trend bullish. Apabila harga penutupan lebih rendah daripada garis bawah, ia menunjukkan bahawa ia berada dalam trend bullish.

Strategi ini menilai arah trend semasa dengan membandingkan hubungan antara harga penutupan dengan tren turun Brin. Jika harga penutupan menembusi tren naik, lakukan lebih banyak; jika harga penutupan menembusi tren turun, lakukan kosong.

Di samping itu, strategi ini juga memperkenalkan purata bergerak indeks, sebagai trailing stop untuk menghentikan hentian kerugian. Secara khusus, jika anda melakukan lebih banyak, harga akan kembali ke bawah, dan garis berhenti akan bergerak ke bawah, menjadikan jarak berhenti semakin ketat, untuk mengunci keuntungan maksimum. Jika harga terus meningkat, garis berhenti akan bergerak ke atas, untuk membiarkan keuntungan terus berjalan.

Analisis kelebihan

Strategi ini digabungkan dengan arah trend yang ditentukan oleh Brin dan EMA untuk pengurusan hentian hentian dan mempunyai kelebihan berikut:

  1. Menggunakan Brinband dapat menentukan arah trend dengan berkesan dan bertindak balas dengan cepat terhadap penembusan.

  2. Hentian kerugian berdasarkan EMA, dapat mengunci keuntungan maksimum, mengawal risiko sambil memastikan keuntungan.

  3. Terdapat sedikit parameter strategi, mudah dilaksanakan. Brin membawa satu parameter, EMA satu parameter, sangat ringkas.

  4. Ia boleh digunakan secara meluas untuk pelbagai jenis dan mempunyai kebolehan adaptasi yang kuat.

Risiko dan Optimasi

Strategi ini juga mempunyai risiko yang perlu diperhatikan:

  1. Brin membawa terobosan bawah tidak dapat sepenuhnya mengelakkan risiko terobosan palsu. Ia boleh digabungkan dengan isyarat penapisan indikator seperti jumlah transaksi.

  2. Tetapan parameter EMA perlu diuji dengan berhati-hati mengikut jenis tertentu. Periode EMA yang terlalu pendek boleh meningkatkan jumlah hentian, dan terlalu lama mengurangkan kesan pengesanan.

  3. Perlu berhati-hati untuk mengelakkan overoptimisasi. Terlalu banyak kombinasi parameter Brin dan EMA boleh menyebabkan overfit.

Untuk mengatasi dan mengoptimumkan risiko, pertimbangan berikut boleh diambil:

  1. Meningkatkan jumlah dagangan atau penunjuk seperti MACD, menapis isyarat pecah palsu.

  2. Uji optimum untuk kitaran EMA, pilih parameter yang lebih sesuai untuk jenis tertentu.

  3. Pastikan parameter Brin dan EMA tetap stabil untuk mengelakkan risiko overfit yang disebabkan oleh pengoptimuman berlebihan.

  4. Indikator seperti RSI dan lain-lain boleh dipertimbangkan dalam tempoh pertengahan trend untuk menentukan sama ada untuk menyesuaikan kedudukan.

ringkaskan

Strategi ini mengintegrasikan trend penilaian Brin dengan EMA untuk pengurusan hentian hentian, membentuk sistem pengesanan trend yang lebih lengkap. Ia dapat menangkap arah trend dengan cepat dan mengunci keuntungan dengan sentiasa menyesuaikan garis hentian. Secara keseluruhan, strategi ini mudah digunakan, beradaptasi, dan layak untuk diuji dan dioptimumkan.

Kod sumber strategi
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 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/
// © zxcv55602
//@version=4
strategy(shorttitle=" BB+EMA", title="Bollinger Bands", overlay=true)
date1 = input(title="Start Date", type=input.time, defval=timestamp("2020-01-01T00:00:00"))
date2 = input(title="Stop Date", type=input.time, defval=timestamp("2030-01-01T00:00:00"))
length = input(40, minval=1)
src = input(close, title="Source")
mult = input(2.0,title="StdDev",step=0.1)
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
//offset = input(0, "Offset", minval = -500, maxval = 500)
offset=0
stopcon=input(title="stopcon/lot", type=input.bool, defval=true)
lot1=input(title="lot",defval=1)
stoploss=input(title="stopcon",defval=1000)
emacon=input(title="emacon", type=input.bool, defval=true)
ema_value=input(title="value",defval=30, minval=2,step=1)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=color.new(color.blue,50), offset = offset)
p2 = plot(lower, "Lower", color=color.new(color.blue,50), offset = offset)
ema1=ema(close,ema_value)
plot(ema1, "SMA", color=#2962FF)
period() => true
//-----------
if period()
    if strategy.opentrades==0 and ema1<upper
        if close>upper
            lot_L=stoploss/((close-lower)/2)
            strategy.entry("OP_L",strategy.long,qty=stopcon==true?lot_L:lot1,stop=emacon==true?max(basis,ema1):basis)
    if strategy.opentrades==0 and ema1>lower
        if close<lower
            lot_S=stoploss/((upper-close)/2)
            strategy.entry("OP_S",strategy.short,qty=stopcon==true?lot_S:lot1,stop=emacon==true?min(basis,ema1):basis)
    if strategy.position_size>0
        strategy.exit("OP_L",stop=emacon==true?max(basis,ema1):basis,comment="exit_L")
    if strategy.position_size<0
        strategy.exit("OP_S",stop=emacon==true?min(basis,ema1):basis,comment="exit_S")