यह रणनीति अंतिम उच्चतम मूल्य (lastbull) और अंतिम निम्नतम मूल्य (lastbear) की गणना करती है। फिर यह वर्तमान मूल्य की तुलना lastbull और lastbear के साथ यह निर्धारित करने के लिए करती है कि क्या मूल्य एक निश्चित सीमा में प्रवेश कर गया है और इस प्रकार ट्रेडिंग संकेत उत्पन्न करता है। यह तब लंबा हो जाता है जब कीमत एक निश्चित प्रतिशत से lastbull से ऊपर बढ़ जाती है, और कम हो जाती है जब कीमत एक निश्चित प्रतिशत से lastbear से नीचे गिर जाती है।
यह रणनीति पहले अंतिम उच्चतम मूल्य lastbull और अंतिम निम्नतम मूल्य lastbear की गणना करती है। फिर यह वर्तमान मूल्य के प्रति lastbull और lastbear के सापेक्ष परिवर्तन प्रतिशत ddl की गणना करती है।
जब ddl कॉन्फ़िगर किए गए लंबे सिग्नल की सीमा से कम होता है, तो एक लंबा सिग्नल उत्पन्न होता है। जब dds कॉन्फ़िगर किए गए छोटे सिग्नल की सीमा से अधिक होता है, तो एक छोटा सिग्नल dn उत्पन्न होता है।
लॉन्ग सिग्नल प्राप्त करने पर, यह लॉन्ग पोजीशन खोलता है यदि needlong पैरामीटर सही है। शॉर्ट सिग्नल प्राप्त करने पर, यह शॉर्ट पोजीशन खोलता है यदि needshort पैरामीटर सही है। पोजीशन आकार पूंजी की गणना खाता इक्विटी से की जाती है।
यह लॉन्ग पोजीशन तब बंद करता है जब लॉन्ग खोलने के बाद कीमत बढ़ जाती है, और शॉर्ट पोजीशन तब बंद करता है जब शॉर्ट खोलने के बाद कीमत गिर जाती है।
यह रणनीति रुझान और रेंज विश्लेषण को जोड़ती है। यह रुझानों को पकड़ सकती है और रेंज ब्रेकआउट से ट्रेडिंग सिग्नल उत्पन्न कर सकती है। सरल रुझान ट्रैकिंग रणनीतियों की तुलना में, यह रेंज ब्रेकआउट के बाद जल्दी से नई रुझान दिशा पकड़ सकती है।
पैरामीटर विभिन्न उत्पादों के लिए अत्यधिक विन्यस्त हैं। महत्वपूर्ण घटनाओं से बचने के लिए व्यापार समय सीमा को विन्यस्त किया जा सकता है।
इस रणनीति में प्रति व्यापार हानि को सीमित करने के लिए कोई स्टॉप लॉस तंत्र नहीं है। जब ट्रेडिंग रेंज बड़ी होती है तो मूल्य में उतार-चढ़ाव से स्थिति का आकार काफी प्रभावित हो सकता है।
प्रति व्यापार हानि को सीमित करने के लिए स्टॉप लॉस जोड़ा जा सकता है। स्थिति आकार को स्थिर करने के लिए उत्पादों के आधार पर स्थिति आकार एल्गोरिथ्म को अनुकूलित किया जा सकता है।
यह रणनीति ट्रेडिंग सिग्नल उत्पन्न करने के लिए रुझान विश्लेषण और रेंज ब्रेकआउट को जोड़ती है, जो नए रुझानों को पकड़ सकती है और रेंज लिंक्ड विशेषताओं का लाभ उठा सकती है। पैरामीटर विभिन्न उत्पादों के लिए अत्यधिक कॉन्फ़िगर करने योग्य हैं। अधिक जटिल बाजार वातावरण को अनुकूलित करने के लिए अनुकूलन के लिए बड़ा स्थान है।
/*backtest start: 2023-01-25 00:00:00 end: 2024-01-31 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2019 //@version=4 strategy(title = "Noro's DDL Strategy", shorttitle = "DDL str", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3) //Settings needlong = input(true, title = "Long") needshort = input(true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot") signalshort = input(3.0, title = "Short, %") signallong = input(-3.0, title = "Long, %") 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") //Levels bull = close > close[1] ? 1 : 0 bear = close < close[1] ? 1 : 0 lastbull = 0.0 lastbull := bull ? close : lastbull[1] lastbear = 0.0 lastbear := bear ? close : lastbear[1] //Signals ddl = ((close / lastbull) - 1) * 100 up = ddl < signallong dds = ((close / lastbear) - 1) * 100 dn = dds > signalshort //Lines plot(dds, style = plot.style_area, color = color.red, transp = 0) plot(ddl, style = plot.style_area, color = color.lime, transp = 0) plot(0, color = color.black, linewidth = 2, transp = 0) //Background col = (up and needlong) or (dn and needshort) ? color.yellow : na bgcolor(col, transp = 20) //Orders lot = 0.0 lot := strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1] truetime = true if up strategy.entry("Long", strategy.long, lot, when = needlong and truetime) if dn strategy.entry("Short", strategy.short, lot, when = needshort and truetime) if strategy.position_size > 0 and close > open strategy.entry("Close", strategy.short, 0) if strategy.position_size < 0 and close < open strategy.entry("Close", strategy.long, 0)