یہ حکمت عملی چلتی اوسط ، بولنگر بینڈ اور حجم وزن والی اوسط قیمت (VWAP) کے اشارے کو جوڑتی ہے۔ جب گولڈن کراس بنتا ہے اور تیز رفتار چلتی اوسط سستے سے اوپر ٹوٹ جاتا ہے تو یہ طویل پوزیشنوں میں داخل ہوتا ہے۔ یہ حکمت عملی بولنگر بینڈ چینل کا بھی استعمال کرتی ہے اور صرف اس وقت داخل ہونے پر غور کرتی ہے جب قیمت نیچے والے بینڈ کو چھوتی ہے ، اس طرح مارکیٹ میں اتار چڑھاؤ کے درمیان کثرت سے داخلے اور باہر نکلنے سے گریز ہوتا ہے۔
بنیادی منطق رجحان کی سمت کا تعین کرنے کے لئے حرکت پذیر اوسط اور بولنگر بینڈ پر انحصار کرتی ہے۔ خاص طور پر ، اس میں مندرجہ ذیل اہم قواعد ہیں:
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)