بولنگر بینڈز اور وی ڈبلیو اے پی پر مبنی بلش بریک آؤٹ حکمت عملی


تخلیق کی تاریخ: 2024-02-06 14:36:26 آخر میں ترمیم کریں: 2024-02-06 14:36:26
کاپی: 1 کلکس کی تعداد: 564
1
پر توجہ دیں
1237
پیروکار

بولنگر بینڈز اور وی ڈبلیو اے پی پر مبنی بلش بریک آؤٹ حکمت عملی

جائزہ

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

حکمت عملی کا اصول

  1. وی ڈبلیو اے پی کا حساب لگائیں
  2. VWAP کے لئے برن بینڈ کا حساب لگائیں ، جس میں اوپری ، درمیانی اور نچلی ریل شامل ہیں۔
  3. فیصلہ کریں کہ کیا VWAP نے برن بینڈ کے وسط میں ٹوٹ پھوٹ کی ہے یا نہیں ، اگر ایسا ہے اور قیمت اہم معاونت Pivot Point سے زیادہ ہے تو ، کثیر جہتی حکمت عملی کے ساتھ داخل ہوں۔
  4. سٹاپ نقصان 5 فیصد مقرر کیا گیا ہے.
  5. اگر وی ڈبلیو اے پی نیچے کی طرف سے برن بیڈ کے نیچے کی طرف جاتا ہے تو ، یہ سمجھا جاتا ہے کہ ہوائی جہاز کی تصدیق ہوگئی ہے ، اور بیعانہ چھوڑ دیا گیا ہے۔ اگر اسٹاپ نقصان کو متحرک کیا گیا تو ، بھی چھوڑ دیا گیا۔

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

اصلاح کی سمت

  1. MACD، KDJ وغیرہ جیسے دیگر اشارے کے ساتھ مل کر آؤٹ پٹ سگنل کو فلٹر کرنے میں مدد مل سکتی ہے۔
  2. اس کے علاوہ، آپ کو برن کی لمبائی اور معیاری اختلافات کو بہتر بنانے کے ذریعے زیادہ سے زیادہ پیرامیٹرز کا مجموعہ تلاش کر سکتے ہیں.
  3. بلین بینڈ پیرامیٹرز کو متحرک طور پر بہتر بنانے کے لئے مشین لرننگ الگورتھم متعارف کرایا جاسکتا ہے۔
  4. آپ مختلف نقصان کی سطحوں کو آزما سکتے ہیں اور بہترین نقصان کا مقام تلاش کرسکتے ہیں۔
  5. مارکیٹ میں اتار چڑھاؤ کی سطح کے مطابق ہدف منافع کو ایڈجسٹ کرنے کے لئے خود بخود آؤٹ آف میکانزم شامل کیا جاسکتا ہے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ediks123

//@version=4
strategy("BBofVWAP with entry at Pivot Point", overlay=false, pyramiding=1,   default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed,

// Function outputs 1 when it's the first bar of the D/W/M/Y
is_newbar(res) =>
    ch = 0
    if(res == 'Y')
        t  = year(time('D'))
        ch := change(t) != 0 ? 1 : 0
    else
        t = time(res)
        ch := change(t) != 0 ? 1 : 0
    ch


//variables BEGIN
//smaLength=input(200,title="Slow MA Length")

bbLength=input(50,title="BB Length")  
//bbsrc = input(close, title="BB Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)

pp_period = input(title = "Pivot Period", type=input.string, defval="Week", options = ['Day', 'Week'])

pp_res = pp_period == 'Day' ? 'D' : pp_period == 'Week' ? 'W' : pp_period == 'Month' ? 'M' : 'Y' 

riskCapital = input(title="Risk % of capital", defval=10, minval=1)
stopLoss=input(5,title="Stop Loss",minval=1)



//sma200=sma(close,smaLength)
//plot(sma200, title="SMA 200", color=color.orange)

myVwap=vwap(hlc3)

//bollinger calculation
basis = sma(myVwap, bbLength)
dev = mult * stdev(myVwap, bbLength)
upperBand = basis + dev
lowerBand = basis - dev

//plot bb
plot(basis, "Basis", color=color.teal, style=plot.style_circles , offset = offset)
p1 = plot(upperBand, "Upper", color=color.teal, offset = offset)
p2 = plot(lowerBand, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=color.teal, transp=95)

plot(myVwap, title="VWAP", color=color.purple)


//pivot points 


// Calc High
high_cur = 0.0
high_cur := is_newbar(pp_res) ? high : max(high_cur[1], high)

phigh = 0.0
phigh := is_newbar(pp_res) ? high_cur[1] : phigh[1]

// Calc Low
low_cur = 0.0
low_cur := is_newbar(pp_res) ? low : min(low_cur[1], low)

plow = 0.0
plow := is_newbar(pp_res) ? low_cur[1] : plow[1]

// Calc Close
pclose = 0.0
pclose := is_newbar(pp_res) ? close[1] : pclose[1]


vPP = (phigh + plow + pclose) / 3

//pivot points


//Entry--
//Echeck how many units can be purchased based on risk manage ment and stop loss
qty1 = (strategy.equity  * riskCapital / 100 ) /  (close*stopLoss/100)  

//check if cash is sufficient  to buy qty1  , if capital not available use the available capital only
qty1:= (qty1 * close >= strategy.equity ) ? (strategy.equity / close) : qty1


strategy.entry(id="BB_VWAP_PP",long=true, qty=qty1, when=   crossover(myVwap,basis)  and close>=vPP  )

bgcolor(strategy.position_size>=1?color.blue:na, transp=75)
barcolor(strategy.position_size>=1?color.green:na)

stopLossVal=  strategy.position_size>=1 ?  close * (1 - (stopLoss*0.01) ) : 0.00

//partial exit
//strategy.close(id="BBofVwap", qty=strategy.position_size/3, when=crossunder(myVwap,upperBand) and strategy.position_size>=1 )  //and close>strategy.position_avg_price)



//exit on lowerband or stoploss 
strategy.close(id="BB_VWAP_PP", comment="P" , qty=strategy.position_size/3, when= crossunder(myVwap,upperBand) and strategy.position_size>=1 and close>strategy.position_avg_price)  //
strategy.close(id="BB_VWAP_PP", comment="Exit All", when=crossunder(myVwap,lowerBand) and strategy.position_size>=1 )
//strategy.close(id="BBofVwapWithFibPivot", comment="Exit All", when=crossunder(close,vPP) and strategy.position_size>=1 )

strategy.close(id="BB_VWAP_PP", comment="Stop Loss Exit", when=crossunder(close,stopLossVal) and strategy.position_size>=1 )