
اس حکمت عملی میں چلتی اوسط اشارے ، بلین بینڈ اشارے اور حجم سے بھاری اوسط قیمت اشارے کا امتزاج کیا گیا ہے ، جس میں گولڈ فورک کی تشکیل اور لمبی اوسط لائن کو مختصر اوسط لائن پر عبور کرنے کی شرائط پر فیصلہ کیا گیا ہے۔ حکمت عملی بلین بینڈ چینل کا بھی استعمال کرتی ہے ، اور صرف اس وقت داخل ہونے پر غور کرتی ہے جب قیمت بلین بینڈ کے نیچے سے ٹکرا جاتی ہے ، تاکہ مارکیٹ میں اتار چڑھاؤ کے دوران بار بار داخل ہونے سے بچا جاسکے۔
یہ حکمت عملی بنیادی طور پر اوسط لائن کے اشارے کے ذریعہ رجحان کی سمت کا تعین کرتی ہے ، اور بولین کے استعمال سے پوزیشننگ اتار چڑھاؤ کی حد میں خرید کا انتخاب کرتی ہے۔ خاص طور پر ، اس حکمت عملی میں درج ذیل کلیدی قواعد شامل ہیں:
50 دن کے ای ایم اے اور 200 دن کے ای ایم اے کا استعمال کرتے ہوئے سنہری فورک فیصلے کا نظام بنانا ، جب تیزی سے چلنے والی اوسط پر آہستہ آہستہ چلنے والی اوسط کو عبور کیا جائے تو یہ سمجھا جاتا ہے کہ یہ ایک بالائی رجحان میں ہے۔
جب قیمت وی ڈبلیو اے پی سے زیادہ ہوتی ہے تو ، یہ سمجھا جاتا ہے کہ قیمتوں میں اضافے کے مرحلے میں ، زیادہ ذخیرہ کرنے کے لئے فائدہ مند ہے۔
جب قیمتوں نے ابھی تک برن کے نیچے کی ٹریک کو چھوا یا توڑ دیا ہے تو ، اس سے ظاہر ہوتا ہے کہ اسٹاک کی قیمتیں ممکنہ طور پر ایک اچھال کے مقام کے قریب ہیں ، جس کا امکان بہتر ہے۔
کثیر ہولڈر پوزیشنوں میں داخل ہونے کے بعد ، قیمتوں میں برن سے زیادہ ریل پر آنے پر بروقت اسٹاپ آؤٹ ہوجاتا ہے۔
ان اصولوں کے مجموعہ کے ذریعے ، یہ حکمت عملی بیل مارکیٹ کے حالات میں ، مناسب خرید خرید خرید کا انتخاب کرنے کے قابل بناتی ہے ، اور اس کی روک تھام کو روکنے کی روک تھام کو یقینی بناتی ہے تاکہ اس سے فائدہ اٹھایا جاسکے۔
گولڈ فورک کے فیصلے کے نظام کا استعمال کرتے ہوئے ، بڑے رجحانات کی سمت کا تعین کریں ، اور زلزلے کے حالات میں چھوٹے جیت اور نقصان سے بچیں۔
VWAP اشارے قیمتوں کے اتار چڑھاو کی سمت کا اندازہ لگانے کے لئے استعمال کیا جاتا ہے ، جس سے خریداری کے مقامات کا انتخاب زیادہ درست ہوتا ہے۔
برین بینڈ اشارے خریدنے کے نقطہ نظر کا تعین کرتے ہیں تاکہ حکمت عملی کو زیادہ لچکدار بنایا جاسکے ، جبکہ منافع کو مقفل کرنے کے لئے اسٹاپ نقصان کی روک تھام کا تعین کیا جائے۔
اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس کی حکمت عملی کو درست اور قابل اعتماد بنانے کے لئے متعدد اشارے ایک دوسرے کی توثیق کرتے ہیں۔
گولڈ فورک فیصلہ کرنے کے نظام میں ممکنہ طور پر جھوٹے سگنل جاری کیے جائیں۔ اس کے لئے اوسط لائن کی مدت کو مناسب طور پر کم کیا جائے اور دیگر اشارے کی تصدیق کے ساتھ کام کیا جائے۔
برن بینڈ پیرامیٹرز کی غلط ترتیب بھی حکمت عملی کو غیر موثر بنا سکتی ہے۔ برن بینڈ کی مدت اور معیاری انحراف پیرامیٹرز کو ایڈجسٹ کیا جانا چاہئے۔
اسٹاپ نقصان کی ترتیب بہت زیادہ نرمی ہے اور نقصان کو مؤثر طریقے سے کنٹرول نہیں کیا جاسکتا ہے۔ اسٹاپ نقصان کی حد کو مناسب طریقے سے سخت کرنا چاہئے تاکہ یہ یقینی بنایا جاسکے کہ خطرہ قابو میں ہے۔
گولڈ فورک مساوی لائن مجموعہ کو بہتر بنائیں ، مختلف مساوی لائن پیرامیٹرز کی جانچ کریں ، بہترین پیرامیٹرز تلاش کریں۔
مختلف دورانیے کے برن بینڈ پیرامیٹرز کی جانچ کرنا تاکہ طول و عرض اور آئسولیشن کے لئے بہترین پیرامیٹرز کا مجموعہ تلاش کیا جاسکے۔
خطرے کو مؤثر طریقے سے کنٹرول کرنے کے لئے لیکن اس کے نتیجے میں بہت زیادہ متحرک نہیں ہونے کے لئے نقصان کی حد کی جانچ اور اصلاح کریں.
اس حکمت عملی میں ایک ہی لائن سسٹم ، برین بینڈ اور وی ڈبلیو اے پی کے اشارے کا استعمال کیا گیا ہے تاکہ مارکیٹ میں داخلے کے وقت کا تعین کیا جاسکے۔ اس نے دریافت کے مواقع اور کنٹرول کے خطرات کے مابین توازن پیدا کیا ہے۔ اس کے نتیجے میں پیرامیٹرز کی اصلاح اور قواعد میں ترمیم کے ذریعے ، صنعت اور مارکیٹ میں مستقل مواقع کو لاک کرنے کی امید ہے۔
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
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/
// © mohanee
//@version=4
strategy(title="VWAP and BB strategy [$$]", overlay=true,pyramiding=2, default_qty_value=1, default_qty_type=strategy.fixed, initial_capital=10000, currency=currency.USD)
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 6, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2020, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 8, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
DST = 1 //day light saving for usa
//--- Europe
London = iff(DST==0,"0000-0900","0100-1000")
//--- America
NewYork = iff(DST==0,"0400-1300","0500-1400")
//--- Pacific
Sydney = iff(DST==0,"1300-2200","1400-2300")
//--- Asia
Tokyo = iff(DST==0,"1500-2400","1600-0100")
//-- Time In Range
timeinrange(res, sess) => time(res, sess) != 0
london = timeinrange(timeframe.period, London)
newyork = timeinrange(timeframe.period, NewYork)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = time >= startDate and time <= finishDate
is_price_dipped_bb(pds,source1) =>
t_bbDipped=false
for i=1 to pds
t_bbDipped:= (t_bbDipped or close[i]<source1) ? true : false
if t_bbDipped==true
break
else
continue
t_bbDipped
is_bb_per_dipped(pds,bbrSrc) =>
t_bbDipped=false
for i=1 to pds
t_bbDipped:= (t_bbDipped or bbrSrc[i]<=0) ? true : false
if t_bbDipped==true
break
else
continue
t_bbDipped
// variables BEGIN
shortEMA = input(50, title="fast EMA", minval=1)
longEMA = input(200, title="slow EMA", minval=1)
//BB
smaLength = input(7, title="BB SMA Length", minval=1)
bbsrc = input(close, title="BB Source")
strategyCalcOption = input(title="strategy to use", type=input.string, options=["BB", "BB_percentageB"], defval="BB")
//addOnDivergence = input(true,title="Add to existing on Divergence")
//exitOption = input(title="exit on RSI or BB", type=input.string, options=["RSI", "BB"], defval="BB")
//bbSource = input(title="BB source", type=input.string, options=["close", "vwap"], defval="close")
//vwap_res = input(title="VWAP Resolution", type=input.resolution, defval="session")
stopLoss = input(title="Stop Loss%", defval=1, minval=1)
//variables END
longEMAval= ema(close, longEMA)
shortEMAval= ema(close, shortEMA)
ema200val = ema(close, 200)
vwapVal=vwap(close)
// Drawings
//plot emas
plot(shortEMAval, color = color.green, linewidth = 1, transp=0)
plot(longEMAval, color = color.orange, linewidth = 1, transp=0)
plot(ema200val, color = color.purple, linewidth = 2, style=plot.style_line ,transp=0)
//bollinger calculation
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(bbsrc, smaLength)
dev = mult * stdev(bbsrc, smaLength)
upperBand = basis + dev
lowerBand = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
bbr = (bbsrc - lowerBand)/(upperBand - lowerBand)
//bollinger calculation
//plot bb
//plot(basis, "Basis", color=#872323, 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=#198787, transp=95)
plot(vwapVal, color = color.purple, linewidth = 2, transp=0)
// Colour background
//barcolor(shortEMAval>longEMAval and close<=lowerBand ? color.yellow: na)
//longCondition= shortEMAval > longEMAval and close>open and close>vwapVal
longCondition= ( shortEMAval > longEMAval and close>open and close>vwapVal and close<upperBand ) //and time_cond // and close>=vwapVal
//Entry
strategy.entry(id="long", comment="VB LE" , long=true, when= longCondition and ( strategyCalcOption=="BB"? is_price_dipped_bb(10,lowerBand) : is_bb_per_dipped(10,bbr) ) and strategy.position_size<1 ) //is_price_dipped_bb(10,lowerBand)) //and strategy.position_size<1 is_bb_per_dipped(15,bbr)
//add to the existing position
strategy.entry(id="long", comment="Add" , long=true, when=strategy.position_size>=1 and close<strategy.position_avg_price and close>vwapVal) //and time_cond)
barcolor(strategy.position_size>=1 ? color.blue: na)
strategy.close(id="long", comment="TP Exit", when=crossover(close,upperBand) )
//stoploss
stopLossVal = strategy.position_avg_price * (1-(stopLoss*0.01) )
//strategy.close(id="long", comment="SL Exit", when= close < stopLossVal)
//strategy.risk.max_intraday_loss(stopLoss, strategy.percent_of_equity)