मानक विचलन चैनल पर आधारित रणनीति के बाद एटीआर रुझान

लेखक:चाओझांग, दिनांकः 2024-01-05 16:34:27
टैगः

img

अवलोकन

ATR ट्रेंड फॉलोइंग स्ट्रैटेजी नाम की यह रणनीति स्टॉप लॉस और एंट्री सिग्नल के लिए मानक विचलन चैनल के लिए Average True Range (ATR) पर आधारित ट्रेडिंग रणनीति है। यह इंडेक्स, फॉरेक्स और कमोडिटी जैसे स्पष्ट रुझानों वाले वित्तीय उत्पादों के लिए उपयुक्त है।

व्यापारिक तर्क

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

ATR Line = Prior ATR Line ± nLoss (nLoss = nATRMultip * ATR value)  

If close > ATR Line, adjust ATR Line up to close - nLoss
If close < ATR Line, adjust ATR Line down to close + nLoss

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

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

Middle Line = ATR Trailing Stop Line   
Upper Band = Middle Line + n * Standard Deviation
Lower Band = Middle Line - n * Standard Deviation

जब कीमत मध्य रेखा को तोड़ती है तो ऊपर की ओर लंबी हो जाती है। जब कीमत मध्य रेखा को तोड़ती है तो नीचे की ओर छोटी हो जाती है।

लाभ

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

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

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

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

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

बढ़ोतरी के अवसर

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

  1. बेहतर स्टॉप लॉस प्रभाव प्राप्त करने के लिए एटीआर अवधि और गुणक को अनुकूलित करें।

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

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

  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)



अधिक