गतिशील गति सूचकांक रणनीति

लेखक:चाओझांग, दिनांकः 2023-09-14 16:15:42
टैगः

रणनीति तर्क

यह रणनीति गतिशील गति सूचकांक (डीएमआई) के आधार पर व्यापार करती है। डीएमआई प्रवृत्ति निर्धारित करने के लिए मूल्य और विभिन्न लंबाई के चलती औसत के बीच प्रतिशत विचलन को मापता है।

व्यापार का तर्क हैः

  1. मूल्य के प्रतिशत विचलन की गणना 1 डीएमआई के रूप में एक लंबी एमए (जैसे 200-दिन) से करें

  2. मध्यम एमए (जैसे 50 दिन) से विचलन की गणना दूसरे डीएमआई के रूप में करें

  3. लघु एमए (उदाहरण के लिए 20 दिन) से विचलन की गणना तीसरे डीएमआई के रूप में करें

  4. जब तीसरा डीएमआई पहले डीएमआई से अधिक होता है, तो मंदी होती है। जब तीसरा डीएमआई दूसरे डीएमआई से कम होता है, तो तेजी होती है।

  5. डीएमआई संबंध के आधार पर उत्पन्न व्यापार संकेत

डीएमआई का उद्देश्य एमए अवधि के बीच गतिशील रूप से सापेक्ष शक्ति की तुलना करके प्रवृत्ति मोड़ बिंदुओं की पहचान करना है। मापदंडों को विभिन्न चक्रों के लिए अनुकूलित किया जा सकता है।

लाभ

  • डीएमआई मजबूती के लिए बहु-अवधि लुकबैक को जोड़ती है

  • सापेक्ष शक्ति बनाम पूर्ण स्तरों की तुलना करता है

  • बाजार अनुकूलन के लिए लचीली एमओ अवधि

जोखिम

  • डीएमआई में विलंब है और रिवर्स को मिस कर सकता है

  • अवधि के मापदंडों का सावधानीपूर्वक अनुकूलन

  • कई झूठे संकेतों के लिए प्रवण

सारांश

डीएमआई मल्टी-एमए अवधि शक्ति गतिशीलता की तुलना करके मोड़ बिंदुओं का न्याय करता है। अनुकूलन विभिन्न बाजार वातावरण के अनुरूप हो सकता है। लेकिन लेग सीमाओं को अतिरिक्त फिल्टर की आवश्यकता होती है।


/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 31/06/2018
// The related article is copyrighted materialfrom Stocks & Commodities Dec 2009
// My strategy modification.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="CMOaDisparity Index Backtest")
LengthFirst = input(200, minval=1)
LengthSecond = input(50, minval=1)
LengthThird = input(20, minval=1)
ShowFirst = input(type=bool, defval=true)
ShowSecond = input(type=bool, defval=true)
ShowThird = input(type=bool, defval=true)
reverse = input(false, title="Trade reverse")
xEMAFirst = ema(close,LengthFirst)
xEMASecond  = ema(close,LengthSecond)
xEMAThird  = ema(close,LengthThird)
xResFirst = 100 * (close - xEMAFirst) / close
xResSecond = 100 * (close - xEMASecond) / close
xResThird = 100 * (close - xEMAThird) / close
pos = iff(xResThird > xResFirst, -1,
       iff(xResThird < xResSecond, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(ShowFirst ? xResFirst : na, color=red, title="DIX 1")
plot(ShowSecond ? xResSecond : na, color=blue, title="DIX 2")
plot(ShowThird ? xResThird : na, color=green, title="DIX 3")

अधिक