डबल मूविंग एवरेज एडीएक्स टाइमिंग रणनीति 2/20 मूविंग एवरेज और एडीएक्सआर संकेतक को संयोजित करके रुझानों की पहचान करती है ताकि रुझानों की शुरुआत में ट्रेडिंग सिग्नल उत्पन्न किए जा सकें। यह पहले मूल्य प्रवृत्ति की दिशा निर्धारित करने के लिए 2/20 घातीय मूविंग एवरेज का उपयोग करता है, फिर एडीएक्सआर संकेतक के साथ संयोजन में प्रवृत्ति संकेत की पुष्टि करता है, इस प्रकार अधिक विश्वसनीय ट्रेडिंग सिग्नल का उत्पादन करता है।
दोहरी चलती औसत ADX समयबद्धता रणनीति का मूल तर्क निम्नलिखित मुख्य घटकों पर आधारित है:
2/20 घातीय चलती औसत (ईएमए)
ADXR सूचक
व्यापार संकेत
इस रणनीति का मुख्य नवाचार प्रारंभिक चरण में रुझानों की पहचान करने के लिए ADXR संकेतक का उपयोग करना और गुणवत्ता और स्थिरता में सुधार के लिए पारंपरिक चलती औसत संकेतों के साथ इसका संयोजन करना है।
दोहरी चलती औसत एडीएक्स समय की रणनीति के मुख्य लाभः
इस रणनीति के लिए कई मुख्य जोखिम भी हैंः
ADXR पैरामीटर की अनुचित सेटिंग से ट्रेडों में कमी आ सकती है।
विशेष बाजार स्थितियों में अधिक झूठे संकेत हो सकते हैं।
स्थिर ईएमए पैरामीटर बाजार परिवर्तनों के अनुकूल नहीं होते हैं।
ट्रेडिंग रेंज की पहचान करने में असमर्थता, अत्यधिक महत्वहीन ट्रेड उत्पन्न कर सकती है।
इस रणनीति को निम्नलिखित पहलुओं से और अनुकूलित और बढ़ाया जा सकता हैः
बाजार स्थितियों के लिए स्वचालित अनुकूलन के लिए ईएमए पैरामीटर अनुकूलन।
अधिक प्रभावी ट्रेडिंग संकेतों को पकड़ने के लिए ADXR पैरामीटर रेंज का विस्तार करें।
गुणवत्ता में सुधार के लिए संयोजन संकेतों के लिए अतिरिक्त प्रवृत्ति निर्णय संकेतक जोड़ें।
स्टॉप लॉस रणनीतियों को जोड़ें और प्रति व्यापार जोखिमों को नियंत्रित करने के लिए लाभ मानकों को लें।
खाता स्थिति के आधार पर गतिशील स्थिति आकार के लिए धन प्रबंधन का अनुकूलन करें।
ड्यूल मूविंग एवरेज एडीएक्स टाइमिंग रणनीति सिग्नल की गुणवत्ता में सुधार और स्थिरता बढ़ाने के लिए पारंपरिक ड्यूल मूविंग एवरेज और एडीएक्सआर संकेतक को अभिनव रूप से जोड़ती है। यह सभ्य ऐतिहासिक प्रदर्शन के साथ रुझानों के प्रारंभिक चरण की प्रभावी ढंग से पहचान कर सकती है। अधिक जटिल बाजारों में इसे मजबूत और लाभदायक बनाने के लिए रणनीति में अनुकूलन के लिए पर्याप्त जगह है।
/*backtest start: 2023-11-05 00:00:00 end: 2023-12-05 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 04/04/2022 // This is combo strategies for get a cumulative signal. // // First strategy // This indicator plots 2/20 exponential moving average. For the Mov // Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met. // // Second strategy // The Average Directional Movement Index Rating (ADXR) measures the strength // of the Average Directional Movement Index (ADX). It's calculated by taking // the average of the current ADX and the ADX from one time period before // (time periods can vary, but the most typical period used is 14 days). // Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening // and weakening trends. However, because it represents an average of ADX, values // don't fluctuate as dramatically and some analysts believe the indicator helps // better display trends in volatile markets. // // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// EMA20(Length) => pos = 0.0 xPrice = close xXA = ta.ema(xPrice, Length) nHH = math.max(high, high[1]) nLL = math.min(low, low[1]) nXS = nLL > xXA or nHH < xXA ? nLL : nHH iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0) pos := nXS > close[1] ? -1 : iff_1 pos fADX(Len) => up = ta.change(high) down = -ta.change(low) trur = ta.rma(ta.tr, Len) plus = fixnan(100 * ta.rma(up > down and up > 0 ? up : 0, Len) / trur) minus = fixnan(100 * ta.rma(down > up and down > 0 ? down : 0, Len) / trur) sum = plus + minus 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), Len) ADXR(LengthADX,LengthADXR,Signal1,Signal2) => pos = 0.0 xADX = fADX(LengthADX) xADXR = (xADX + xADX[LengthADXR]) / 2 pos := xADXR < Signal1 ? 1 : xADXR > Signal2 ? -1 : nz(pos[1], 0) pos strategy(title='Combo 2/20 EMA & ADXR', shorttitle='Combo', overlay=true) var I1 = '●═════ 2/20 EMA ═════●' Length = input.int(14, minval=1, group=I1) var I2 = '●═════ ADXR ═════●' LengthADX = input(title="Length ADX", defval=14) LengthADXR = input(title="Length ADXR", defval=14) Signal1 = input.float(13, step=0.01) Signal2 = input.float(45, step=0.01) var misc = '●═════ MISC ═════●' reverse = input.bool(false, title='Trade reverse', group=misc) var timePeriodHeader = '●═════ Time Start ═════●' d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader) m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader) y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader) StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false posEMA20 = EMA20(Length) prePosADXR = ADXR(LengthADX,LengthADXR,Signal1,Signal2) iff_1 = posEMA20 == -1 and prePosADXR == -1 and StartTrade ? -1 : 0 pos = posEMA20 == 1 and prePosADXR == 1 and StartTrade ? 1 : iff_1 iff_2 = reverse and pos == -1 ? 1 : pos possig = reverse and pos == 1 ? -1 : iff_2 if possig == 1 strategy.entry('Long', strategy.long) if possig == -1 strategy.entry('Short', strategy.short) if possig == 0 strategy.close_all() barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)