ए.टी.आर. रणनीति का अनुसरण करने वाला रुझान

लेखक:चाओझांग, दिनांक: 2023-09-28 11:32:09
टैगः

अवलोकन

यह रणनीति प्रवृत्ति की दिशा निर्धारित करने के लिए औसत सच्ची सीमा (एटीआर) संकेतक का उपयोग करती है। यह प्रवृत्ति ऊपर जाने पर लंबी जाती है और प्रवृत्ति नीचे जाने पर छोटी जाती है। यह प्रवृत्ति के बाद रणनीति प्रकार से संबंधित है।

रणनीति तर्क

रणनीति पहले मूल्य के सरल चलती औसत (एसएमए) और घातीय चलती औसत (ईएमए) की गणना करती है। फिर यह एटीआर संकेतक की गणना करती है, जो पिछले एन दिनों में मूल्य आंदोलन की औसत सीमा है।

यह रणनीति प्रवृत्ति की दिशा निर्धारित करने के लिए ईएमए औसत रेखा, ऊपरी बैंड (ईएमए + एटीआर * गुणांक) और निचले बैंड (ईएमए - एटीआर * गुणांक) का उपयोग करती है। जब कीमत ऊपरी बैंड से ऊपर टूटती है तो यह लंबी जाती है, और जब कीमत निचले बैंड से नीचे टूटती है तो यह छोटी हो जाती है।

कोड में मुख्य तर्कः

  1. मूल्य एसएमए और ईएमए औसत की गणना करें
  2. एटीआर औसत सीमा की गणना करें
  3. ऊपरी और निचले बैंड की गणना करें
  4. दीर्घ संकेत निर्धारित करेंः ऊपरी बैंड से ऊपर की कीमत टूट जाती है
  5. शॉर्ट सिग्नल का निर्धारण करेंः निम्न बैंड से नीचे की कीमत टूट जाती है
  6. बंद पदों के लिए स्टॉप लॉस सेट करें: लॉन्ग को बंद करने के लिए ऊपरी बैंड से नीचे की कीमत ब्रेक; शॉर्ट्स को बंद करने के लिए निचले बैंड से ऊपर की कीमत ब्रेक।

एटीआर के आधार पर स्थिति को गतिशील रूप से समायोजित करके, यह प्रभावी रूप से प्रवृत्ति दिशाओं का पालन कर सकता है।

लाभ

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

जोखिम

  1. अत्यधिक अस्थिर पार्श्व बाजारों में एटीआर संकेतक विफल हो जाएगा
  2. अनुचित पैरामीटर सेटिंग्स से बहुत अधिक बार व्यापार हो सकता है
  3. अचानक उल्टा होने से स्टॉप लॉस अमान्य हो सकता है
  4. उच्च व्यापार लागतों के लिए ट्रैकिंग सेटिंग्स के लिए समायोजन की आवश्यकता होती है

समाधान:

  1. उच्च अस्थिरता में रणनीति को रोकें या अन्य संकेतकों का उपयोग करें
  2. व्यापारिक आवृत्ति को कम करने के लिए मापदंडों को अनुकूलित करें
  3. प्रमुख डेटा घटनाओं के लिए स्टॉप लॉस अनुपात में वृद्धि
  4. विशिष्ट उत्पादों के आधार पर एटीआर रेंज को समायोजित करें

सुधार की दिशाएँ

  1. मापदंडों को अनुकूलित करने के लिए प्रवृत्ति संकेतकों के साथ संयोजन, उदाहरण के लिए प्रवृत्ति के लिए एमएसीडी जोड़ें
  2. प्रविष्टि के लिए बोलिंगर बैंड जैसे फ़िल्टर जोड़ें
  3. स्टॉप लॉस के तरीकों को अनुकूलित करें, जैसे कि ट्रेलिंग स्टॉप या एक्जिट इंडिकेटर
  4. विशिष्ट उत्पादों के आधार पर एटीआर रेंज का अनुकूलन करें
  5. जोखिम प्रबंधन जोड़ें जैसे कि फिक्स्ड फ्रैक्शनल स्थिति आकार
  6. मशीन लर्निंग का उपयोग करके गतिशील रूप से मापदंडों का अनुकूलन

सारांश

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


/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 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/
// © Investoz

//@version=4
strategy("ATR Strategy FOREX", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(26, type=input.integer, minval=1, title="Length")
mul = input(2.618, type=input.float, minval=0, title="Length")
mullow = input(2.386, type=input.float, minval=0, title="Length")

price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow

bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)

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 = 2008, title = "From Year", minval = 2008)
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 = 2019)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
startTimeOk()  => true

if (startTimeOk()) and ema(close,1) > ema(close,528)
    strategy.entry("KOP", strategy.long, when=bull_cross) 
    strategy.close("KOP", when=bear_cross)  
if (startTimeOk()) and ema(close,1) < ema(close,528)
   strategy.entry("SALJ", strategy.short, when=bear_cross) 
   strategy.close("SALJ", when=bull_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)

अधिक