
यह रणनीति एटीआर सूचक पर आधारित एक प्रवृत्ति तोड़ने की रणनीति है। इसका मुख्य विचार यह है कि जब कीमतें एटीआर के एक निश्चित गुणांक से अधिक हो जाती हैं, तो प्रवृत्ति तोड़ने का संचालन किया जाता है। रणनीति में प्रवृत्ति की पुष्टि और डेट रेंज का उपयोग करके व्यापार को सीमित करने की सुविधा भी शामिल है।
रणनीति एटीआर सूचकांक का उपयोग करके मूल्य उतार-चढ़ाव की सीमा को निर्धारित करती है। एटीआर औसत वास्तविक लहर को दर्शाता है, जो एक निश्चित समय अवधि के दौरान औसत मूल्य उतार-चढ़ाव की सीमा को मापता है। रणनीति में एटीआर चक्र की गणना करने के लिए लंबाई पैरामीटर सेट किया गया है, और एटीआर की संख्या के लिए एटीआर पैरामीटर को तोड़ने के लिए एटीआर गुणांक कहा जाता है।
जब कीमतें ऊपर की संख्या ATRs गुना ATR को पार करती हैं, तो अधिक ऑपरेशन करें; जब कीमतें नीचे की संख्या ATRs गुना ATR को पार करती हैं, तो शून्य ऑपरेशन करें।
इसके अलावा, रणनीति में BOOL चर जोड़े गए हैं जिन्हें लंबी स्थिति की आवश्यकता होती है और जिन्हें कम करने की आवश्यकता होती है, जिन्हें केवल अधिक या केवल कम करने के लिए नियंत्रित किया जा सकता है। रणनीति में एक दिनांक सीमा भी है, जो केवल निर्दिष्ट तिथियों के बीच व्यापार करती है, जिससे समय सीमा की सीमा प्राप्त होती है।
रणनीति आकार चर का उपयोग करके स्थिति को निर्धारित करती है, स्थिति की स्थिति के आधार पर एकल हाथों की गणना करती है। हाथों की गणना खाते के हितों के प्रतिशत के अनुसार की जाती है।
इस रणनीति की समग्र सोच स्पष्ट और समझने में आसान है, एटीआर संकेतक का उपयोग बाजार की अस्थिरता के लिए स्वचालित रूप से अनुकूलित करने के लिए, एक सामान्य प्रवृत्ति ट्रैकिंग रणनीति है। पैरामीटर अनुकूलन और अन्य रणनीतियों के संयोजन के माध्यम से, रणनीति के प्रदर्शन और स्थिरता में और सुधार किया जा सकता है। हालांकि, एक एकल राशि के नुकसान को रोकने के लिए सावधानी बरतने की आवश्यकता है, और बाजार की स्थिति में भारी बदलाव के दौरान नुकसान की कमी की समस्या पर ध्यान दें।
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Noro's Volty Strategy v1.0", shorttitle = "Volty 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 100)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
length = input(5)
numATRs = input(0.75)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Indicator
atrs = sma(tr, length) * numATRs
//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if (not na(close[length])) and needlong
strategy.entry("L", strategy.long, lot, stop = close + atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if (not na(close[length])) and needlong == false
strategy.entry("L", strategy.long, 0, stop = close + atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if (not na(close[length])) and needshort
strategy.entry("S", strategy.short, lot, stop = close - atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if (not na(close[length])) and needshort == false
strategy.entry("S", strategy.short, 0, stop = close - atrs, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))