یہ حکمت عملی قیمت کی ATR اتار چڑھاؤ کا حساب لگاتی ہے اور اسٹاک ٹرینڈ ٹریڈنگ کے لئے طویل اندراج اور باہر نکلنے کی شرائط مقرر کرنے کے لئے مختلف مدت VWAP کو یکجا کرتی ہے۔
یہ حکمت عملی بنیادی طور پر اسٹاک کی مصنوعات کے رجحان کی نگرانی کے لئے استعمال ہوتی ہے۔ اے ٹی آر اتار چڑھاؤ کا حساب کتاب کرکے اور مختلف ادوار کی وی ڈبلیو اے پی قیمتوں کو جوڑ کر ، یہ رجحانات کا فیصلہ کرنے اور ان کا سراغ لگانے کے لئے خرید و فروخت کی شرائط طے کرتا ہے۔ یہ حکمت عملی طویل مدتی اور قلیل مدتی کے درمیان سوئچ کرنے کے لئے کافی لچکدار ہے ، جو درمیانی اور طویل مدتی رجحانات کو پکڑنے کے لئے موزوں ہے۔
حکمت عملی قیمت کی اتار چڑھاؤ کا حساب لگانے کے لئے اے ٹی آر اشارے کا استعمال کرتی ہے اور اس بات کی بنیاد پر رجحان کی سمت کا فیصلہ کرتی ہے کہ آیا قیمت اتار چڑھاؤ چینل سے گزرتی ہے۔ اسی وقت ، یہ طویل مدتی اور قلیل مدتی رجحانات کی مستقل مزاجی کا تعین کرنے کے لئے مختلف سائیکلوں کی وی ڈبلیو اے پی قیمتوں کو متعارف کراتی ہے۔ مخصوص منطق مندرجہ ذیل ہے:
مندرجہ بالا حکمت عملی کا بنیادی منطق ہے۔ اے ٹی آر اتار چڑھاؤ قلیل مدتی رجحان کا فیصلہ کرتا ہے اور وی ڈبلیو اے پی کی قیمت طویل مدتی رجحان کا فیصلہ کرتی ہے۔ دونوں رجحان کی مستقل مزاجی کا تعین کرنے اور اس طرح تجارتی سگنل پیدا کرنے کے لئے مل کر کام کرتے ہیں۔
اس حکمت عملی میں اے ٹی آر اتار چڑھاؤ اور وی ڈبلیو اے پی کی دوہری تصدیق کے ذریعے اسٹاک ٹرینڈ ٹریکنگ کا احساس ہوتا ہے۔ پیرامیٹرز کو ایڈجسٹ کرکے یا دیگر تکنیکی اشارے شامل کرکے اصلاح کے لئے کافی گنجائش ہے۔ مجموعی طور پر ، حکمت عملی کا منطق درمیانے اور طویل مدتی رجحانات کو ٹریک کرنے کے لئے واضح اور مضبوط ہے۔
/*backtest start: 2023-12-17 00:00:00 end: 2024-01-16 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/ // © exlux99 //@version=4 strategy(title="VWAP MTF STOCK STRATEGY", overlay=true ) // high^2 / 2 - low^2 -2 h=pow(high,2) / 2 l=pow(low,2) / 2 o=pow(open,2) /2 c=pow(close,2) /2 x=(h+l+o+c) / 4 y= sqrt(x) source = y useTrueRange = false length = input(27, minval=1) mult = input(0, step=0.1) ma = sma(source, length) range = useTrueRange ? tr : high - low rangema = sma(range, length) upper = ma + rangema * mult lower = ma - rangema * mult crossUpper = crossover(source, upper) crossLower = crossunder(source, lower) bprice = 0.0 bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1]) sprice = 0.0 sprice := crossLower ? low -syminfo.mintick : nz(sprice[1]) crossBcond = false crossBcond := crossUpper ? true : na(crossBcond[1]) ? false : crossBcond[1] crossScond = false crossScond := crossLower ? true : na(crossScond[1]) ? false : crossScond[1] cancelBcond = crossBcond and (source < ma or high >= bprice ) cancelScond = crossScond and (source > ma or low <= sprice ) longOnly = true fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2000, title = "From Year", minval = 1970) //monday and session // To Date Inputs toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2021, title = "To Year", minval = 1970) startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true srcX = input(ohlc4) t = time("W") start = na(t[1]) or t > t[1] sumSrc = srcX * volume sumVol = volume sumSrc := start ? sumSrc : sumSrc + sumSrc[1] sumVol := start ? sumVol : sumVol + sumVol[1] vwapW= sumSrc / sumVol //crossUpper = crossover(source, upper) //crossLower = crossunder(source, lower) shortCondition = close < vwap and time_cond and (close < vwapW) longCondition = close > vwap and time_cond and (close > vwapW) if(longOnly and time_cond) if (crossLower and close < vwapW ) strategy.close("long") if (crossUpper and close>vwapW) strategy.entry("long", strategy.long, stop=bprice)