بولنگر بینڈ بریک آؤٹ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-07 15:08:36
ٹیگز:

img

جائزہ

اس حکمت عملی میں مارکیٹ کے رجحانات کا اندازہ کرنے کے لئے بولنگر بینڈ کا استعمال کیا جاتا ہے اور بینڈوتھ سگنل کو تجارتی مواقع کی نشاندہی کرنے کے لئے جوڑتا ہے ، جس کا مقصد سرمایہ کاری کے پورٹ فولیو کی مستحکم نمو ہے۔ پچھلے سال کے اعداد و شمار کے ساتھ بیک ٹیسٹ کیا گیا ، اس نے صرف -4.02٪ کی زیادہ سے زیادہ کھینچنے کے ساتھ 78.95٪ منافع حاصل کیا۔ یہ خودکار حکمت عملیوں کی میری سیریز میں سے ایک ہے جو میرے پورٹ فولیو کو مستقل طور پر بڑھانے میں مدد کرتی ہے۔

پیرامیٹرز کو ٹھیک کرنے اور اس حکمت عملی کو بیک ٹیسٹ کرنے کے لئے آزاد محسوس کریں۔ کسی بھی تبصرے یا خیالات کی تعریف کی جاتی ہے۔

اگر آپ موجودہ نتائج سے خوش ہیں اور اس حکمت عملی کو خودکار کرنا چاہتے ہیں ، جو انتباہات کے ذریعہ کیا جاسکتا ہے ، تو آپ کو اسے ایک مطالعہ میں تبدیل کرنے اور کوڈ میں انتباہات شامل کرنے کی ضرورت ہے۔ اگر آپ اس میں دلچسپی رکھتے ہیں تو مجھے بتائیں اور میں اس حکمت عملی پر مبنی ایک مطالعہ تشکیل دے سکتا ہوں۔

حکمت عملی منطق

یہ حکمت عملی اندراجات اور باہر نکلنے کا تعین کرنے کے لئے بولنگر بینڈ اور بینڈوڈتھ کا استعمال کرتی ہے۔

بولنگر بینڈ میں اوپری بینڈ ، مڈل بینڈ اور نچلے بینڈ شامل ہیں۔ درمیانی بینڈ این پیریڈ کا سادہ چلتا ہوا اوسط ہے ، ڈیفالٹ n = 16۔ اوپری بینڈ مڈل بینڈ + k * معیاری انحراف ہے ، نچلا بینڈ مڈل بینڈ - k * معیاری انحراف ہے ، ڈیفالٹ k = 3۔ جب قیمت اوپری بینڈ کے قریب آتی ہے تو ، یہ اوور ویلیوشن یا اوور بک کا اشارہ کرتی ہے۔ جب قیمت نچلی بینڈ کے قریب آتی ہے تو ، یہ کم ویلیوشن یا اوور سیل کا اشارہ کرتی ہے۔

بینڈوڈتھ اشارے میں درمیانی بینڈ کے مقابلے میں قیمت کی اتار چڑھاؤ ظاہر ہوتا ہے۔ اس کا حساب (اوپر بینڈ - نچلے بینڈ) / درمیانی بینڈ * 1000 سے کیا جاتا ہے۔ جب بینڈوڈتھ 20 سے کم ہوتا ہے تو ، اس سے کم اتار چڑھاؤ یا استحکام ظاہر ہوتا ہے۔ جب بینڈوڈتھ 50 سے زیادہ ہوتا ہے تو ، اس سے بڑھتی ہوئی اتار چڑھاؤ کی نمائندگی ہوتی ہے۔

یہ حکمت عملی طویل مواقع کی تلاش کرتی ہے جب بینڈوڈتھ 20-50 کے درمیان ہوتا ہے اور قیمت نیچے کی بینڈ سے نیچے ہوتی ہے۔ طویل عرصے کے بعد ، منافع حاصل کرنے کی قیمت داخلہ کی قیمت کا 108٪ مقرر کی جاتی ہے ، یا جب قیمت اوپری بینڈ سے اوپر ہوتی ہے تو اسٹاپ نقصان سے باہر نکل جاتا ہے۔

فوائد کا تجزیہ

اس حکمت عملی کے فوائد میں شامل ہیں:

  1. بولنگر بینڈ رجحان کی سمت کا اندازہ لگاتے ہیں، جھوٹے بریک آؤٹ کے خطرات کو کم کرتے ہیں

  2. بینڈوڈتھ سگنل درست طریقے سے رینج سے منسلک کارروائی کا پتہ لگاتا ہے، بڑے جھولوں سے بڑے نقصانات سے بچنے کے

  3. بیک ٹسٹ سے پتہ چلتا ہے کہ ایک سال میں تقریبا 80٪ منافع بخش، انتہائی اعلی خطرہ انعام کا تناسب

  4. 5 فیصد سے کم زیادہ سے زیادہ استعمال، مؤثر طریقے سے خطرے کو کنٹرول کرتا ہے اور پورٹ فولیو کی مستحکم ترقی کو برقرار رکھتا ہے

  5. سادہ اور واضح منطق، سمجھنے اور لاگو کرنے کے لئے آسان، وسیع پیمانے پر مختلف اثاثوں پر لاگو

خطرے کا تجزیہ

