Strategi perdagangan regresi seimbang berdasarkan kaedah nisbah emas Bollinger Bands


Tarikh penciptaan: 2023-11-16 16:52:55 Akhirnya diubah suai: 2023-11-16 16:52:55
Salin: 0 Bilangan klik: 774
1
fokus pada
1617
Pengikut

Strategi perdagangan regresi seimbang berdasarkan kaedah nisbah emas Bollinger Bands

Gambaran keseluruhan

Strategi ini menggunakan garis pemisah emas Brin, digabungkan dengan penilaian bentuk garis rata untuk perdagangan regresi. Apabila harga menyentuh garis pemisah emas Brin, ia dianggap sebagai isyarat membeli, memanfaatkan ciri regresi seimbang harga untuk keuntungan.

Prinsip Strategi

  1. Mengira laluan tengah, laluan atas dan laluan bawah yang berpecah emas
  • Rata-rata bergerak bertimbangan pada pusingan n:vwma
  • Jalur atas: Jalur tengah + perbezaan piawaian kitaran k * n
  • Bahagian emas bawah orbit: orbit tengah - 0.618 * perbezaan piawai n kitaran
  1. bentuk penghakiman
  • Garis purata 50 hari di atas garis purata 200 hari, mengikut trend ke atas
  • Harga menyentuh atau lebih rendah daripada Gold Split Down Trajectory sebagai isyarat beli
  1. Keluar
  • Harga naik melalui Brin yang berada di atas landasan, menganggap bahawa harga telah keluar dari landasan bawah dan kembali, pada masa ini berhampiran.
  1. Hentikan Kerugian
  • Tetapkan peratusan pelambatan tetap, seperti 5%

Kelebihan Strategik

  1. Menggunakan vWMA dan bukannya SMA sebagai jalur tengah untuk BRI, lebih baik untuk mencerminkan pergerakan harga

  2. Perpecahan emas adalah kawasan sokongan / rintangan yang penting, yang memberi asas kepada kemerosotan

  3. Garis purata berlainan untuk memastikan trend ke atas

  4. Penangguhan tetap memastikan kawalan kerugian tunggal

Risiko Strategik

  1. Garis pemisah emas bukan sokongan yang pasti, harga boleh jatuh secara langsung

  2. Hentian tetap mungkin terlalu arbitrar dan perlu dipertimbangkan untuk disesuaikan dengan turun naik pasaran

  3. Pengaturan berbilang mata rata-rata juga boleh menjadi penembusan palsu, yang harus digabungkan dengan lebih banyak petunjuk.

  4. Panjang pengembalian tidak pasti, perlu menetapkan titik perhentian yang munasabah

Arah pengoptimuman

  1. Kombinasi parameter yang berbeza boleh diuji, seperti kitaran Brin, kelipatan perbezaan piawai, peratusan hentian tetap, dan sebagainya

  2. Lebih banyak penunjuk boleh dimasukkan untuk menilai trend pasaran dan kebarangkalian pulangan, seperti MACD, KD dan lain-lain

  3. Penutupan dinamik boleh dipertimbangkan, berdasarkan penutupan ATR atau penutupan yang dijejaki

  4. Anda boleh mengoptimumkan strategi penangguhan, seperti penangguhan bergerak, penangguhan kumpulan, dan sebagainya.

ringkaskan

Strategi ini menggunakan Brin dengan garis pemisah emas untuk perdagangan regresi seimbang, dengan keunggulan logik perdagangan yang jelas, parameter yang mudah ditetapkan, dan pengunduran yang boleh dikawal. Tetapi ada juga risiko tertentu, yang memerlukan ujian dan pengoptimuman lanjut, menambah lebih banyak penilaian indikator teknikal dan alat henti / henti, sebelum digunakan secara praktikal. Secara keseluruhan, strategi ini memberikan idea untuk perdagangan kuantitatif menggunakan peraturan pemisahan emas, yang patut dijelajahi lebih lanjut.

Kod sumber strategi
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © mohanee

//@version=4

strategy(title="Bollinger Band with Fib Golden Ratio (0.618)",  shorttitle="Bollinger Band with Fib Golden Ratio" , overlay=true, pyramiding=1,     default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  

length = input(50,title="BB Length" , minval=1)
src1 = input(hlc3, title="Source")
//mult1 = input(1.33, minval=0.001, maxval=50)
mult = input(1.5,title="multplier", minval=0.001, maxval=50)

stopLoss=input(5,title="Stop Loss",minval=1)

basis = vwma(src1, length)
dev = mult * stdev(src1, length)

//dev3 = mult3 * stdev(src, length)

upper_618= basis + (0.618*dev)
lower_618= basis - (0.618*dev)

//lower_618_dev3= basis - (0.618*dev3)



plot_upper618= plot(upper_618, color=color.purple, linewidth=2, title="0.618")
plot(basis, color=color.purple,style=plot.style_circles,  linewidth=2)

plot_lower618= plot(lower_618, color=color.purple, linewidth=2, title="0.618 entry")
//plot_lower618_dev3= plot(lower_618_dev3, color=color.red, linewidth=1, title="0.618 stop")

//plot_lower618= plot(lower_618, color=color.purple, linewidth=1, title="0.618 entry")

ema200=ema(close,200)
ema50=ema(close,50)

plot (ema200, title="ema200", color=color.orange, linewidth=2)
plot (ema50, title="ema50", color=color.blue , linewidth=2)


longCondition= ema50 > ema200

strategy.entry(id="BB_Fib618", long=true, when = longCondition and ( close < lower_618  or  low <= lower_618)  )

strategy.close(id="BB_Fib618",  comment="points="+tostring(close - strategy.position_avg_price,  "###.##") , when = strategy.position_size >= 1  and crossover(close,upper_618 )) 

//stoploss exit
stopLossVal = strategy.position_size>=1 ?  strategy.position_avg_price * ( 1 - (stopLoss/100) ) : 0.00
strategy.close(id="BB_Fib618", comment="SL="+tostring(close - strategy.position_avg_price,  "###.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //and close > strategy.position_avg_price )