
Strategi ini adalah berdasarkan pada tanda perdagangan reka bentuk indikator %B Burin, melakukan perdagangan lebih banyak apabila nilai %B di bawah nilai terendah yang ditetapkan, menggunakan cara menaikkan kedudukan secara dinamik untuk menjejaki trend, dan mencapai kedudukan terendah selepas keadaan berhenti berhenti yang ditetapkan. Strategi ini digunakan untuk mengenal pasti keadaan rebound selepas penembusan sokongan Burin yang turun.
Strategi ini mempunyai kelebihan berikut:
Strategi ini mempunyai beberapa risiko:
Penyelesaian:
Strategi ini juga boleh dioptimumkan dengan:
Strategi ini secara keseluruhan adalah strategi perdagangan garis panjang yang lebih kukuh. Kemampuan untuk mengenal pasti dan mengoptimumkan parameter masih mempunyai ruang untuk meningkatkan, jika digabungkan dengan isyarat penapis indikator lain, mengawal pengurusan kedudukan yang baik, strategi ini dapat memperoleh keuntungan yang lebih baik dalam keadaan trend.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands %B Long Strategy", shorttitle="BB %B Long Strategy", overlay=true)
// Girdiler
length = input.int(20, title="BB Length")
src = input(close, title="Source")
dev = input.float(2.0, title="Deviation")
kar_hedefi = input(5, title="Take Profit")
zarar_durumu = input(100, title="Stop Loss")
start_date = input(timestamp("01 Jan 2023 00:00 +0000"), "Start Date")
end_date = input(timestamp("01 Jan 2024 00:00 +0000"), "End Date")
altinda_kalirsa_long = input.float(0, title="hangi degerin altinda long alsin")
// Bollinger Bantları %B göstergesi
basis = ta.sma(src, length)
stdDev = ta.stdev(src, length)
upperBand = basis + dev * stdDev
lowerBand = basis - dev * stdDev
percentB = (src - lowerBand) / (upperBand - lowerBand)
// Alım-Satım Sinyalleri
longCondition = percentB < altinda_kalirsa_long
// Kar/Zarar Hesaplama
takeProfit = strategy.position_avg_price * (1 + kar_hedefi / 100)
stopLoss = strategy.position_avg_price * (1 - zarar_durumu / 100)
// Long (Alım) İşlemi
if (longCondition )
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfit, stop=stopLoss)
// Take Profit Seviyesi Çizgisi
plot(takeProfit, title="Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)