यह रणनीति एलेस्टिक वॉल्यूम वेटेड मूविंग एवरेज (ईवीडब्ल्यूएमए) पर आधारित एक एमएसीडी ट्रेडिंग रणनीति है। यह ईवीडब्ल्यूएमए के लाभों का उपयोग करती है और स्पष्ट ट्रेडिंग संकेतों और मजबूत व्यावहारिकता के साथ एक रणनीति डिजाइन करती है।
ईवीडब्ल्यूएमए संकेतक चलती औसत की गणना में मात्रा की जानकारी को शामिल करता है, जिससे चलती औसत मूल्य परिवर्तनों को अधिक सटीक रूप से प्रतिबिंबित कर सकती है। इस रणनीति में फास्ट लाइन और स्लो लाइन की गणना दोनों ईवीडब्ल्यूएमए पर आधारित हैं। फास्ट लाइन की पैरामीटर सेटिंग्स अल्पकालिक मूल्य उतार-चढ़ाव को पकड़ने के लिए अधिक संवेदनशील हैं; धीमी लाइन की पैरामीटर सेटिंग्स कुछ शोर को फ़िल्टर करने के लिए अधिक मजबूत हैं। दो ईवीडब्ल्यूएमए द्वारा गठित एमएसीडी क्रॉसओवर पर लंबे और छोटे संकेतों को ट्रिगर करती है, और हिस्टोग्राम ने दृश्य रूप से बेहतर व्यापार संकेत प्रदान किए हैं।
इस रणनीति का सबसे बड़ा लाभ यह है कि EVWMA संकेतक की शक्ति का लाभ उठाते हुए, MACD रणनीति की पैरामीटर सेटिंग अधिक स्थिर हो जाती है और ट्रेडिंग सिग्नल अधिक स्पष्ट हो जाते हैं। सरल चलती औसत की तुलना में, EVWMA बाजार की प्रवृत्ति परिवर्तनों को बेहतर ढंग से समझ सकता है। इससे रणनीति विभिन्न बाजार वातावरणों में स्थिर रूप से काम करने के लिए अधिक अनुकूलनशील हो जाती है।
इस रणनीति का मुख्य जोखिम यह है कि एमएसीडी में ही एक निश्चित विलंब है और यह तुरंत मूल्य उलट को पकड़ नहीं सकता है। इसके अलावा, ईवीडब्ल्यूएमए की पैरामीटर सेटिंग्स भी रणनीति प्रदर्शन को प्रभावित करती हैं। यदि तेज और धीमी लाइन पैरामीटर ठीक से सेट नहीं किए जाते हैं, तो ट्रेडिंग सिग्नल अराजक होंगे, जिससे लाभप्रदता प्रभावित होगी।
जोखिम को कम करने के लिए, मापदंडों को उचित रूप से समायोजित किया जाना चाहिए ताकि तेज और धीमी रेखाओं के बीच मध्यम अंतर हो। हिस्टोग्राम यह तय करने में मदद कर सकता है कि क्या मापदंड समायोजन की आवश्यकता है। इसके अलावा, अत्यधिक बड़े एकल नुकसान से बचने के लिए स्टॉप लॉस रणनीतियों को भी डिज़ाइन किया जा सकता है।
इस रणनीति के अनुकूलन के मुख्य पहलुओं में निम्नलिखित शामिल हैंः
संकेत की स्पष्टता सुनिश्चित करने के लिए बाजार की स्थितियों के अनुसार EVWMA मापदंडों को स्वचालित रूप से समायोजित करने के लिए अनुकूलन पैरामीटर सेटिंग तकनीकों का उपयोग करें।
एकल घाटे को प्रभावी ढंग से नियंत्रित करने के लिए स्टॉप लॉस तंत्र बढ़ाएं।
झूठे संकेतों को फ़िल्टर करने के लिए अन्य संकेतकों को शामिल करें। उदाहरण के लिए, केवल महत्वपूर्ण मूल्य परिवर्तनों के दौरान संकेतों को ट्रिगर करने के लिए वॉल्यूम के साथ संयोजन करें।
प्रवेश बिंदु चयनों को अनुकूलित करें. वर्तमान में रणनीति एमएसीडी शून्य रेखा क्रॉसओवर पर पद खोलती है. परीक्षण यदि विचलन का उपयोग बेहतर प्रदर्शन करता है तो जांच की जा सकती है.
यह रणनीति एक सरल और व्यावहारिक एमएसीडी रणनीति बनाने के लिए ईवीडब्ल्यूएमए संकेतक के लाभों का उपयोग करती है। इसमें बेहतर स्थिरता और अनुकूलन क्षमता है। साथ ही, इसमें एमएसीडी में निहित लेग समस्या भी है। हम अनुकूलन पैरामीटर अनुकूलन, स्टॉप लॉस डिजाइन, सिग्नल फ़िल्टरिंग और अन्य पहलुओं के माध्यम से रणनीति की मजबूती में सुधार कर सकते हैं।
/*backtest start: 2023-01-15 00:00:00 end: 2024-01-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("QuantNomad - EVWMA MACD Strategy", shorttitle = "EVWMA MACD", overlay = false) // Inputs fast_sum_length = input(10, title = "Fast Sum Length", type = input.integer) slow_sum_length = input(20, title = "Slow Sum Length", type = input.integer) signal_length = input(9, title = "Signal Smoothing", type = input.integer, minval = 1, maxval = 50) // Calculate Volume Period fast_vol_period = sum(volume, fast_sum_length) slow_vol_period = sum(volume, slow_sum_length) // Calculate EVWMA fast_evwma = 0.0 fast_evwma := ((fast_vol_period - volume) * nz(fast_evwma[1], close) + volume * close) / (fast_vol_period) // Calculate EVWMA slow_evwma = 0.0 slow_evwma := ((slow_vol_period - volume) * nz(slow_evwma[1], close) + volume * close) / (slow_vol_period) // Calculate MACD macd = fast_evwma - slow_evwma signal = ema(macd, signal_length) hist = macd - signal // Plot plot(hist, title = "Histogram", style = plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? #26A69A : #B2DFDB) : (hist[1] < hist ? #FFCDD2 : #EF5350) ), transp=0 ) plot(macd, title = "MACD", color = #0094ff, transp=0) plot(signal, title = "Signal", color = #ff6a00, transp=0) // Strategy strategy.entry("Long", true, when = crossover(fast_evwma, slow_evwma)) strategy.entry("Short", false, when = crossunder(fast_evwma, slow_evwma))