VWMA और ATR पर आधारित प्रवृत्ति अनुसरण रणनीति


निर्माण तिथि: 2023-11-07 16:39:47 अंत में संशोधित करें: 2023-11-07 16:39:47
कॉपी: 1 क्लिक्स: 716
1
ध्यान केंद्रित करना
1617
समर्थक

VWMA और ATR पर आधारित प्रवृत्ति अनुसरण रणनीति

अवलोकन

यह रणनीति प्रवृत्ति की दिशा का आकलन करने के लिए VWMA सूचक का उपयोग करती है और ATR सूचक का उपयोग करके स्टॉप-लॉस लाइन को ट्रेंड ट्रैकिंग के लिए करती है। यह रणनीति स्पष्ट रूप से प्रवृत्ति वाले बाजार वातावरण के लिए है।

रणनीति सिद्धांत

  1. प्रवृत्ति की दिशा का निर्धारण करने के लिए VWMA सूचक का उपयोग करें। जब कीमत VWMA से अधिक हो तो इसे ऊपर की ओर प्रवृत्ति के रूप में देखें, अधिक करें; जब कीमत VWMA से कम हो तो इसे नीचे की ओर प्रवृत्ति के रूप में देखें, शून्य करें।

  2. झूठी दरारों को फ़िल्टर करने के लिए, आरएसआई ऑस्सिलेटर को शामिल करें। केवल आरएसआई 30 से ऊपर होने पर ही एक बहु-संकेत दिया जाता है।

  3. एटीआर सूचकांक का उपयोग करके स्टॉप-लॉस लाइन की गणना करें। एटीआर लंबाई को वीडब्ल्यूएमए के समान सेट किया गया है और गुणांक 3.5 पर सेट किया गया है। स्टॉप-लॉस लाइन को कीमत के आधार पर वास्तविक समय में अपडेट किया जाएगा।

  4. एटीआर गुणांक की सेटिंग्स स्टॉपलाइन के संकुचन को प्रभावित करती हैं। गुणांक जितना अधिक होगा, स्टॉपलाइन अपडेट की आवृत्ति उतनी कम होगी, और प्रवृत्ति का पालन करना बेहतर होगा।

  5. स्टॉप लॉस प्रतिशत और खाते के हितों के आधार पर स्थिति का आकार।

  6. जब कीमत स्टॉप-लॉस लाइन से नीचे जाती है तो स्टॉप-लॉस से बाहर निकलने के लिए एक स्थिति बनाएं।

रणनीतिक लाभ

  1. VWMA सूचकांक का उपयोग प्रवृत्ति की दिशा का आकलन करने के लिए किया जाता है, जिससे प्रवृत्ति के अवसरों को लगातार पकड़ा जा सकता है।

  2. आरएसआई फ़िल्टर जोड़े गए हैं ताकि कुछ झूठे ब्रेकआउट सिग्नल को फ़िल्टर किया जा सके।

  3. एटीआर स्टॉपआउट ट्रेंड ट्रैकिंग को लागू करता है ताकि इसे उलट न किया जा सके।

  4. खाते के हक-लाभ और स्टॉप लॉस प्रतिशत के आधार पर पोजीशन की गणना करना, जो जोखिम नियंत्रण के लिए फायदेमंद है।

रणनीतिक जोखिम

  1. रुझान के मोड़ पर हानि का जोखिम होता है। स्थिति को उचित रूप से छोटा किया जाना चाहिए, जिससे एकल हानि कम हो सके।

  2. एटीआर पैरामीटर को गलत तरीके से सेट किया गया है, जिससे स्टॉपलाइन अतिसंवेदनशील या धीमी हो जाती है। उपयुक्त पैरामीटर निर्धारित करने के लिए परीक्षण किया जाना चाहिए।

  3. यदि रुझान बहुत तेजी से बदलता है, तो स्टॉप-लॉस लाइन अपडेट समय से पहले नहीं आ सकता है, जिससे नुकसान बढ़ सकता है।

  4. कम अस्थिरता वाले बाजारों में, स्थिति को कम करें और स्टॉप-लॉस लाइन संकुचन की आवृत्ति बढ़ाएं।

