
Momentum Direction Divergence Strategy एक ऐसी तकनीक है जो विलियम ब्लाउ द्वारा उनकी पुस्तक Momentum, Direction and Divergence में वर्णित की गई है। यह रणनीति तीन महत्वपूर्ण पहलुओं पर ध्यान देती हैः गति, दिशा और विचलन। श्री ब्लाउ एक इलेक्ट्रिकल इंजीनियर थे और बाद में एक व्यापारी बन गए, उन्होंने मूल्य और गतिशीलता के बीच संबंधों का गहराई से अध्ययन किया। इस आधार पर, उन्होंने अन्य ऑस्सिलेटर की कमियों का विश्लेषण किया और कुछ अभिनव तकनीकों को पेश किया, जिसमें एक नई व्याख्या भी शामिल है। दिशात्मकता के मुद्दे पर, उन्होंने ADX की जटिलता का विश्लेषण किया और ट्रेंड और गैर-चक्रात्मकता को परिभाषित करने में मदद करने के लिए एक अनूठा तरीका प्रदान किया।
इस रणनीति ने एर्गोटिक सीएसआई (Ergotic CSI) और इसकी चिकनाई रेखा को ध्वनि फ़िल्टर करने के लिए चिह्नित किया।
कोड की शुरुआत में एक फंक्शन fADX को परिभाषित किया गया है, जो अनुकूली गतिशीलता सूचकांक ((ADX) को स्वीकार करता है, जो समरूपता चक्र को दर्शाने के लिए पैरामीटर लें को स्वीकार करता है। यह फंक्शन वास्तविक सीमा ((TR) के वैकल्पिक चलती औसत ((RMA) को मापदंड के रूप में गणना करता है, मल्टीहेड गतिशीलता और रिक्त हेड गतिशीलता के रूप में आरएमए को मापता है, फिर अनुपात को विभाजित करता है, जो मल्टीहेड और रिक्त हेड की तुलनात्मक ताकत को दर्शाता है। अंत में एक सूत्र के माध्यम से मल्टीहेड ताकत और रिक्त हेड ताकत के संयोजन से ADX का मूल्य प्राप्त होता है।
फिर रणनीति पैरामीटर की परिभाषा है. r एटीआर के चिकनाई पैरामीटर को दर्शाता है, लंबाई एडीएक्स की लंबाई को दर्शाता है, बिगपॉइंटवैल्यू बड़े बिंदु मूल्य को दर्शाता है, स्मिथलेन सीएसआई को चिकनाई की लंबाई को दर्शाता है, सेलज़ोन और बायज़ोन को योग्य बेचने और खरीदने के लिए क्षेत्र को दर्शाता है।
सीएसआई की गणना करने का मुख्य तर्क यह है कि पहले वास्तविक उतार-चढ़ाव की ATR और ADX की गणना की जाती है। फिर दंड गुणांक K की गणना की जाती है, जिसमें बड़े बिंदु मूल्य, ATR और ADX के विचार शामिल हैं। मानकीकृत शेष राशि nRes की गणना की जाती है, जो ATR, ADX और समापन मूल्य की जानकारी को जोड़ती है। अंत में सीएसआई मूल्य की गणना की जाती है, फिर इसे चिकना करने के लिए SMA की मांग की जाती है।
सीएसआई के एसएमए मूल्य के आधार पर व्यापार की दिशा निर्धारित करें। यदि यह BuyZone से अधिक है, तो यह अधिक है, और यदि यह SellZone से कम है, तो यह खाली है। सीएसआई वक्र और इसके एसएमए को चित्रित करें, और विभिन्न व्यापार क्षेत्रों को रंग से चिह्नित करें।
यह रणनीति गतिशीलता संकेतक एटीआर और रुझान संकेतक एडीएक्स के लाभों को जोड़ती है, जो बाजार की अस्थिरता और रुझान की डिग्री को ध्यान में रखती है, केवल एटीआर और केवल एडीएक्स के उपयोग की सीमाओं से बचती है। दंड गुणांक के डिजाइन ने इन संकेतकों और बड़े बिंदु मानों के संबंध को चतुराई से एकीकृत किया है।
मानकीकृत अवशिष्ट nRes में मूल्य जानकारी का उपयोग शामिल है, न केवल गतिशीलता की प्रवृत्ति पर ध्यान केंद्रित करना, बल्कि मूल्य के पूर्ण स्तर पर भी ध्यान देना, जो सामान्य ऑस्सिलेटर के विपरीत है, जो रणनीति की प्रदर्शन क्षमता को बढ़ाता है।
चिकनी प्रसंस्करण और खंड निर्णय रणनीतिक निर्णय के लिए स्पष्ट व्यापारिक संकेत प्रदान करते हैं, जो वास्तविक समय के संचालन के लिए अनुकूल है।
इस रणनीति को पैरामीटर सेटिंग्स के लिए संवेदनशील है, जैसे कि एटीआर और एडीएक्स की अवधि की लंबाई, बड़े बिंदु मूल्य की सेटिंग्स, सीएसआई चिकनाई पैरामीटर, आदि। रणनीति के प्रदर्शन को प्रभावित करते हैं। उपयुक्त पैरामीटर संयोजन को निर्धारित करने के लिए भारी मात्रा में रिट्रेसमेंट की आवश्यकता होती है।
सीएसआई एक नए प्रस्तावित ऑस्सिलेटर के रूप में, इसकी प्रभावशीलता को अधिक विभिन्न बाजारों में सत्यापित करने की आवश्यकता है। यदि यह संकेतक अच्छा प्रदर्शन नहीं करता है, तो यह रणनीति की लाभप्रदता को प्रभावित करेगा।
रणनीति में कोई रोक नहीं है, सीएसआई सिग्नल के अनुसार सीधे अधिक खोलना, कुछ हद तक जोखिम है, इसे रोक के साथ संयोजन की आवश्यकता है।
आप विभिन्न बाजारों में एक सामान्य संयोजन खोजने के लिए मापदंडों के संयोजन का परीक्षण कर सकते हैं।
एक गतिशील ADX चक्र लंबाई तंत्र को बाजार की स्थिति के अनुसार ADX के पैरामीटर को समायोजित करने के लिए पेश किया जा सकता है।
अन्य ऑस्सिलेटर संकेतकों के साथ संयोजन के रूप में खरीदारी और बिक्री के समय को निर्धारित करने के लिए, रणनीति को अधिक स्थिर बनाने के लिए। जैसे कि नीचे फैलाव, शीर्ष विचलन आदि प्रभाव।
स्टॉप लॉस रणनीति को शामिल करने से समग्र रणनीति बेहतर हो सकती है।
गतिशीलता दिशा प्रसार रणनीति कई संकेतकों के फायदे को एकीकृत करती है, सीएसआई संकेतकों को डिजाइन करती है और कीमत, गति, प्रवृत्ति के कई आयामों का उपयोग करके व्यापार करती है। इस रणनीति के पैरामीटर सेट लचीले, प्रदर्शन-प्रभावी हैं, आगे परीक्षण और अनुकूलन के लायक हैं, और यह एक लाभदायक उपकरण हो सकता है।
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 20/06/2018
// This is one of the techniques described by William Blau in his book
// "Momentum, Direction and Divergence" (1995). If you like to learn more,
// we advise you to read this book. His book focuses on three key aspects
// of trading: momentum, direction and divergence. Blau, who was an electrical
// engineer before becoming a trader, thoroughly examines the relationship between
// price and momentum in step-by-step examples. From this grounding, he then looks
// at the deficiencies in other oscillators and introduces some innovative techniques,
// including a fresh twist on Stochastics. On directional issues, he analyzes the
// intricacies of ADX and offers a unique approach to help define trending and
// non-trending periods.
// This indicator plots Ergotic CSI and smoothed Ergotic CSI to filter out noise.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
fADX(Len) =>
up = change(high)
down = -change(low)
trur = rma(tr, Len)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
sum = plus + minus
100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)
strategy(title="Ergodic CSI Backtest")
r = input(32, minval=1)
Length = input(1, minval=1)
BigPointValue = input(1.0, minval=0.00001)
SmthLen = input(5, minval=1)
SellZone = input(0.004, minval=0.00001)
BuyZone = input(0.024, minval=0.001)
reverse = input(false, title="Trade reverse")
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
source = close
K = 100 * (BigPointValue / sqrt(r) / (150 + 5))
xTrueRange = atr(1)
xADX = fADX(Length)
xADXR = (xADX + xADX[1]) * 0.5
nRes = iff(Length + xTrueRange > 0, K * xADXR * xTrueRange / Length,0)
xCSI = iff(close > 0, nRes / close, 0)
xSMA_CSI = sma(xCSI, SmthLen)
pos = iff(xSMA_CSI > BuyZone, 1,
iff(xSMA_CSI <= SellZone, -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(xCSI, color=green, title="Ergodic CSI")
plot(xSMA_CSI, color=red, title="SigLin")