وسائل لوڈ ہو رہے ہیں... لوڈنگ...

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

مصنف:چاؤ ژانگ، تاریخ: 2023-09-22 14:31:17
ٹیگز:

جائزہ

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

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

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

تجارتی منطق مندرجہ ذیل ہے:

  1. بولنگر بینڈ کے وسط، اوپری اور نچلے بینڈ کا حساب لگائیں۔

  2. جب قیمت اوپری بینڈ کو توڑتی ہے تو، طویل ہو جاتی ہے. جب قیمت نچلی بینڈ کو توڑتی ہے تو، مختصر ہو جاتی ہے.

  3. خطرات پر قابو پانے اور قیمتوں میں کمی شروع ہونے پر باہر نکلنے کے لئے ٹریلنگ اسٹاپ نقصان کا استعمال کریں۔

  4. جب قیمتیں دوبارہ بینڈ کو توڑیں تو رجحان میں دوبارہ داخل ہوں۔

رجحانات کا تعین کرنے کے لئے بولنگر بینڈ کا استعمال اور متحرک ٹریلنگ اسٹاپ نقصان کے ساتھ مل کر خطرات کو مؤثر طریقے سے کنٹرول کرسکتے ہیں۔

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

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

  1. رجحانات کا تعین کرنے کے لئے بولنگر بینڈ کا استعمال کرتے ہوئے، سادہ اور مؤثر.

  2. بریک آؤٹ انٹری اور متحرک ٹریلنگ اسٹاپ نقصان کا امتزاج رجحان کی گرفت اور خطرے کے کنٹرول کو متوازن کرتا ہے۔

  3. صاف اور جامع کوڈ کی ساخت، سمجھنے اور تبدیل کرنے کے لئے آسان.

  4. چند پیرامیٹرز، بہتر بنانے کے لئے آسان.

  5. مختلف مصنوعات پر لاگو، لچکدار.

  6. اچھے بیک ٹیسٹ کے نتائج، بڑے منافع کے ساتھ.

خطرے کا تجزیہ

اہم خطرات یہ ہیں:

  1. بولنگر بینڈ صرف اعداد و شمار پر انحصار کرتے ہیں، منحنی فٹنگ کے خطرات.

  2. رینج توسیع اور حقیقی رجحانات میں فرق کرنا مشکل ہے، غلط فیصلے کا سبب بن سکتا ہے.

  3. سٹاپ نقصان پوائنٹس بہت تنگ، عام oscillations کی طرف سے روکنے کے خطرات.

  4. لین دین کے اخراجات کا کوئی حساب نہیں.

  5. محدود backtest مدت، overfitting کے خطرات.

حل یہ ہیں:

  1. پیرامیٹرز کو بہتر بنائیں یا سگنل کی تصدیق کے لیے دیگر اشارے شامل کریں۔

  2. کمپن اور چینلز کی نشاندہی کو بہتر بنائیں۔

  3. ATR وغیرہ کی بنیاد پر سٹاپ نقصان کو متحرک طور پر ایڈجسٹ کریں

  4. کمیشن شامل کریں، سلائڈ لاگت.

  5. بیک ٹسٹ کی مدت میں توسیع، کثیر مارکیٹ کی تصدیق.

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

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

  1. مختلف اشارے کے مجموعی اثرات کی جانچ۔

  2. رجحان کے جھولوں کی نشاندہی میں بہتری۔

  3. متحرک پیرامیٹر کی اصلاح کے لئے مشین لرننگ کا تعارف.

  4. بیک ٹیسٹ کے نتائج کی بنیاد پر سٹاپ نقصان کی حکمت عملی کو بہتر بنانا۔

  5. ٹرانزیکشن لاگت کا اندازہ لگانا اور جمع کرنا۔

  6. بہترین ترتیبات کے لئے پیرامیٹر کی جگہ کی اصلاح.

  7. پیسے کے انتظام کو پوزیشن کے خطرات کو کنٹرول کرنے میں شامل کرنا.

نتیجہ

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


/*backtest
start: 2022-09-15 00:00:00
end: 2023-09-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB Strategy",initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, commission_type = strategy.commission.percent, commission_value = 0.3, max_bars_back = 1000, overlay=true)

// Inputs //

sma = input(20,  minval=1)
mult   = input(1.2, minval=0.001, maxval=50)
src = input(close)

// alert msg  //

message_long_entry  = input("long entry")
message_short_entry = input("short entry")

// Calculations //

basis = sma(close, sma)
dev   = mult * stdev(close, sma)

upper = basis + dev
lower = basis - dev

// Backtest //
fromyear = input(2019, defval = 2019, 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(1, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

leverage = input(1, "Leverage")

term = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))

// PLOT //

plot(basis, color = color.gray,  linewidth = 2)
lu = plot(upper, color = color.green, linewidth = 2)
ll = plot(lower, color = color.red,   linewidth = 2)

fill(lu, ll, color = color.gray)

// Signals //

long  = crossover(close, upper)
short = crossunder(close, lower)

// Strategy entry //
strategy.initial_capital = 50000
if (long and term)
    strategy.entry("long",  strategy.long, qty=strategy.initial_capital/close*leverage, when = long and barstate.isconfirmed, alert_message = message_long_entry)
    
if (short and term)
    strategy.entry("short",  strategy.short, qty=strategy.initial_capital/close*leverage, when = short and barstate.isconfirmed, alert_message = message_short_entry)

// strategy exit //

strategy.exit("long tsl", "long", loss = close*0.075 / syminfo.mintick, trail_points = close*0.05 / syminfo.mintick, trail_offset = close*0.005 / syminfo.mintick)
strategy.exit("short tsl", "short", loss = close*0.075 / syminfo.mintick, trail_points = close*0.05 / syminfo.mintick, trail_offset = close*0.005 / syminfo.mintick)





مزید