
Die Strategie ist eine Handelsstrategie, die auf dem Brin-Band-Doppelstandarddifferenzmodell basiert. Sie nutzt die Brin-Band-Ober- und Unterbahn sowie die Standarddifferenz 1 und 2 als Handelssignale. Wenn der Preis die Brin-Band-Oberbahn durchbricht, macht man einen Plus, wenn der Preis die Brin-Band-Unterbahn durchbricht, macht man einen Minus.
Die Strategie berechnet zuerst die mittlere, obere und untere Bahn des Brin-Bandes. Die mittlere Bahn ist die SMA für CLOSE, die obere Bahn ist die mittlere Bahn + 2*Standardschlechter, Unterbahn ist Mittelschiene-2*Die Strategie zeichnet außerdem die Linien der mittleren Bahn + 1 Standarddifferenz und der mittleren Bahn - 1 Standarddifferenz. Sie werden als Stop-Loss verwendet. Die spezifische Logik ist:
Die Strategie ist insgesamt eine typische Brin-Band-Break-Strategie. Sie nutzt die doppelte Standardabweichung, um die Signalentscheidungsschärfe zu erhöhen, und verwendet die doppelte Stop-Line, um das Risiko aktiv zu kontrollieren. Die Strategie hat einen gewissen Optimierungsraum für die Parameter, um eine bessere Strategie-Performance zu erzielen, indem sie die mittlere Bahn-Periode, die Standard-Differenz-Doppelzahl und andere Parameter anpasst.
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation
strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev
upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2
colorBasis = src >= basis ? color.blue : color.orange
pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))
fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))
// Entry conditions
longCondition = ta.crossover(close, upper1)
shortCondition = ta.crossunder(close, lower1)
// Entry and exit strategy
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)
strategy.close("Buy", when=shortCondition)
strategy.close("Sell", when=longCondition)