
मल्टीपल ईएमए औसत रेखा क्रॉसिंग ट्रेंड ट्रैकिंग रणनीति ईएमए औसत के विभिन्न मापदंडों के कई सेटों का संयोजन करके ट्रेडों को ट्रेंड ट्रैक करने के लिए लागू की जाती है। यह रणनीति 7 ईएमए औसत रेखाओं का उपयोग करती है, जिसमें 12, 26, 50, 100, 200, 89, और 144 चक्र शामिल हैं, जो इन ईएमए के क्रॉसिंग की तुलना करके ट्रेंड की दिशा को निर्धारित करते हैं।
इस रणनीति का मुख्य तर्क ईएमए की औसत रेखा के क्रॉसिंग सिद्धांत पर आधारित है। ईएमए की औसत रेखा में, कम अवधि वाले ईएमए मूल्य परिवर्तन के प्रति अधिक संवेदनशील होते हैं, जो हाल के मूल्य रुझानों को दर्शाते हैं; जबकि लंबी अवधि वाले ईएमए मूल्य परिवर्तन के प्रति कम संवेदनशील होते हैं, जो दीर्घकालिक रुझानों को दर्शाते हैं। जब एक छोटी अवधि वाला ईएमए नीचे से एक लंबी अवधि वाला ईएमए पहनता है, तो एक तथाकथित पीतल का कांटा बनता है, जो एक अल्पकालिक रुझान को तेजी से बदल देता है, और एक अतिरिक्त ऑर्डर करने के लिए सेट किया जा सकता है। इसके विपरीत, जब एक छोटी अवधि वाला ईएमए ऊपर से नीचे से एक लंबी अवधि वाला ईएमए पहनता है, तो एक मृत कांटा बनता है, जो एक अल्पकालिक रुझान को मंदी में बदल देता है, और एक खाली ऑर्डर सेट किया जा सकता है।
इस रणनीति में 7 समूहों के ईएमए औसत का उपयोग किया जाता है, जिसमें 12 और 26, 12 और 50, 12 और 100, 12 और 200, 12 और 89 और 12 और 144 शामिल हैं। रणनीति एक साथ 7 ईएमए के क्रॉसिंग की तुलना करती है। उदाहरण के लिए, जब 12 ईएमए पर 26 ईएमए का गठन होता है, तो एक बहुविकल्पी खोला जाता है; जब एक मृत फोर्क होता है, तो यह बहुविकल्पी को समतल कर देता है। रणनीति अन्य 6 ईएमए औसत के लिए भी इसी तरह की तर्क का उपयोग करती है।
इस रणनीति का सबसे बड़ा लाभ यह है कि यह एक साथ कई समय के पैमाने पर रुझानों को पकड़ सकता है। एक साथ कई ईएमए औसत रेखाओं का उपयोग करके, यह रणनीति अल्पकालिक रुझानों को पकड़ने के साथ-साथ दीर्घकालिक रुझानों को ट्रैक करने के लिए सक्षम है, जिससे कई समय अक्षों पर ट्रेंड ट्रैकिंग की अनुमति मिलती है। इसके अलावा, यह रणनीति विभिन्न ईएमए के मापदंडों को समायोजित करके प्रदर्शन को अनुकूलित कर सकती है।
इस रणनीति का मुख्य जोखिम यह है कि जब कई ईएमए औसत रेखा संयोजनों का उपयोग किया जाता है, तो क्रॉसिंग सिग्नल बहुत बार हो सकते हैं। उदाहरण के लिए, 12 ईएमए और 26 ईएमए के बीच क्रॉसिंग की संख्या 12 ईएमए और 200 ईएमए के बीच क्रॉसिंग की संख्या से अधिक है। यदि आप खुले और बंद के बीच की आवृत्ति को नियंत्रित नहीं करते हैं, तो लेनदेन की लागत और स्लाइड-आउट हानि बढ़ जाती है। इसके अलावा, ईएमए औसत रेखा स्वयं मूल्य परिवर्तन के लिए विलंबता है, जिससे संकेतों को समय से पहले उत्पन्न करने में मदद मिल सकती है।
उपरोक्त जोखिमों को कम करने के लिए, ईएमए की आवृत्ति पैरामीटर को उचित रूप से अनुकूलित किया जा सकता है ताकि इसकी क्रॉसिंग आवृत्ति उपयुक्त सीमा में हो; इसके अलावा, एक दिन में पदों की संख्या को उचित रूप से सीमित किया जा सकता है या जोखिम को नियंत्रित करने के लिए स्टॉप-लॉस सेट किया जा सकता है।
इस रणनीति के लिए अनुकूलन का स्थान मुख्य रूप से ईएमए औसत के पैरामीटर समायोजन पर केंद्रित है। अधिक विभिन्न चक्रों के लिए पैरामीटर संयोजन का प्रयास किया जा सकता है; इसके अलावा, अन्य प्रकार के चलती औसत जैसे कि एसएमए का भी परीक्षण किया जा सकता है। इसके अलावा, रणनीति संकेतों को फ़िल्टर करने के लिए अतिरिक्त शर्तों को जोड़ सकती है, जैसे कि लेन-देन सूचकांक, अस्थिरता सूचकांक आदि, जिससे संकेत की गुणवत्ता में सुधार होता है। स्टॉप-लॉस रणनीति को शामिल करने से भी आगे अनुकूलन किया जा सकता है और बाजार में तीव्र उतार-चढ़ाव के प्रभाव को कम किया जा सकता है।
मल्टीपल ईएमए औसत रेखा क्रॉसिंग ट्रेंड ट्रैकिंग रणनीति प्रवृत्ति की दिशा का आकलन करने के लिए कई ईएमए की क्रॉसिंग की तुलना करके, बहु-समय के पैमाने पर प्रवृत्ति ट्रैकिंग को प्राप्त करने के लिए एक आम प्रवृत्ति ट्रैकिंग रणनीति है। इस रणनीति का लाभ यह है कि यह विभिन्न स्तरों की प्रवृत्ति को पकड़ने के लिए मापदंडों को लचीले ढंग से समायोजित कर सकता है; नुकसान यह है कि सिग्नल बहुत बार-बार हो सकते हैं, जिससे लेनदेन की लागत बढ़ जाती है। पैरामीटर अनुकूलन और सहायक शर्तों को जोड़कर रणनीति के प्रदर्शन को और बढ़ाया जा सकता है।
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("EMA Trades", overlay=true, pyramiding=4)
src = input(close, title="Source")
shortestLine = input(12, minval=1, title="Shortest Line")
shorterLine = input(26, minval=1, title="Shorter Line")
shortLine = input(50, minval=1, title="Short Line")
middleLine = input(100, minval=1, title="Middle Line")
longLine = input(200, minval=1, title="Long Line")
longerLine = input(89, minval=1, title="Longer Line")
longestLine = input(144, minval=1, title="Longest Line")
shortestLineOutput = ema(src, shortestLine)
shorterLineOutput = ema(src, shorterLine)
shortLineOutput = ema(src, shortLine)
middleLineOutput = ema(src, middleLine)
longLineOutput = ema(src, longLine)
longerLineOutput = ema(src, longerLine)
longestLineOutput = ema(src, longestLine)
//plot(shortestLineOutput, title="Shortest EMA", color=#ffffff)
//plot(shorterLineOutput, title="Shorter EMA", color=#e54fe6)
//plot(shortLineOutput, title="Short EMA", color=#4e6bc3)
//plot(middleLineOutput, title="Middle EMA", color=#1dd6d8)
//plot(longLineOutput, title="Long EMA", color=#d0de10)
//plot(longerLineOutput, title="Longer EMA", color=#ef6a1a)
//plot(longestLineOutput, title="Longest EMA", color=#ff0e0e)
longEnrtyCondition_1 = crossover(shortestLineOutput[1], shorterLineOutput[1]) and shortestLineOutput > shorterLineOutput
longEntryCondition_2 = crossover(shortestLineOutput[1], shortLineOutput[1]) and shortestLineOutput > shortLineOutput
longEnrtyCondition_3 = crossover(shortestLineOutput[1], middleLineOutput[1]) and shortestLineOutput > middleLineOutput
longEntryCondition_4 = crossover(shortestLineOutput[1], longLineOutput[1]) and shortestLineOutput > longLineOutput
shortEnrtyCondition_1 = crossunder(shortestLineOutput[1], shorterLineOutput[1]) and shortestLineOutput < shorterLineOutput
shortEntryCondition_2 = crossunder(shortestLineOutput[1], shortLineOutput[1]) and shortestLineOutput < shortLineOutput
shortEnrtyCondition_3 = crossunder(shortestLineOutput[1], middleLineOutput[1]) and shortestLineOutput < middleLineOutput
shortEntryCondition_4 = crossunder(shortestLineOutput[1], longLineOutput[1]) and shortestLineOutput < longLineOutput
if (longEnrtyCondition_1)
strategy.entry("Buy1", strategy.long)
strategy.exit("Sell1")
if (longEntryCondition_2)
strategy.entry("Buy2", strategy.long)
strategy.exit("Sell2")
if (longEnrtyCondition_3)
strategy.entry("Buy3", strategy.long)
strategy.exit("Sell3")
if (longEntryCondition_4)
strategy.entry("Buy4", strategy.long)
strategy.exit("Sell4")
if (shortEnrtyCondition_1)
strategy.entry("Sell1", strategy.short)
strategy.exit("Buy1")
if (shortEntryCondition_2)
strategy.entry("Sell2", strategy.short)
strategy.exit("Buy2")
if (shortEnrtyCondition_3)
strategy.entry("Sell3", strategy.short)
strategy.exit("Buy3")
if (shortEntryCondition_4)
strategy.entry("Sell4", strategy.short)
strategy.exit("Buy4")