
Strategi ini menggunakan garis pemisah emas di Brin Belt, yang digabungkan dengan penilaian bentuk garis rata untuk melakukan perdagangan regresi. Ketika harga menyentuh garis pemisah emas di Brin Belt dianggap sebagai sinyal beli, memanfaatkan karakteristik regresi seimbang harga untuk mendapatkan keuntungan.
Menggunakan vWMA dan bukan SMA sebagai lintasan tengah untuk BRI, dapat lebih mencerminkan tren pergerakan harga
Pembagian emas adalah area support/resistance yang penting, yang memberikan dasar untuk regresi
Garis rata-rata berjumlah banyak, memastikan tren besar ke atas
Stop loss tetap memastikan pengendalian kerugian tunggal
Garis pemisah emas bukan dukungan yang pasti, harga bisa langsung jatuh
Stop loss tetap mungkin terlalu sewenang-wenang dan harus dipertimbangkan untuk disesuaikan dengan fluktuasi pasar
Array linear rata-rata juga dapat menjadi false break, yang harus digabungkan dengan lebih banyak indikator.
Panjang pengembalian tidak pasti, perlu menetapkan titik keberangkatan yang wajar
Kombinasi parameter yang berbeda dapat diuji, seperti periode Brin, kelipatan standar, persentase stop loss tetap, dan lain-lain.
Anda dapat menambahkan lebih banyak indikator untuk menilai tren pasar dan probabilitas kemunduran, seperti MACD, KD, dan lain-lain.
Anda dapat mempertimbangkan stop loss dinamis, stop loss berdasarkan ATR, atau stop loss berdasarkan tracking
Anda dapat mengoptimalkan strategi penutupan, seperti penutupan bergerak, penutupan kelompok, dan sebagainya.
Strategi ini menggunakan Brin Gold Divisi Garis untuk perdagangan kembali seimbang, memiliki logika perdagangan yang jelas, parameter pengaturan yang sederhana, pengunduran diri yang dapat dikontrol. Namun, ada juga risiko tertentu, perlu pengujian dan pengoptimalan lebih lanjut, menambahkan lebih banyak penilaian indikator teknis dan alat stop loss / stop loss, sebelum dapat diterapkan. Secara keseluruhan, strategi ini memberikan ide untuk melakukan perdagangan kuantitatif menggunakan aturan pembagian emas, yang layak untuk dieksplorasi 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 )