بولنگر ویو حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-15 15:16:27
ٹیگز:

img

جائزہ

بولنگر ویو حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو بولنگر بینڈ اور حرکت پذیر اوسط کو جوڑتی ہے۔ یہ مارکیٹ کے رجحانات اور زیادہ خرید / فروخت والے علاقوں کا تعین کرنے کے لئے بولنگر بینڈ اور حرکت پذیر اوسط کے کراس اوورز کے معیاری انحراف کا حساب کتاب کرکے تجارتی سگنل تیار کرتی ہے۔

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

حکمت عملی سب سے پہلے ایک مخصوص مدت کے دوران ایک تیزی سے چلنے والی اوسط (ای ایم اے) کا حساب لگاتی ہے۔ اس کے بعد اس ای ایم اے کی بنیاد پر اوپری بینڈ (ای ایم اے + این گنا معیاری انحراف) اور نچلی بینڈ (ای ایم اے - این گنا معیاری انحراف) کا حساب لگایا جاتا ہے۔ اوپری بینڈ سے اوپر کی توڑ ایک oversold سگنل کی نشاندہی کرتی ہے ، جبکہ نچلی بینڈ سے نیچے کی توڑ ایک oversold سگنل کی نشاندہی کرتی ہے۔

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

خاص طور پر، ٹریڈنگ سگنل کے قوانین یہ ہیں:

  1. لمبا سگنل: بند > اوپری بینڈ اور آر ایس آئی ((14) > 60
  2. مختصر سگنل: قریب < کم بینڈ اور RSI ((14) < 40

جب مذکورہ بالا ٹریڈنگ سگنل ظاہر ہوتے ہیں تو ، مقررہ مقدار یا اکاؤنٹ فیصد کے ساتھ پوزیشن لیں ۔ جب قیمتیں بینڈ میں واپس ہوجاتی ہیں یا مخالف سگنل ظاہر ہوتے ہیں تو پوزیشنوں سے باہر نکلیں۔

فوائد

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

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

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

خطرے کا تجزیہ

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

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

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

  3. اعلی تجارتی تعدد کا خطرہ۔ اگر بینڈ میں بہت ہی تنگ فرق ہے تو ، اس سے تجارت کی تعداد اور ادا کردہ کمیشن میں اضافہ ہوسکتا ہے ، اس طرح حتمی منافع کو متاثر ہوتا ہے۔ اس کو چلتی اوسط مدت میں اعتدال پسند اضافہ کرکے کم کیا جاسکتا ہے۔

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

حکمت عملی کو مزید بہتر بنانے کی گنجائش ہے:

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

  2. پوزیشن سائزنگ کے قواعد شامل کریں۔ مثال کے طور پر ، جیتنے والی تجارت میں اہرام سازی اور ہارنے والوں کو کم کرنا۔ اس سے حکمت عملی کی واپسی میں بہتری آسکتی ہے۔

  3. سگنل فلٹرنگ کے لئے دوسرے اشارے کے ساتھ مل کر۔ KDJ اور MACD جیسے اشارے معاون فیصلے کے اوزار کے طور پر کام کرسکتے ہیں۔ اس سے حکمت عملی کی منافع بخش کو مزید بہتر بنانے میں مدد ملتی ہے۔

  4. پیرامیٹرز کی ترتیبات کو بہتر بنائیں۔ مختلف پیرامیٹرز کے مجموعوں کو جانچنے اور بہتر ترتیبات تلاش کرنے کے لئے جینیاتی الگورتھم جیسے زیادہ منظم طریقوں کا استعمال کیا جاسکتا ہے۔

نتیجہ

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


/*backtest
start: 2023-01-08 00:00:00
end: 2024-01-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@FiboBuLL

strategy(shorttitle='FB Wave', title='FiboBuLL Wave', overlay=true, pyramiding=1, currency=currency.NONE, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

src = input(close, title='Source')
length = input.int(55, minval=1, title='EMA length')  // 20 for classis Bollinger Bands SMA line (basis)


mult = input.float(1., minval=0.236, maxval=2, title='Standard Deviation')  //2 for Classic Bollinger Bands //Maxval = 2 as higher the deviation, higher the risk
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)

Show = input.string('Both', options=['Longs Only', 'Shorts Only', 'Both'], title='Trade Type')
CC = input(true, 'Color Bars')

upper = basis + dev
lower = basis - dev

//Conditions for Long and Short - Extra filter condition can be used such as RSI or CCI etc.

short = src < lower  // and rsi(close,14)<40
long = src > upper  // and rsi(close,14)>60

L1 = ta.barssince(long)
S1 = ta.barssince(short)

longSignal = L1 < S1 and not (L1 < S1)[1]
shortSignal = S1 < L1 and not (S1 < L1)[1]

//Plots and Fills


////Long/Short shapes with text
// plotshape(S1<L1 and not (S1<L1)[1]?close:na, text = "sᴇʟʟ", textcolor=#ff0100, color=#ff0100, style=shape.triangledown, size=size.small, location=location.abovebar, transp=0, title = "SELL", editable = true)
// plotshape(L1<S1 and not (L1<S1)[1]?close:na, text = "ʙᴜʏ", textcolor = #008000, color=#008000, style=shape.triangleup, size=size.small, location=location.belowbar, transp=0, title = "BUY", editable = true)  

// plotshape(shortSignal?close:na, color=#ff0100, style=shape.triangledown, size=size.small, location=location.abovebar, transp=0, title = "Short Signal", editable = true)
// plotshape(longSignal?close:na, color=#008000, style=shape.triangleup, size=size.small, location=location.belowbar, transp=0, title = "Long Signal", editable = true)  


p1 = plot(upper, color=color.new(#ff0000, 75), display=display.all, title='Upper Band')
p2 = plot(lower, color=color.new(#008000, 75), display=display.all, title='Lower Band')

p = plot(basis, color=L1 < S1 ? #008000 : S1 < L1 ? #ff0000 : na, linewidth=2, editable=false, title='Basis')

fill(p, p1, color=color.new(color.teal, 85), title='Top Fill')  //fill for basis-upper
fill(p, p2, color=color.rgb(217, 161, 161), title='Bottom Fill', transp=85)  //fill for basis-lower

//Barcolor

bcol = src > upper ? color.new(#8ceb07, 0) : src < lower ? color.new(#ff0000, 0) : src > basis ? color.green : src < basis ? color.red : na

barcolor(CC ? bcol : na, editable=false, title='Color Bars')


// //Alerts ----  // Use 'Once per bar close'

// alertcondition(condition=longSignal, title="Long - BB Filter", message='BB Filter Long @ {{close}}') // Use 'Once per bar close'
// alertcondition(condition=shortSignal, title="Short - BB Filter", message='BB Filter Short @ {{close}}')  // Use 'Once per bar close'

Notestart1 = input(true, '╔═══ Time Range to BackTest ═══╗')

// === INPUT BACKTEST RANGE ===
FromMonth = input.int(defval=1, title='From Month', minval=1, maxval=12)
FromDay = input.int(defval=1, title='From Day', minval=1, maxval=31)
FromYear = input.int(defval=2018, title='From Year', minval=2015)
ToMonth = input.int(defval=1, title='To Month', minval=1, maxval=12)
ToDay = input.int(defval=1, title='To Day', minval=1, maxval=31)
ToYear = input.int(defval=9999, title='To Year', minval=2010)

// === FUNCTION EXAMPLE === 
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)  // backtest finish window
window() =>
    time >= start and time <= finish ? true : false

if window() and (Show == 'Longs Only' or Show == 'Both')
    strategy.entry('AL', direction=strategy.long, when=longSignal)
    strategy.close('LongAL', when=shortSignal, comment='AL KAPA')

if window() and (Show == 'Shorts Only' or Show == 'Both')
    strategy.entry('SAT', direction=strategy.short, when=shortSignal)
    strategy.close('SAT', when=longSignal, comment='SAT KAPA')














مزید