यह रणनीति एक लचीली लेनदेन भारित चलती औसत (EVWMA) पर आधारित एक MACD ट्रेडिंग रणनीति है। यह एक स्पष्ट, व्यावहारिक ट्रेडिंग संकेत रणनीति डिजाइन करने के लिए EVWMA के लाभों का लाभ उठाती है।
ईवीडब्लूएमए सूचकांक, गतिशील औसत गणना में पूर्ण लेनदेन की जानकारी को शामिल करता है, जिससे गतिशील औसत मूल्य परिवर्तन को अधिक सटीक रूप से दर्शाता है। यह रणनीति फास्ट लाइन और स्लो लाइन के निर्माण के लिए ईवीडब्लूएमए पर आधारित है। फास्ट लाइन के पैरामीटर सेट अधिक संवेदनशील हैं, जो कम समय में मूल्य परिवर्तन को पकड़ते हैं; स्लो लाइन के पैरामीटर सेट अधिक मजबूत हैं, जो कुछ शोर को फ़िल्टर करते हैं। दो ईवीडब्लूएमए के रूप में गठित एमएसीडी पार करने के लिए अधिक खाली हैं, और हिस्टोग्राम को डिज़ाइन करते हैं जो बेहतर दृश्य व्यापार संकेत देते हैं।
इस रणनीति का सबसे बड़ा लाभ यह है कि यह ईवीडब्ल्यूएमए संकेतकों की शक्ति का उपयोग करता है, जिससे एमएसीडी रणनीति पैरामीटर सेटअप अधिक स्थिर हो जाता है और व्यापार संकेत अधिक स्पष्ट हो जाते हैं। सरल चलती औसत की तुलना में, ईवीडब्ल्यूएमए बाजार में बदलाव के रुझानों को बेहतर ढंग से पकड़ सकता है। यह रणनीति को अधिक अनुकूलनशील बनाता है और विभिन्न बाजार वातावरणों में स्थिर रूप से काम कर सकता है।
इस रणनीति का मुख्य जोखिम यह है कि MACD में ही एक निश्चित विलंब होता है, जो समय पर मूल्य परिवर्तन को पकड़ने में असमर्थ होता है। इसके अलावा, EVWMA के पैरामीटर सेटिंग्स भी रणनीति के प्रदर्शन को प्रभावित कर सकते हैं। यदि धीमी लाइन पैरामीटर को गलत तरीके से सेट किया जाता है, तो व्यापार संकेत गड़बड़ी हो सकती है, जो लाभप्रदता को प्रभावित करती है।
जोखिम को कम करने के लिए, पैरामीटर को उचित रूप से समायोजित किया जाना चाहिए ताकि तेज लाइन और धीमी लाइन के बीच का अंतर उचित हो। हिस्टोग्राम यह निर्धारित करने में मदद कर सकता है कि क्या समायोजन की आवश्यकता है। इसके अलावा, एक स्टॉप-लॉस रणनीति भी डिज़ाइन की जा सकती है ताकि एकल नुकसान से बचा जा सके।
यह रणनीति मुख्य रूप से निम्नलिखित पहलुओं से अनुकूलित की जा सकती हैः
अनुकूलन पैरामीटर सेटिंग तकनीक का उपयोग करके, ईवीडब्ल्यूएमए के पैरामीटर स्वचालित रूप से बाजार के माहौल के अनुसार समायोजित होते हैं, जिससे ट्रेडिंग सिग्नल की स्पष्टता सुनिश्चित होती है।
एक बार जब आप अपने खाते को खो देते हैं, तो आप अपने खाते को बंद करने के लिए एक उपकरण का उपयोग करते हैं।
यह अन्य संकेतकों के साथ मिलकर गलत संकेतों को फ़िल्टर करता है। उदाहरण के लिए, जब व्यापार में भारी बदलाव होता है तो संकेत उत्पन्न होते हैं।
प्रवेश बिंदु चयन को अनुकूलित करना. वर्तमान रणनीति में MACD शून्य-अक्षीय क्रॉसिंग के दौरान ट्रेड खोलना है. यह परीक्षण किया जा सकता है कि क्या गहरा खींचने के लिए परिवर्तन अधिक उपयुक्त है.
यह रणनीति EVWMA के लाभों का उपयोग करके एक सरल और व्यावहारिक MACD रणनीति का निर्माण करती है; यह अधिक स्थिर और अधिक अनुकूलनशील है; लेकिन इसके साथ ही MACD के पीछे भी समस्याएं हैं। हम अनुकूलन पैरामीटर अनुकूलन, हानि को रोकने, संकेत फ़िल्टरिंग के डिजाइन आदि से सुधार कर सकते हैं ताकि रणनीति अधिक स्थिर हो सके।
/*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))