
इस रणनीति में कीमतों के एटीआर उतार-चढ़ाव की गणना, विभिन्न चक्रों के वीडब्ल्यूएपी औसत मूल्य के साथ, लंबी स्थिति में प्रवेश और बाहर निकलने की शर्तों को निर्धारित करने और शेयरों के रुझानों का पालन करने के लिए ट्रेडों को पूरा किया गया है।
यह रणनीति मुख्य रूप से स्टॉक जैसे उत्पादों के लिए प्रवृत्ति का पालन करने के लिए लागू होती है, एटीआर की अस्थिरता की गणना करके और विभिन्न चक्रों के वीडब्लूएपी मूल्य के संयोजन के साथ, खरीदने और बेचने की शर्तों को निर्धारित करने के लिए, प्रवृत्ति के निर्णय और ट्रैकिंग को लागू करने के लिए। रणनीति अधिक लचीली है, लंबी और छोटी रेखाओं के बीच स्विच करने के लिए उपयुक्त है।
रणनीति एटीआर संकेतक का उपयोग करके मूल्य उतार-चढ़ाव की गणना करती है, और यह निर्धारित करती है कि क्या कीमत ने उतार-चढ़ाव के चैनल को तोड़ दिया है। साथ ही साथ विभिन्न चक्रों के वीडब्ल्यूएपी मूल्य निर्धारित करते हैं कि लंबी और छोटी लाइनें प्रवृत्ति की स्थिरता हैं। विशिष्ट तर्क इस प्रकार हैः
यह रणनीति का मुख्य तर्क है। एटीआर की अस्थिरता अल्पकालिक रुझानों को निर्धारित करती है, और वीडब्ल्यूएपी की कीमतें दीर्घकालिक रुझानों को निर्धारित करती हैं, जो एक ट्रेडिंग सिग्नल उत्पन्न करने के लिए प्रवृत्ति की एकरूपता को निर्धारित करती हैं।
यह रणनीति एटीआर उतार-चढ़ाव और वीडब्लूएपी दोहरे निर्णय के माध्यम से स्टॉक की प्रवृत्ति पर नज़र रखने के लिए है। रणनीति अनुकूलन के लिए एक बड़ा स्थान है, पैरामीटर को समायोजित करने या अन्य तकनीकी संकेतक अनुकूलन संकेतों को जोड़ने के लिए। कुल मिलाकर, रणनीति तर्क स्पष्ट और समझने में आसान है, प्रदर्शन में स्थिर है, मध्यम और लंबी रेखा प्रवृत्ति को ट्रैक करने के लिए उपयुक्त है।
/*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)