यह दोहरी चलती औसत क्रॉसओवर संकेतों पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति है। यह रणनीति दो चलती औसतों को नियोजित करती है, एक मुख्य संकेत रेखा के रूप में और दूसरी एक चिकनाई संकेत रेखा के रूप में। यह चिकनाई संकेत रेखा के साथ मूल्य क्रॉसओवर की निगरानी करके ट्रेडिंग संकेत उत्पन्न करती है, जिससे बाजार की प्रवृत्ति को पकड़ना और गति को ट्रैक करना संभव हो जाता है। रणनीति की मुख्य ताकत इसके सरल लेकिन प्रभावी संकेत उत्पादन तंत्र और लचीले पैरामीटर कॉन्फ़िगरेशन विकल्पों में निहित है।
यह रणनीति दो स्तरों की चलती औसत गणना का उपयोग करती है। यह पहले एक बुनियादी चलती औसत (डिफ़ॉल्ट अवधि 9), इसके बाद एक माध्यमिक चिकनाई प्रक्रिया (डिफ़ॉल्ट अवधि 5) की गणना करती है। यह रणनीति विभिन्न चलती औसत गणना विधियों की पेशकश करती है, जिसमें सरल चलती औसत (एसएमए), घातीय चलती औसत (ईएमए), चिकनी चलती औसत (एसएमएमए), भारित चलती औसत (डब्ल्यूएमए), और वॉल्यूम भारित चलती औसत (वीडब्ल्यूएमए) शामिल हैं। लंबे संकेत तब उत्पन्न होते हैं जब समापन मूल्य चिकनी सिग्नल रेखा के ऊपर से गुजरता है, जबकि लघु संकेत तब उत्पन्न होते हैं जब समापन मूल्य इसके नीचे से गुजरता है।
यह एक क्लासिक ट्रेंड-फॉलोइंग रणनीति का एक बेहतर संस्करण है जो एक दो-परत चलती औसत डिजाइन के माध्यम से सादगी बनाए रखते हुए स्थिरता को बढ़ाता है। रणनीति पैरामीटर अनुकूलन और फ़ंक्शन एक्सटेंशन के माध्यम से विभिन्न बाजार वातावरण के लिए अनुकूलन योग्य, अच्छी स्केलेबिलिटी और लचीलापन प्रदान करती है। हालांकि, उपयोगकर्ताओं को लेनदेन लागत नियंत्रण और जोखिम प्रबंधन पर ध्यान देने की आवश्यकता है, और लाइव ट्रेडिंग से पहले गहन बैकटेस्टिंग करने की सिफारिश की जाती है।
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Moving Average 1.0 Strategy", overlay=true) // Input for Moving Average Length len = input.int(9, minval=1, title="Length") src = input(close, title="Source") offset = input.int(title="Offset", defval=0, minval=-500, maxval=500) // Calculate the Moving Average out = ta.sma(src, len) // Plot the Moving Average plot(out, color=color.blue, title="MA", offset=offset) // Function to choose the type of moving average ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) // Input for Smoothing Method and Length typeMA = input.string(title="Method", defval="SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing") smoothingLength = input.int(title="Smoothing Length", defval=5, minval=1, maxval=100, group="Smoothing") // Calculate the Smoothing Line smoothingLine = ma(out, smoothingLength, typeMA) // Plot the Smoothing Line plot(smoothingLine, title="Smoothing Line", color=color.rgb(120, 66, 134, 35), offset=offset) // Strategy Logic if (ta.crossover(close, smoothingLine)) strategy.entry("Buy", strategy.long) if (ta.crossunder(close, smoothingLine)) strategy.entry("Sell", strategy.short)