Strategi ini menggabungkan indikator Brin dan Fibonacci retracement, untuk melakukan perdagangan gabungan pelbagai indikator. Ia adalah jenis strategi indikator gabungan yang tipikal. Strategi ini menilai arah trend melalui Brin dan Fibonacci retracement untuk menentukan tahap rintangan sokongan utama, yang menghasilkan isyarat perdagangan.
Strategi ini berdasarkan kepada dua petanda utama:
Hitung rantaian atas, rantaian tengah, dan rantaian bawah di dalam pita Brin. Apabila harga menembusi rantaian bawah, buatlah isyarat ganda, dan apabila menembusi rantaian atas buatlah isyarat kosong.
Dua titik pengunduran Fibonacci penting, iaitu 0% dan 100%, dikira berdasarkan ketinggian dan ketidaksempurnaan sejarah. Kedua-dua titik ini berfungsi sebagai titik sokongan dan rintangan utama.
Logik urus niaga adalah seperti berikut:
Buat lebih banyak isyarat: harga naik melalui Brin Belt dan berada di 0% Fibonacci Support ke atas
isyarat kosong: harga di bawah melalui jalur bawah Brin dan berada di bawah rintangan Fibonacci 100%
Hutang rata merujuk kepada rel tengah, berhenti atau berhenti berhampiran rel tengah.
Anda boleh mengurangkan risiko dengan mengambil langkah-langkah berikut:
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Mencari nisbah parameter terbaik untuk mengira naik dan turun
Parameter kitaran yang berbeza yang diperhitungkan untuk ujian penarikan balik
Sebagai contoh, melihat bentuk garis K semasa pecahnya tali pinggang Brin.
Pertimbangkan cara untuk menghentikan kerosakan dengan fungsi pengesanan
Parameter yang berbeza tidak semestinya sama, perlu disesuaikan
Strategi ini meningkatkan kualiti isyarat perdagangan dengan menggabungkan indikator penarikan balik Brin dan Fibonacci, menggunakan kelebihan teknikal masing-masing. Tetapi ada juga masalah yang sukar untuk mengoptimumkan parameter, syarat kemasukan terlalu ketat. Kita boleh menyempurnakan sistem strategi dengan cara menetapkan parameter pengoptimuman, memperluaskan syarat kemasukan dengan sewajarnya, dan memperbaiki mekanisme penangguhan kerugian.
/*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