
یہ ایک ایسی حکمت عملی ہے جس میں بُرین بینڈ اشارے کا استعمال کیا جاتا ہے۔ اس حکمت عملی کا مقصد بُرین بینڈ اشارے کو قیمتوں میں شدید اتار چڑھاؤ کے وقت کی نشاندہی کرنے اور اس کے مطابق خرید و فروخت کے فیصلے کرنے کے لئے استعمال کرنا ہے۔
یہ حکمت عملی بروئنگ بینڈ کے اوپری ، درمیانی اور نیچے کی لائنوں کا حساب لگاتی ہے تاکہ یہ معلوم کیا جاسکے کہ آیا موجودہ قیمت اتار چڑھاؤ کی حد میں ہے یا نہیں۔ جب قیمت اوپری ٹریک کے قریب ہوتی ہے تو اسے کثیر سر حد علاقہ سمجھا جاتا ہے ، حکمت عملی کا انتخاب بیچنے کے لئے ہوتا ہے۔ جب قیمت نیچے کی طرف گھومتی ہے تو اسے خالی سر حد علاقہ سمجھا جاتا ہے ، حکمت عملی کا انتخاب خریدنے کے لئے ہوتا ہے۔
اس کے علاوہ ، حکمت عملی میں ٹرینڈ ریورس فیکٹر بھی متعارف کرایا گیا ہے ، اگر کوئی ریورس سگنل ہوتا ہے تو ، اس سے خریدنے یا بیچنے کے فیصلے کو بھی متحرک کیا جاسکتا ہے۔ خاص طور پر ، حکمت عملی کا منطق مندرجہ ذیل ہے:
یہ حکمت عملی کا بنیادی ٹریڈنگ منطق ہے۔ یہ حکمت عملی رجحان اور الٹ عوامل کے ساتھ مل کر برین بینڈ کی خصوصیات کا استعمال کرتے ہوئے ، اتار چڑھاؤ میں اضافے کے وقت الٹ پوائنٹس پر قبضہ کرنے کی کوشش کرتی ہے۔
یہ حکمت عملی عام طور پر چلتی اوسط حکمت عملی کے مقابلے میں مندرجہ ذیل فوائد پیش کرتی ہے:
مجموعی طور پر ، اس حکمت عملی نے بروئنگ بینڈ اور قیمت کے اداروں کے فیصلے کو اچھی طرح سے جوڑ دیا ، معقول موڑ پر تجارت کی ، جس سے منافع کی ایک خاص سطح کو یقینی بنایا گیا اور خطرات پر قابو پایا گیا۔
تاہم ، اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں ، جن میں سے کچھ یہ ہیں:
اسی طرح، مستقبل میں مندرجہ ذیل پہلوؤں کو بہتر بنایا جا سکتا ہے:
یہ حکمت عملی مجموعی طور پر ایک عام برین بینڈ ٹریڈنگ حکمت عملی ٹیمپلیٹ ہے۔ یہ صرف برین بینڈ کا استعمال کرتے ہوئے آسانی سے پیدا ہونے والے زیادہ غیر موثر تجارت کے نقصانات سے گریز کرتا ہے۔ رجحان الٹ فیصلے کو متعارف کرانے کے ذریعے موثر فلٹرنگ سگنل ، نظریاتی طور پر بہتر حکمت عملی کی کارکردگی حاصل کی جاسکتی ہے۔ تاہم ، حکمت عملی کے پیرامیٹرز کو بہتر بنانے اور غلط فیصلے کے امکانات کو کم کرنے کے لئے پیرامیٹرز کی ترتیب اور سگنل فلٹرنگ میں مزید اصلاحات اور بہتری کی ضرورت ہے۔
/*backtest
start: 2023-12-18 00:00:00
end: 2024-01-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy("Noro's Bollinger Strategy v1.2", shorttitle = "Bollinger str 1.2", overlay = true )
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
length = input(20, defval = 20, minval = 1, maxval = 1000, title = "Bollinger Length")
mult = input(2.0, defval = 2.0, minval = 0.001, maxval = 50, title = "Bollinger Mult")
source = input(ohlc4, defval = ohlc4, title = "Bollinger Source")
uset = input(true, defval = true, title = "Use trend entry")
usect = input(true, defval = true, title = "Use counter-trend entry")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
showbands = input(true, defval = true, title = "Show Bollinger Bands")
//Bollinger Bands
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
//Lines
col = showbands ? black : na
plot(upper, linewidth = 1, color = col)
plot(basis, linewidth = 1, color = col)
plot(lower, linewidth = 1, color = col)
//Body
body = abs(close - open)
abody = ema(body, 30)
//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up1 = bar == -1 and close >= basis and close < upper and (close < strategy.position_avg_price or strategy.position_size == 0) and uset
dn1 = bar == 1 and close <= basis and close > lower and (close > strategy.position_avg_price or strategy.position_size == 0) and uset
up2 = close <= lower and usect
dn2 = close >= upper and usect
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open) and body > abody / 2
//Trading
if up1 or up2
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
if dn1 or dn2
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
if exit
strategy.close_all()