
حکمت عملی بولنگر بینڈ کے اشارے پر مبنی تجارتی نظام کے بعد ایک رفتار ہے۔ یہ قیمت اور اوپری بولنگر بینڈ کے درمیان تعلق کی نگرانی کرکے ممکنہ بریک آؤٹ مواقع کی نشاندہی کرتا ہے اور جب قیمت نچلے بولنگر بینڈ سے نیچے آتی ہے تو پوزیشن کو بند کر دیتی ہے۔ بولنگر بینڈ تین لائنوں پر مشتمل ہوتے ہیں: درمیانی بینڈ (موونگ ایوریج)، اوپری بینڈ، اور لوئر بینڈ (معیاری انحراف سے شمار کیا جاتا ہے)۔ حکمت عملی متعدد متحرک اوسط اقسام کی حمایت کرتی ہے اور تاجر کی ترجیحات کے مطابق پیرامیٹرز کو ایڈجسٹ کر سکتی ہے۔
حکمت عملی کی بنیادی منطق درج ذیل نکات پر مبنی ہے:
یہ بولنگر بینڈز پر مبنی حکمت عملی کے بعد ایک رجحان ہے، جو قیمت اور بولنگر بینڈ کے درمیان تعلق کو دیکھ کر مارکیٹ کے رجحانات کو حاصل کرتا ہے۔ حکمت عملی معقول طریقے سے ڈیزائن کی گئی ہے اور اس میں ایڈجسٹ ایبلٹی اور رسک مینجمنٹ میکانزم ہے۔ تجویز کردہ اصلاحی ہدایات کے ذریعے، حکمت عملی کے استحکام اور منافع کو مزید بہتر بنایا جا سکتا ہے۔ یہ حکمت عملی خاص طور پر زیادہ اتار چڑھاؤ والی مارکیٹوں کے لیے موزوں ہے، لیکن تاجروں کو اصل حالات کی بنیاد پر پیرامیٹرز اور رسک کنٹرول کے اقدامات کو ایڈجسٹ کرنے کی ضرورت ہے۔
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Demo GPT - Bollinger Bands Strategy", overlay=true, initial_capital=100000, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3)
// Inputs
length = input.int(20, minval=1, title="Length")
maType = input.string("SMA", "Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
offset = input.int(0, "Offset", minval=-500, maxval=500)
startDate = input(timestamp('01 Jan 2018 00:00 +0000'), title="Start Date")
endDate = input(timestamp('31 Dec 2069 23:59 +0000'), title="End Date")
// Moving Average Function
ma(source, length, _type) =>
switch _type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Calculations
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Plotting
plot(basis, "Basis", color=#2962FF, offset=offset)
p1 = plot(upper, "Upper", color=#F23645, offset=offset)
p2 = plot(lower, "Lower", color=#089981, offset=offset)
fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))
// Strategy Logic
inTradeWindow = true
longCondition = close > upper and inTradeWindow
exitCondition = close < lower and inTradeWindow
if (longCondition)
strategy.entry("Long", strategy.long, qty=1)
if (exitCondition)
strategy.close("Long")