एटीआर और मानक विचलन चैनलों पर आधारित ट्रेंड फॉलोइंग ट्रेडिंग रणनीति


निर्माण तिथि: 2024-01-05 16:34:27 अंत में संशोधित करें: 2024-01-05 16:34:27
कॉपी: 0 क्लिक्स: 931
1
ध्यान केंद्रित करना
1617
समर्थक

एटीआर और मानक विचलन चैनलों पर आधारित ट्रेंड फॉलोइंग ट्रेडिंग रणनीति

अवलोकन

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

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

यह रणनीति एटीआर सूचकांक का उपयोग करती है, जो स्टॉप प्राइस सेट करती है। एटीआर सूचकांक बाजार में उतार-चढ़ाव को दर्शाता है, और स्टॉप दूरी को गतिशील रूप से सेट किया जा सकता है। रणनीति एटीआर मानों की गणना एटीआर चक्र और गुणांक को दर्ज करके करती है, और फिर गुणांक को स्टॉप दूरी के रूप में गुणा करती है। विशेष रूप से, एटीआर स्टॉप लाइन की गणना के लिए सूत्र हैः

ATR线 = 前一日ATR线 ± nLoss(nLoss = nATRMultip * ATR值)

若收盘价 > ATR线,ATR线上调至收盘价 - nLoss 
若收盘价 < ATR线,ATR线下调至收盘价 + nLoss

इस प्रकार, एटीआर लाइनों को गतिशील रूप से कीमतों में उतार-चढ़ाव के अनुसार समायोजित किया जा सकता है, जिससे ट्रेंड ट्रैकिंग स्टॉप लॉस की अनुमति मिलती है।

एटीआर स्टॉप के अलावा, रणनीति स्टैंडर्ड डिफरेंस चैनल का उपयोग करती है जब यह बाजार में प्रवेश करने का समय निर्धारित करती है। स्टैंडर्ड डिफरेंस चैनल की गणना करने के लिए सूत्र हैः

中线 = ATR止损线
上轨 = 中线 + n倍标准差
下轨 = 中线 - n倍标准差  

जब कीमत नीचे से ऊपर की ओर से मध्य रेखा को तोड़ती है, तो अधिक करें; जब कीमत ऊपर से नीचे की ओर से मध्य रेखा को तोड़ती है, तो खाली करें।

रणनीतिक लाभ

इस रणनीति का सबसे बड़ा लाभ यह है कि एटीआर संकेतक का उपयोग एक स्टॉप-लॉस टूल के रूप में किया जाता है, जो स्टॉप-लॉस दूरी को बाजार में उतार-चढ़ाव के आधार पर गतिशील रूप से समायोजित कर सकता है, ट्रेंड-ट्रेकिंग स्टॉप-लॉस प्राप्त कर सकता है, और जोखिम को प्रभावी ढंग से नियंत्रित कर सकता है।

इसके अलावा, स्टैंडर्ड डिफरेंस चैनल के साथ बाजार में प्रवेश के समय को देखते हुए, कीमतों में मामूली उतार-चढ़ाव के कारण बार-बार खोलने से बचा जा सकता है।

जोखिम और समाधान

इस रणनीति का मुख्य जोखिम यह है कि स्टॉप-अफ-अवधि बहुत लंबी होने पर जोखिम को प्रभावी ढंग से नियंत्रित नहीं किया जा सकता है; स्टॉप-अफ-अवधि एक घंटे से अधिक होने पर बाजार के शोर से बाधित होने की संभावना है। इस जोखिम के लिए, एटीआर चक्र और एटीआर गुणांक को अनुकूलित किया जा सकता है ताकि सर्वोत्तम पैरामीटर संयोजन की तलाश की जा सके।

एक अन्य जोखिम यह है कि मानक विचलन चैनल पैरामीटर को गलत तरीके से सेट किया गया है, जिससे स्थिति खोलने की आवृत्ति बहुत अधिक या बहुत कम हो सकती है। पैरामीटर अनुकूलन के माध्यम से इष्टतम पैरामीटर पाया जा सकता है।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. एटीआर चक्र और गुणांक अनुकूलन. इन दो मापदंडों को समायोजित करने से बेहतर स्टॉप लॉस प्रभाव प्राप्त होता है.

  2. मानक विचलन चैनल मापदंडों का अनुकूलन. चैनल मापदंडों का अनुकूलन, बेहतर प्रवेश प्रभाव प्राप्त करना.

  3. अन्य संकेतकों को फ़िल्टर करें। चलती औसत, K-लाइन आकृति जैसे संकेतकों को जोड़ने से प्रवृत्ति की दिशा का आकलन करने में मदद मिलती है, जिससे लाभ की दर बढ़ जाती है।

  4. स्टॉक खोलने और स्टॉक लॉजिक को अनुकूलित करें. स्टॉक खोलने के लिए स्टैंडर्ड डिफरेंस चैनल को छूने के बाद स्टॉक खोलने के लिए स्टॉक की पुष्टि करें।

संक्षेप

इस रणनीति के आधार पर एटीआर सूचक प्रवृत्ति ट्रैकिंग रोक, और मानक विचलन चैनल का उपयोग करने के लिए बाजार में जाने के समय का आकलन. रणनीति का लाभ यह है कि रोक जोखिम नियंत्रण प्रभाव अच्छा है, प्रवृत्ति व्यापार के लिए उपयुक्त है. जोखिम और अनुकूलन दिशा भी स्पष्ट रूप से विश्लेषण किया गया है. रणनीति आगे परीक्षण और अनुकूलन के लायक है, वास्तविक व्यापार मूल्य है.

रणनीति स्रोत कोड
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
strategy(title="Average True Range Strategy", overlay = true)
nATRPeriod = input(11) //Hur många perioder ATR är på
nATRMultip = input(0.5) //Hur många gånger nuvarande ATR multipliceras med
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))) 

stdev3 = 14*stdev(xATR, nATRPeriod)
band1 = xATRTrailingStop+stdev3 //Översta stdev bandet
band2 = xATRTrailingStop-stdev3 //Nedersta stdev bandet


// Datum och tid
FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2013, title = "From Year", minval = 2013)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start 
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest slut
startTimeOk()  => true
initial_capital = 100000

take = close > xATRTrailingStop

if( startTimeOk() ) and (pos == 1)
//if (pos == 1) 
    strategy.entry("Long", strategy.long, comment = "KOP")
    strategy.exit("Long", when = take)
   
if( startTimeOk() ) and (pos == -1)
//if (pos == -1)
    strategy.entry("Short", strategy.short, comment = "SALJ")
   
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(xATRTrailingStop, color=red, title="ATR Trailing Stop") //Mittersta linjen som är triggerlinjen för köp/sälj
plot(band1, color=red)
plot(band2, color=blue)