डबल मूविंग एवरेज क्रॉसओवर रिवर्स रणनीति एक विशिष्ट मात्रात्मक ट्रेडिंग रणनीति है जो रुझानों को ट्रैक करती है। यह रणनीति दोहरे मूविंग एवरेज संकेतक में 9-दिवसीय रेखा और 14-दिवसीय रेखा से क्रॉसओवर संकेतों का उपयोग खरीद और बिक्री संकेतों का निर्माण करने के लिए करती है। यह तब खरीदती है जब 9-दिवसीय रेखा नीचे से 14-दिवसीय रेखा को तोड़कर स्वर्ण क्रॉस का गठन करती है, और बेचती है जब 9-दिवसीय रेखा ऊपर से 14-दिवसीय रेखा को तोड़कर मृत्यु क्रॉस का गठन करती है। झूठे संकेतों को फ़िल्टर करने के लिए, यह रणनीति 50-दिवसीय लाइन संकेतक भी पेश करती है ताकि यह निर्धारित किया जा सके कि कीमत टूटती है या नहीं।
यह रणनीति मुख्य रूप से दोहरी चलती औसत संकेतक से स्वर्ण क्रॉस और मृत्यु क्रॉस संकेतों के आधार पर व्यापार करती है। दोहरी चलती औसत में, 9-दिवसीय रेखा अल्पकालिक रुझानों का प्रतिनिधित्व करती है, 14-दिवसीय रेखा मध्यमकालिक रुझानों का प्रतिनिधित्व करती है, और उनका क्रॉसओवर बाजार के रुझानों में मोड़ का न्याय करने के लिए एक प्रभावी तकनीकी संकेतक है। जब अल्पकालिक प्रवृत्ति रेखा नीचे से मध्यमकालिक प्रवृत्ति रेखा को तोड़कर स्वर्ण क्रॉस का गठन करती है, तो यह इंगित करती है कि अल्पकालिक प्रवृत्ति रेखा मजबूत हो रही है, जो एक खरीद संकेत है; जब यह ऊपर से तोड़कर मृत्यु क्रॉस का गठन करती है, तो यह इंगित करती है कि अल्पकालिक प्रवृत्ति रेखा कमजोर हो रही है, जो एक बिक्री संकेत है।
इसके अतिरिक्त, रणनीति भ्रामक संकेतों को फ़िल्टर करने के लिए 50-दिवसीय रेखा भी पेश करती है। यह केवल तब खरीद उत्पन्न करती है जब कीमत 50-दिवसीय रेखा से ऊपर होती है; और केवल तब बेचती है जब कीमत 50-दिवसीय रेखा से नीचे होती है। 50-दिवसीय रेखा मध्यम से दीर्घकालिक रुझानों का प्रतिनिधित्व करती है। केवल जब मध्यम से दीर्घकालिक रुझान सहमत होते हैं, तो अल्पकालिक संचालन किए जाते हैं।
मूल तर्क इस प्रकार है:
// Buy condition: 9-day line crosses above 14-day line and close price is above 50-day line
buyCondition = ta.crossover(sma9, sma14) and close > sma50
// Sell condition: 9-day line crosses below 14-day line and close price is below 50-day line
sellCondition = ta.crossunder(sma9, sma14) and close < sma50
दोहरी चलती औसत रणनीति के फायदे स्पष्ट हैंः
दोहरी चलती औसत रणनीति में भी कुछ जोखिम हैंः
जोखिमों से निपटने के लिए, निम्नलिखित अनुकूलन किए जा सकते हैंः
दोहरी चलती औसत रणनीति को कई पहलुओं में अनुकूलित किया जा सकता हैः
दोहरी चलती औसत रणनीति आम तौर पर एक कुशल लाभ-उत्पादक रणनीति है। यह लगातार रुझानों का पालन करके लाभ कमा सकती है। साथ ही, इसमें कुछ जोखिम हैं और इसे और सुधार की आवश्यकता है। मापदंडों, स्टॉप विधियों और रणनीति संयोजनों को अनुकूलित करके, इस रणनीति के प्रभावों को और बढ़ाया जा सकता है।
/*backtest start: 2022-11-24 00:00:00 end: 2023-11-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("smaCrossReverse", shorttitle="smaCrossReverse", overlay=true) // Define the length for the SMAs sma9Length = input(9, title="SMA 9 Length") sma14Length = input(14, title="SMA 14 Length") sma50Length = input(50, title="SMA 50 Length") // Add input for SMA 50 // Calculate SMAs sma9 = ta.sma(close, sma9Length) sma14 = ta.sma(close, sma14Length) sma50 = ta.sma(close, sma50Length) // Calculate SMA 50 // Buy condition: SMA 9 crosses above SMA 14 and current price is above SMA 50 buyCondition = ta.crossover(sma9, sma14) and close > sma50 // Sell condition: SMA 9 crosses below SMA 14 and current price is below SMA 50 sellCondition = ta.crossunder(sma9, sma14) and close < sma50 // Track the time since position was opened var float timeElapsed = na if (buyCondition) timeElapsed := 0 else timeElapsed := na(timeElapsed[1]) ? timeElapsed[1] : timeElapsed[1] + 1 // Close the buy position after 5 minutes if (timeElapsed >= 5) strategy.close("Buy") // Track the time since position was opened var float timeElapsedSell = na if (sellCondition) timeElapsedSell := 0 else timeElapsedSell := na(timeElapsedSell[1]) ? timeElapsedSell[1] : timeElapsedSell[1] + 1 // Close the sell position after 5 minutes if (timeElapsedSell >= 5) strategy.close("Sell") // Plot the SMAs on the chart plot(sma9, title="SMA 9", color=color.blue) plot(sma14, title="SMA 14", color=color.red) plot(sma50, title="SMA 50", color=color.green) // Plot SMA 50 on the chart // Strategy entry and exit conditions using if statements if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short)