Strategi ini menggunakan garisan nisbah emas Bollinger Bands digabungkan dengan pembentukan purata bergerak untuk menukar pembalikan purata.
Menggunakan vwma bukannya sma untuk garis tengah BB lebih mencerminkan pergerakan harga
Nisbah emas adalah sokongan / rintangan penting, menyediakan asas untuk pembalikan
MA dalam trend menaik memastikan trend keseluruhan naik
Pengendalian Stop Loss tetap untuk setiap perdagangan
Garis nisbah emas tidak dijamin sokongan, harga boleh memecahkan melalui
Stop loss tetap boleh menjadi sewenang-wenang, harus mempertimbangkan penyesuaian berdasarkan turun naik
MA uptrend boleh menjadi pecah palsu, harus memeriksa lebih banyak penunjuk
Tidak pasti panjang pembalikan, memerlukan keuntungan yang munasabah mengambil keluar
Uji kombinasi parameter yang berbeza seperti tempoh BB, pengganda SD, peratusan stop loss tetap dan lain-lain.
Tambah lebih banyak penunjuk untuk menentukan trend pasaran dan kebarangkalian pembalikan, contohnya MACD, KD dll.
Pertimbangkan berhenti dinamik, seperti ATR atau berhenti belakang
Mengoptimumkan mengambil keuntungan seperti bergerak berhenti keuntungan, mengambil keuntungan separa dan sebagainya
Perdagangan strategi ini bermaksud pembalikan menggunakan garis nisbah emas BB, dengan logik yang jelas, parameter mudah, dan penurunan yang boleh dikawal. tetapi juga mempunyai risiko, memerlukan pengujian dan pengoptimuman lanjut, menambah lebih banyak penunjuk teknikal untuk trend dan berhenti / keluar yang lebih baik sebelum penggunaan sebenar. Secara keseluruhan memberikan idea menggunakan nisbah emas dalam perdagangan kuant, bernilai diteroka lebih lanjut.
/*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 )