
یہ حکمت عملی بلین بینڈ اشارے پر مبنی ہے ، جب اختتامی قیمت ٹریک کو توڑتی ہے تو کثیر پوزیشن کھولتی ہے ، اور جب اختتامی قیمت نیچے کی طرف گرتی ہے تو خالی پوزیشن کھولتی ہے۔ کثیر پوزیشن کی شرط قیمت کے وسط میں گرنے کی ہے ، اور خالی پوزیشن کی شرط قیمت کے وسط میں توڑنے کی ہے۔ یہ حکمت عملی رجحان کی سمت کا تعین کرنے اور پوزیشن کھولنے کے وقت کا تعین کرنے کے لئے بلین بینڈ کے نیچے کی طرف جانے والی پوزیشن کے مقابلے میں قیمت کا استعمال کرتی ہے۔
یہ حکمت عملی ایک کلاسیکی رجحان کی پیروی کرنے والی حکمت عملی ہے ، جس میں برلن کے ذریعہ رجحان کی صورتحال کو پکڑنا ہے۔ حکمت عملی کی منطق واضح ہے ، فوائد واضح ہیں ، لیکن اس میں کچھ خطرہ بھی ہے۔ حکمت عملی کی کارکردگی کو بہتر بنانے اور موافقت کو بہتر بنانے کے لئے اسٹاپ نقصان ، پوزیشن مینجمنٹ اور پوزیشن فلٹرنگ وغیرہ کو بہتر بنایا جاسکتا ہے۔ تاہم ، کسی بھی حکمت عملی کی اپنی حدود ہیں ، جس کو حقیقی مارکیٹ کی صورتحال کے ساتھ مل کر لچکدار استعمال کی ضرورت ہے۔
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
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(20, minval=1, title = "Length")
mult = input.float(2.0, minval=0.001, maxval=50, title = "Multiplier")
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
// Strategy
long_condition = ta.crossover(close, upper1)
short_condition = ta.crossunder(close, lower1)
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Exit conditions
exit_long_condition = ta.crossunder(close, basis)
exit_short_condition = ta.crossover(close, basis)
if (exit_long_condition)
strategy.close("Long")
if (exit_short_condition)
strategy.close("Short")
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))