एडीएक्स क्रॉसओवर ट्रेंड ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-12-08 15:49:12
टैगः

img

अवलोकन

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

सिद्धांत

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

विशेष रूप से, निम्नलिखित शर्तों को पूरा करने पर एक खरीद संकेत ट्रिगर किया जाएगाः

  1. तेज ईएमए धीमे ईएमए से ऊपर है
  2. +DI रेखा ADX रेखा को ऊपर की ओर पार करती है
  3. एडीएक्स मूल्य 30 की सीमा से नीचे है

निम्नलिखित शर्तों को पूरा करने पर एक बिक्री सिग्नल ट्रिगर किया जाएगा:

  1. एडीएक्स मूल्य 30 की सीमा से अधिक है
  2. +DI रेखा नीचे की ओर ADX रेखा को पार करती है

रणनीति में स्टॉप लॉस लॉजिक भी शामिल है, जब कीमत स्टॉप लॉस स्तर से नीचे गिरती है तो सभी पदों से बाहर निकलने के लिए।

लाभ

यह रणनीति बाजार के रुझानों में बदलाव को प्रभावी ढंग से निर्धारित करने के लिए DI, ADX और चलती औसत संकेतकों को जोड़ती है।

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

जोखिम

इस रणनीति के साथ कुछ जोखिमों को ध्यान में रखा जाना चाहिएः

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

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

बढ़ोतरी के अवसर

इसमें और सुधार की संभावना हैः

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

निष्कर्ष

सामान्य तौर पर यह एडीएक्स क्रॉसओवर ट्रेंड रणनीति काफी स्थिर है, जो जल्दी से उलटफेर को प्रभावी ढंग से पकड़ने में सक्षम है, लेकिन जोखिम नियंत्रण महत्वपूर्ण है। पैरामीटर को और अधिक अनुकूलित करना, प्रवेश नियमों का सख्ती से पालन करना और स्टॉप लॉस से अच्छे जोखिम-समायोजित रिटर्न हो सकते हैं। यह रणनीति मध्यम से अल्पकालिक पदों को धारण करने वाले दीर्घकालिक खातों के लिए उपयुक्त है।


/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
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/
// © mohanee

//@version=4
//ADX strategy
SmoothedTrueRange=0.00
SmoothedDirectionalMovementPlus=0.00
SmoothedDirectionalMovementMinus=0.00


strategy(title="ADX strategy", overlay=false,pyramiding=3, default_qty_type=strategy.fixed, default_qty_value=3,    initial_capital=10000, currency=currency.USD)

len = input(11, title="ADX Length", minval=1)
threshold = input(30, title="threshold", minval=5)

fastEma=input(13, title="Fast EMA",minval=1, maxval=50)
slowEma=input(55, title="Slow EMA",minval=10, maxval=200)
stopLoss =input(8, title="Stop Loss",minval=1)   //


TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0


SmoothedTrueRange:= nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange

SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus:= nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus

DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
ADX = sma(DX, len)

plot(DIPlus, color=color.green, title="DI+")
//plot(DIMinus, color=color.red, title="DI-")
plot(ADX, color=color.black, title="ADX")
hline(threshold, color=color.black, linestyle=hline.style_dashed)

fastEmaVal=ema(close,fastEma)
slowEmaVal=ema(close,slowEma)




//long condition
longCondition=  ADX < threshold  and crossover(DIPlus,ADX)  and fastEmaVal > slowEmaVal


barcolor(longCondition ? color.yellow: na)

strategy.entry(id="ADXLE", long=true,  when= longCondition  and strategy.position_size<1) 

barcolor(strategy.position_size>1 ? color.blue: na)
bgcolor(strategy.position_size>1 ? color.blue: na)



//Add
strategy.entry(id="ADXLE", comment="Add", long=true,  when= strategy.position_size>1 and close<strategy.position_avg_price and crossover(DIPlus,ADX) ) 


//calculate stop Loss
stopLossVal =  strategy.position_avg_price -  (strategy.position_avg_price*stopLoss*0.01)

strategy.close(id="ADXLE",comment="SL Exit",    when=close<stopLossVal)   //close all on stop loss


//exit condition
exitCondition=  ADX > threshold  and crossunder(DIPlus,ADX) // and fastEmaVal > slowEmaVal
strategy.close(id="ADXLE",comment="TPExitAll",    qty=strategy.position_size ,   when= exitCondition)   //close all     

अधिक