اس حکمت عملی کے خطرات میں شامل ہیں:

  1. بولنگر پیرامیٹر کی خراب ترتیبات اچھے تجارتی مواقع سے محروم ہوسکتی ہیں

  2. مسلسل بول یا ریچھ منڈیوں کے دوران کم تجارتی تعدد، منافع میں رکاوٹ

  3. ناکافی بیک ٹسٹ ڈیٹا، اصل کارکردگی بیک ٹسٹ سے مختلف ہوسکتی ہے

  4. انتہائی حرکتوں کے دوران سٹاپ نقصان لیا جا سکتا ہے، بڑے نقصانات کی قیادت

  5. اعلی ٹرانزیکشن اخراجات بھی اصل منافع کو کم کرتے ہیں

حل:

  1. پیرامیٹرز کو بہتر بنائیں اور مارکیٹ کی بنیاد پر بولنگر کی مدت کو ایڈجسٹ کریں

  2. غیر معمولی مارکیٹ کے حالات سے نمٹنے کے لئے اضافی اشارے متعارف کروانا

  3. استحکام کی تصدیق کے لئے مختلف مارکیٹوں میں کافی ڈیٹا اور بیک ٹسٹ جمع کریں

  4. انتہائی حرکتوں سے بڑے نقصانات کو روکنے کے لئے مناسب طریقے سے سٹاپ نقصان کو ایڈجسٹ کریں

  5. ٹرانزیکشن لاگت کو کم کرنے کے لئے کم کمیشن والے ٹریڈنگ پلیٹ فارمز کا انتخاب کریں

اصلاح کی ہدایات

اس حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:

  1. غلط بریک آؤٹ سے بچنے کے لئے حجم کی تصدیق شامل کریں

  2. رجحان کی سمت کی نشاندہی کرنے کے لئے رجحان کے اشارے کے ساتھ مل کر

  3. مشین لرننگ کا استعمال پیرامیٹرز کو خودکار طور پر ایڈجسٹ کرنے اور مارکیٹ میں موافقت کرنے کے لئے

  4. غیر منسلک اثاثوں کی تجارت سے بچنے کے لئے ارتباط فلٹر شامل کریں

  5. اپ ٹرینڈز کے دوران زیادہ سے زیادہ فوائد کے لئے منافع / سٹاپ نقصان کو بہتر بنائیں

  6. جیت کی شرح میں اضافہ کرنے کے لئے مزید حالت فلٹر متعارف کرانے

  7. متعدد سائیکلوں سے فائدہ اٹھانے کے لئے کثیر ٹائم فریم کے مجموعوں کا تجربہ کریں

  8. نمائش کو بڑھانے کے لئے انڈیکسڈ پورٹ فولیو کی تعمیر

  9. نئی حکمت عملیوں کو خودکار طور پر پیدا کرنے اور درست کرنے کے لئے مشین لرننگ کا استعمال کریں

نتیجہ

مجموعی طور پر یہ بولنگر بینڈ بریکآؤٹ حکمت عملی اچھی طرح سے بیک ٹیسٹ کی گئی ہے اور رینج سے منسلک مارکیٹوں میں مستحکم واپسی پیدا کرسکتی ہے۔ بنیادی منطق آسان اور واضح ہے ، سمجھنے اور لاگو کرنے میں آسان ہے۔ لیکن پیچیدہ مارکیٹوں میں مستحکم منافع کے ل param پیرامیٹر کی اصلاح ، رسک کنٹرول اور پورٹ فولیو مینجمنٹ میں مزید بہتری کی ضرورت ہے۔ یہ ایک بنیادی رجحان کی پیروی کرنے والی حکمت عملی ہے ، اور اسے زیادہ تکنیکی اشارے اور رسک مینجمنٹ میکانزم متعارف کرانے ، یا آٹومیشن کے لئے مشین لرننگ کے ساتھ مل کر بڑھا جاسکتا ہے۔ خلاصہ یہ کہ ، یہ حکمت عملی ابتدائیوں کے لئے الگورتھم ٹریڈنگ کا دروازہ کھولتی ہے ، اور تجربہ کار تاجروں کو حکمت عملی کو بہتر بنانے کے امکانات بھی فراہم کرتی ہے۔


/*backtest
start: 2023-10-30 00:00:00
end: 2023-11-06 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger Bands BAT/USDT 30min", overlay=true )

/// Indicators
///Bollinger Bands
source = close
length = input(16, minval=1)
mult = input(3, step=0.1, minval=0.001, maxval=50)
basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

plot(basis, color=color.red)
p1 = plot(upper, color=color.blue)
p2 = plot(lower, color=color.blue)
fill(p1, p2)

//Bollinger bands width
bbw = (upper-lower)/basis*1000
//plot(bbw, color=color.blue)

upper_bbw_input = input(title="BBW Upper Threshold", step=1, minval=0, defval=50)
lower_bbw_input = input(title="BBW Lower Threshold", step=1, minval=0, defval=20)


// Backtesting Period
testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true

// Take Profit
tp_inp = input(8, title='Take Profit %', step=0.1)/100
take_level = strategy.position_avg_price * (1 + tp_inp)

//Entry Strategy
entry_long = crossover(source, lower) and (bbw < upper_bbw_input) and (bbw > lower_bbw_input)
exit_long = cross(high,upper) or close < lower

if testPeriod()

    strategy.entry(id="LongBB", long=true, comment="LongBB", when=entry_long)
    strategy.exit("Take Profit Long","LongBB",limit=take_level)
    strategy.close(id="LongBB", when=exit_long )



مزید