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