औसत दिशात्मक सूचकांक फ़िल्टर के आधार पर मूविंग एवरेज अस्वीकृति रणनीति

ADX MA WMA
निर्माण तिथि: 2024-05-17 10:35:58 अंत में संशोधित करें: 2024-05-17 10:35:58
कॉपी: 1 क्लिक्स: 644
1
ध्यान केंद्रित करना
1617
समर्थक

औसत दिशात्मक सूचकांक फ़िल्टर के आधार पर मूविंग एवरेज अस्वीकृति रणनीति

अवलोकन

इस रणनीति में कई चलती औसत ((MA) को मुख्य ट्रेडिंग सिग्नल के रूप में और औसत दिशा सूचकांक ((ADX) को फ़िल्टर के रूप में उपयोग किया जाता है। रणनीति का मुख्य विचार यह है कि तेजी से एमए, धीमी एमए और औसत एमए के बीच संबंधों की तुलना करके संभावित बहुमुखी और खाली अवसरों की पहचान की जाए। साथ ही, ट्रेडिंग सिग्नल की विश्वसनीयता को बढ़ाने के लिए पर्याप्त प्रवृत्ति के साथ बाजार की स्थिति को फ़िल्टर करने के लिए एडीएक्स संकेतक का उपयोग करें।

रणनीति सिद्धांत

  1. त्वरित एमए, धीमी एमए और औसत एमए की गणना करें।
  2. समापन मूल्य और धीमी गति के एमए के बीच संबंधों की तुलना करके, संभावित बहु और रिक्त स्तर की पहचान करें।
  3. क्लोज-आउट की कीमतों और त्वरित एमए के बीच संबंधों की तुलना करके बहु-हेड और रिक्त-हेड स्तरों की पुष्टि करें।
  4. प्रवृत्ति की ताकत को मापने के लिए ADX सूचक की मैन्युअल गणना की जाती है।
  5. जब तेजी से एमए ऊपर की ओर औसत एमए को पार करता है, तो एडीएक्स सेट थ्रेशोल्ड से बड़ा होता है, और मल्टीहेड स्तर की पुष्टि की जाती है, तो एक मल्टीहेड प्रवेश संकेत उत्पन्न होता है।
  6. जब तेजी से एमए नीचे की ओर औसत एमए को पार करता है, तो एडीएक्स सेट थ्रेशोल्ड से बड़ा होता है, और हेडलाइन स्तर की पुष्टि की जाती है, तो हेडलाइन प्रवेश संकेत उत्पन्न होता है।
  7. जब समापन मूल्य धीमी गति से एमए को नीचे की ओर पार करता है, तो एक मल्टी हेड आउट सिग्नल उत्पन्न होता है; जब समापन मूल्य धीमी गति से एमए को ऊपर की ओर पार करता है, तो एक खाली हेड आउट सिग्नल उत्पन्न होता है।

रणनीतिक लाभ

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

रणनीतिक जोखिम

  1. इस रणनीति के परिणामस्वरूप अधिक बार ट्रेड करने और घाटे का सामना करने के लिए अधिक झूठे संकेत मिल सकते हैं जब रुझान स्पष्ट नहीं होते हैं या बाजार में उतार-चढ़ाव होता है।
  2. रणनीति एमए और एडीएक्स जैसे पिछड़े संकेतकों पर निर्भर करती है, जो कुछ शुरुआती रुझानों के अवसरों को याद कर सकती है।
  3. रणनीति के पैरामीटर सेटिंग्स (जैसे कि एमए लंबाई और एडीएक्स थ्रेशोल्ड) रणनीति के प्रदर्शन पर एक बड़ा प्रभाव डालते हैं और विभिन्न बाजारों और किस्मों के लिए अनुकूलित करने की आवश्यकता होती है।

रणनीति अनुकूलन दिशा

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gavinc745

//@version=5
strategy("MA Rejection Strategy with ADX Filter", overlay=true)

// Input parameters
fastMALength = input.int(10, title="Fast MA Length", minval=1)
slowMALength = input.int(50, title="Slow MA Length", minval=1)
averageMALength = input.int(20, title="Average MA Length", minval=1)
adxLength = input.int(14, title="ADX Length", minval=1)
adxThreshold = input.int(20, title="ADX Threshold", minval=1)

// Calculate moving averages
fastMA = ta.wma(close, fastMALength)
slowMA = ta.wma(close, slowMALength)
averageMA = ta.wma(close, averageMALength)

// Calculate ADX manually
dmPlus = high - high[1]
dmMinus = low[1] - low
trueRange = ta.tr

dmPlusSmoothed = ta.wma(dmPlus > 0 and dmPlus > dmMinus ? dmPlus : 0, adxLength)
dmMinusSmoothed = ta.wma(dmMinus > 0 and dmMinus > dmPlus ? dmMinus : 0, adxLength)
trSmoothed = ta.wma(trueRange, adxLength)

diPlus = dmPlusSmoothed / trSmoothed * 100
diMinus = dmMinusSmoothed / trSmoothed * 100
adx = ta.wma(math.abs(diPlus - diMinus) / (diPlus + diMinus) * 100, adxLength)

// Identify potential levels
potentialLongLevel = low < slowMA and close > slowMA
potentialShortLevel = high > slowMA and close < slowMA

// Confirm levels
confirmedLongLevel = potentialLongLevel and close > fastMA
confirmedShortLevel = potentialShortLevel and close < fastMA

// Entry signals
longEntry = confirmedLongLevel and ta.crossover(fastMA, averageMA) and adx > adxThreshold
shortEntry = confirmedShortLevel and ta.crossunder(fastMA, averageMA) and adx > adxThreshold

// Exit signals
longExit = ta.crossunder(close, slowMA)
shortExit = ta.crossover(close, slowMA)

// Plot signals
plotshape(longEntry, title="Long Entry", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green)
plotshape(shortEntry, title="Short Entry", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red)

// Plot moving averages and ADX
plot(fastMA, title="Fast MA", color=color.blue)
plot(slowMA, title="Slow MA", color=color.red)
plot(averageMA, title="Average MA", color=color.orange)
// plot(adx, title="ADX", color=color.purple)
// hline(adxThreshold, title="ADX Threshold", color=color.gray, linestyle=hline.style_dashed)

// Execute trades
if longEntry
    strategy.entry("Long", strategy.long)
else if longExit
    strategy.close("Long")

if shortEntry
    strategy.entry("Short", strategy.short)
else if shortExit
    strategy.close("Short")