अनुकूलन दिशा

  1. विभिन्न VWMA मापदंडों के संयोजनों का परीक्षण किया जा सकता है, सिग्नल उत्पन्न करने के लिए सबसे अच्छा मापदंड चुनें।

  2. आरएसआई ऑस्सिलेटर के अन्य पैरामीटर सेटिंग्स का परीक्षण किया जा सकता है, जैसे कि ओवरबॉट ओवरसोल्ड लाइन।

  3. एटीआर के गुणक मापदंडों का परीक्षण करके, यह पता लगाया जा सकता है कि वापसी और ट्रैकिंग के बीच व्यापार करने के लिए सबसे अच्छा बिंदु कहां है।

  4. सिग्नल की गुणवत्ता को बढ़ाने के लिए अन्य संकेतकों जैसे MACD, KD आदि के साथ संयोजन किया जा सकता है।

  5. बाजार में उतार-चढ़ाव के आधार पर स्थिति प्रबंधन और स्टॉप लॉस प्रतिशत को अनुकूलित किया जा सकता है।

संक्षेप

यह रणनीति समग्र रुझान पक्षपाती है और स्पष्ट मूल्य प्रवृत्तियों को पकड़ने के लिए उपयुक्त है। रणनीति में प्रवृत्ति निर्णय, सिग्नल फ़िल्टरिंग, स्टॉप लॉस ट्रैकिंग आदि के फायदे हैं, लेकिन प्रवृत्ति प्रतिगमन का जोखिम भी है। अनुकूलित पैरामीटर सेटिंग और स्थिति प्रबंधन द्वारा बेहतर रणनीति प्रभाव प्राप्त किया जा सकता है।

रणनीति स्रोत कोड
/*backtest
start: 2023-10-07 00:00:00
end: 2023-10-13 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/
// © mohanee

//@version=4
//strategy("", overlay=true)
strategy(title="VWMA_withATRstops_strategy V2", overlay=true, pyramiding=1,     default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  //default_qty_value=10, default_qty_type=strategy.fixed,

float xATRTrailingStop=na
int pos=na

vwmalength = input(33, title="VWMA Length", minval=1, maxval=365)
//vwmalength2 = input(9, title="VWAM Short Term Length", minval=1, maxval=365)
nATRPeriod = input(33, title="ATR length", minval=1, maxval=365)
nATRMultip = input(3.5, title="ATR Multiplier")

rsiofVwmaLength=input(14, title="RSI of VWMA Length")

riskCapital = input(title="Risk % of capital", defval=10, minval=1)
stopLoss=input(5,title="Stop Loss",minval=1)

vwmaVal=vwma(close, vwmalength)
//vwmaVal2=vwma(close, vwmalength2)
//maVal=sma(close, vwmalength)

plot(vwmaVal, color=color.orange, linewidth=2,  title="VWMA")
//plot(vwmaVal2, color=color.blue, title="VWMA Short Term")
//plot(maVal, color=color.blue, title="MA")

//rsi of vwma Longterm
rsiofVwmaVal=rsi(vwmaVal,rsiofVwmaLength)

xATR = atr(nATRPeriod)
nLoss = nATRMultip * xATR

xATRTrailingStop:= iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss), iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))

pos:=	iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1, 	    iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 

color1 = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 

//plot(xATRTrailingStop, color=color1, title="ATR Trailing Stop")

//Entry--
//Echeck how many units can be purchased based on risk manage ment and stop loss
qty1 = (strategy.equity  * riskCapital / 100 ) /  (close*stopLoss/100)  

//check if cash is sufficient  to buy qty1  , if capital not available use the available capital only
qty1:= (qty1 * close >= strategy.equity ) ? (strategy.equity / close) : qty1


//Long Entry
//strategy.entry(id="VWMA LE", long=true, qty=qty1, when= close >vwmaVal and open>vwmaVal and close>open and close > xATRTrailingStop and xATRTrailingStop>  vwmaVal)

strategy.entry(id="VWMA LE", long=true, qty=qty1, when= rsiofVwmaVal>=30 and  close>open and close>vwmaVal and pos == 1 )    ///pos == 1 means ATRStop line is green    
//vwmaVal2>vwmaVal and

plot(strategy.position_size>=1  ? xATRTrailingStop : na, color=color1, style=plot.style_linebr, title="ATR Trailing Stop")
bgcolor(strategy.position_size>=1 ? color.blue : na )

//Exit
strategy.close(id="VWMA LE",  when= strategy.position_size>=1 and crossunder(close, xATRTrailingStop)  )
//strategy.close(id="VWMA LE",  when= strategy.position_size>=1 and close<vwmaVal and open<vwmaVal and close<open )