Strategi ini menggabungkan indikator Brin dan Fibonacci retracement, untuk melakukan perdagangan kombinasi multi-indikator. Strategi ini adalah jenis strategi indikator kombinasi yang khas. Strategi ini menilai arah tren melalui Brin dan Fibonacci retracement untuk menentukan resistensi dukungan utama, sehingga menghasilkan sinyal perdagangan.
Strategi ini didasarkan pada dua indikator:
Perhitungan rel atas, rel tengah dan rel bawah di Bollinger Bands. Harga melakukan sinyal plus saat melintasi rel bawah, dan sinyal kosong saat melintasi rel atas.
Dua titik Fibonacci retracement penting yang dapat digunakan sebagai titik support dan resistance yang penting, yaitu 0% dan 100%, dihitung berdasarkan pada titik tinggi dan rendah historis.
Logika transaksi adalah sebagai berikut:
Buat sinyal lebih banyak: harga naik melalui Brin Belt dan berada di 0% Fibonacci support above
Sinyal kosong: harga di bawah Brin Belt dan berada di bawah Resistensi Fibonacci 100%
Pelan Posisi dengan rel tengah sebagai referensi, berhenti atau berhenti di dekat rel tengah.
Langkah-langkah berikut dapat mengurangi risiko:
Strategi ini dapat dioptimalkan dalam beberapa hal:
Mencari rasio parameter terbaik untuk menghitung naik dan turun
Parameter siklus yang berbeda yang diperhitungkan untuk pengujian mundur
Misalnya, melihat bentuk garis K saat Brin terobosan.
Pertimbangkan Stop Loss dengan Fungsi Pelacakan
Parameter yang berbeda tidak selalu sama, perlu disesuaikan
Strategi ini meningkatkan kualitas sinyal perdagangan dengan menggabungkan indikator Brin dan Fibonacci retracement, memanfaatkan keunggulan teknis masing-masing. Namun, ada juga masalah seperti sulitnya mengoptimalkan parameter, persyaratan masuk terlalu ketat. Kita dapat memperbaiki sistem strategi dengan cara mengoptimalkan pengaturan parameter, melebarkan persyaratan masuk yang sesuai, dan memperbaiki mekanisme penghentian kerugian, untuk mendapatkan lebih banyak peluang perdagangan sambil mempertahankan keunggulan teknisnya.
/*backtest
start: 2023-09-13 00:00:00
end: 2023-09-20 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands & Fibonacci Strategy", shorttitle="BB & Fib Strategy", overlay=true)
// Initialize position variables
var bool long_position = false
var bool short_position = false
// Bollinger Bands settings
length = input.int(20, title="Bollinger Bands Length")
src = input(close, title="Source")
mult = input.float(2.0, title="Standard Deviation Multiplier")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper_band = basis + dev
lower_band = basis - dev
// Fibonacci retracement levels
fib_0 = input.float(0.0, title="Fibonacci 0% Level", minval=-100, maxval=100) / 100
fib_100 = input.float(1.0, title="Fibonacci 100% Level", minval=-100, maxval=100) / 100
// Plotting Bollinger Bands
plot(upper_band, color=color.red, title="Upper Bollinger Band")
plot(lower_band, color=color.green, title="Lower Bollinger Band")
// Calculate Fibonacci levels
fib_range = ta.highest(high, 50) - ta.lowest(low, 50)
fib_high = ta.highest(high, 50) - fib_range * fib_0
fib_low = ta.lowest(low, 50) + fib_range * fib_100
// Plot Fibonacci retracement levels
plot(fib_high, color=color.blue, title="Fibonacci High")
plot(fib_low, color=color.orange, title="Fibonacci Low")
// Entry conditions
long_condition = ta.crossover(close, upper_band) and low > fib_low
short_condition = ta.crossunder(close, lower_band) and high < fib_high
// Plot arrows on the chart
plotshape(series=long_condition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=short_condition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// Entry and exit logic
if long_condition and not short_position
strategy.entry("Long", strategy.long)
long_position := true
short_position := false
if short_condition and not long_position
strategy.entry("Short", strategy.short)
short_position := true
long_position := false
// Exit conditions (you can customize these)
long_exit_condition = ta.crossunder(close, basis)
short_exit_condition = ta.crossover(close, basis)
if long_exit_condition
strategy.close("Long")
long_position := false
if short_exit_condition
strategy.close("Short")
short_position := false