यह एक सरल मात्रात्मक ट्रेडिंग रणनीति है जो चलती औसत संकेतकों पर आधारित है। यह प्रवेश और निकास संकेतों को निर्धारित करने के लिए तेजी से और धीमी गति से चलती औसत के स्वर्ण क्रॉस और मृत्यु क्रॉस का उपयोग करता है। जब तेजी से एमए नीचे से धीमी एमए के ऊपर से गुजरता है, तो एक खरीद संकेत उत्पन्न होता है। जब तेजी से एमए ऊपर से धीमी एमए के नीचे से गुजरता है, तो एक बिक्री संकेत उत्पन्न होता है।
यह रणनीति मुख्य रूप से मूविंग एवरेज की ट्रेंड ट्रैकिंग क्षमता का लाभ उठाती है। फास्ट एमए में एक छोटा पैरामीटर होता है और कीमत में बदलाव का जल्दी से जवाब दे सकता है, जबकि स्लो एमए में एक बड़ा पैरामीटर होता है और यह दीर्घकालिक प्रवृत्ति का प्रतिनिधित्व करता है। स्लो एमए के ऊपर तेजी से एमए क्रॉसिंग अल्पकालिक आंदोलनों में उलटफेर और एक अपट्रेंड की शुरुआत का संकेत देती है। स्लो एमए के नीचे तेजी से एमए क्रॉसिंग एक डाउनट्रेंड में उलटफेर का संकेत देती है। इन संकेतों को कैप्चर करके, हम गति के साथ व्यापार कर सकते हैं।
विशेष रूप से, यह रणनीति 5 दिन (फास्ट) और 34 दिन (धीमी) डबल मूविंग एवरेज को परिभाषित करती है। यह इन दो एमए की दैनिक गणना करता है और जांचता है कि क्या तेज एमए धीमी एमए के ऊपर या नीचे पार करता है। यदि एक स्वर्ण क्रॉस होता है, तो यह लंबा जाता है। यदि एक मृत्यु क्रॉस होता है, तो यह पदों से बाहर निकलता है।
यह एक सरल और समझने में आसान रणनीति है, जो क्वांट ट्रेडिंग के शुरुआती लोगों के लिए उपयुक्त है। जटिल रणनीतियों की तुलना में, इसे लागू करना बहुत आसान है।
दोहरी एमए रणनीति बाजार शोर को प्रभावी ढंग से फ़िल्टर कर सकती है और मुख्य प्रवृत्ति को पकड़ सकती है। एमए दिनों के मापदंडों को समायोजित करके, यह विभिन्न समय सीमाओं में मूल्य उतार-चढ़ाव के अनुकूल हो सकती है।
इसमें एक अंतर्निहित स्टॉप लॉस तंत्र भी होता है. जब कीमतें दिशा में उलटने लगती हैं और एमए का मृत्यु क्रॉस होता है, तो यह जोखिमों को नियंत्रित करने के लिए समय पर पदों से बाहर निकल जाएगा.
दोहरी एमए रणनीति में असफल स्टॉप लॉस या वक्र फिटिंग विफलताओं जैसे जोखिम हैं। मुख्य मुद्दे हैंः
एमए के पीछे पड़ने वाले प्रभाव होते हैं और ट्रेंड पहले ही उलट जाने के बाद ही सिग्नल उत्पन्न कर सकते हैं। लाभदायक ट्रेड नुकसान में बदल सकते हैं।
विभिन्न बाजारों में कई झूठे संकेत हो सकते हैं, जिससे अनावश्यक ट्रेडों, बढ़ी हुई लागत और फिसलने का कारण बन सकता है।
यह मौलिक विश्लेषण के संयोजन के बिना केवल तकनीकी संकेतकों पर निर्भर करता है। यह बाजार की चाल चलाने वाली घटनाओं के दौरान खराब प्रदर्शन कर सकता है।
यह स्थिति आकार और जोखिम प्रबंधन पर विचार नहीं करता है। एक ब्लैक स्वान घटना से रणनीति फटने का कारण बन सकती है।
अपनी शक्तियों का बेहतर लाभ उठाने और जोखिमों को कम करने के लिए, निम्नलिखित तरीकों से अनुकूलन किया जा सकता हैः
अधिक कठोर प्रवेश नियम निर्धारित करने और झूठे संकेतों को फ़िल्टर करने के लिए एमएसीडी जैसे रुझान संकेतक और केडीजे जैसे अस्थिरता संकेतक जोड़ें।
उचित स्टॉप लॉस तंत्र शामिल करें, जैसे कि कीमतों में सोने के क्रॉस के बाद एक निश्चित प्रतिशत की गिरावट के बाद बाहर निकलना, या नई ऊंचाइयों/नीचाइयों से कीमतों में एक निश्चित सीमा गिरने के बाद।
विभिन्न समय सीमाओं में मूल्य उतार-चढ़ाव के अनुकूल करने के लिए तेज और धीमे एमए दिनों के संयोजनों को अनुकूलित करें। पैरामीटर अनुकूलन सबसे अच्छा पैरामीटर पा सकता है।
संदर्भ व्यापक बाजार सूचकांक समग्र बाजार व्यवस्था को निर्धारित करने और विभिन्न बाजारों में ओवरट्रेडिंग से बचने के लिए।
प्रवृत्ति संकेतों की विश्वसनीयता सत्यापित करने के लिए ट्रेडिंग वॉल्यूम परिवर्तन शामिल करें। उदाहरण के लिए, संकेत ट्रिगर होने पर मजबूत वॉल्यूम की आवश्यकता होती है।
दोहरी चलती औसत क्रॉसओवर रणनीति एक बहुत ही विशिष्ट मात्रात्मक ट्रेडिंग रणनीति है। इसमें सादगी, सहजता और कार्यान्वयन में आसानी जैसे फायदे हैं। निरंतर परीक्षण और पैरामीटर ट्यूनिंग के साथ, यह सभ्य परिणाम दे सकता है। हालांकि, पिछड़े संकेत पहचान और झूठे संकेत जैसे मुद्दे मौजूद हैं। इसे एक स्थिर लाभ-उत्पादक रणनीति बनाने के लिए अतिरिक्त फिल्टर और जोखिम प्रबंधन तंत्र को शामिल करने की आवश्यकता है।
/*backtest start: 2022-11-15 00:00:00 end: 2023-11-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // This strategy is a modification to the "Bill Williams, Awesome Oscillator // (AO) Backtest" strategy (Copyright by HPotter v1.0 29/12/2016) // // This version of the strategy by Midnight Mouse. 10/4/2018 // // DESCRIPTION // // This indicator plots the oscillator as a column where periods fit for buying // are marked as green, and periods fit for selling as orange/brown. If the // current value of AO (Awesome Oscillator) is > the previous, the period is // deemed fit for buying and the indicator is marked green. If the AO values is // not over the previous, the period is deemed fit for selling and the indicator // is marked orange/brown. // // You can change long to short in the Input Settings // // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy("Awesome Oscillator.MMouse_Lager_BCE") // === SETTINGS === // Strategy start date FromMonth = input(defval = 1, title = "From Month", minval = 1) FromDay = input(defval = 1, title = "From Day", minval = 1) FromYear = input(defval = 2017, title = "From Year", minval = 2014) // Strategy settings nLengthSlow = input(34, minval=1, title="Length Slow") nLengthFast = input(5, minval=1, title="Length Fast") allowShorts = input(false, title="Include Short Trades") reverse = input(false, title="Trade reverse") // === BODY === // Use Heikin-Ashi candles for the buy/sell signal ha_t = heikinashi(syminfo.tickerid) ha_high = security(ha_t, timeframe.period, high) ha_low = security(ha_t, timeframe.period, low) length = input( 14 ) price = open vrsi = rsi(price, length) // Calc (H+L)/2 for each length xSMA1_hl2 = sma((ha_high + ha_low)/2, nLengthFast) xSMA2_hl2 = sma((ha_high + ha_low)/2, nLengthSlow) // Get SMA difference (Fast - Slow) xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2 // Derive the color of the column cClr = xSMA1_SMA2 > xSMA1_SMA2[1] ? #93c47d : #ad5e1d // Determine the position to take (Long vs. Short) pos = iff(xSMA1_SMA2 > xSMA1_SMA2[1], 1, iff(xSMA1_SMA2 < xSMA1_SMA2[1], -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) // Only apply strategy from the start date if (time >= timestamp(FromYear, FromMonth, FromDay, 00, 00)) if (possig == 1) // Market is currently fit for a Long position strategy.entry("Long", strategy.long) if (possig == -1) // Market is currently fit for a Short position if(allowShorts) // Shorts are allowed. Record a Short position strategy.entry("Short", strategy.short) else // Shorts are not allowed. Closec the Long position. strategy.close("Long") // Define the candle colors //barcolor(possig == -1 ? red : // possig == 1 ? green : // blue ) // Plot the oscillator plot(xSMA1_SMA2, style=columns, linewidth=1, color=cClr)