डबल एसएमए क्रॉसओवर रणनीति विभिन्न पैरामीटर सेटिंग्स के साथ दो एसएमए लाइनों के क्रॉसओवर की गणना करके ट्रेडिंग सिग्नल उत्पन्न करती है। जब तेज एसएमए लाइन धीमी एसएमए लाइन के ऊपर पार करती है, तो एक खरीद संकेत उत्पन्न होता है। जब धीमी एसएमए लाइन तेज एसएमए लाइन के नीचे पार करती है, तो एक बिक्री संकेत उत्पन्न होता है। रणनीति एक ही समय में एसएमए पैरामीटर के दो सेट का उपयोग करती है, एक सेट प्रवेश बिंदुओं को निर्धारित करने के लिए, और दूसरा निकास बिंदुओं को निर्धारित करने के लिए।
यह रणनीति SMA मापदंडों के दो सेट का उपयोग करती है,smaB1
, smaB2
खरीद संकेतों के लिए, औरsmaS1
, smaS2
विक्रय संकेतों के लिए, क्रमशः धीमे और तेज़ चलती औसत का प्रतिनिधित्व करते हैं।smaB1
ऊपर के क्रॉसsmaB2
, एक खरीद संकेत उत्पन्न होता है।smaS2
क्रॉस नीचेsmaS1
बाजार के बदलते परिवेश के अनुकूल प्रवेश और निकास स्थितियों के लचीले समायोजन की अनुमति देता है।
विशेष रूप से, यह रणनीति खरीद और बिक्री के समय को निर्धारित करने के लिए बंद मूल्य से गणना की गई दो एसएमए लाइनों के बीच क्रॉसओवर स्थितियों की निगरानी करती है। जब तेज एसएमए लाइन धीमी एसएमए लाइन के ऊपर से गुजरती है, तो यह माना जाता है कि मूल्य प्रवृत्ति ऊपर की ओर है, इसलिए इस समय लंबा जाएं। और जब धीमी एसएमए लाइन तेज एसएमए लाइन के नीचे से गुजरती है, तो मूल्य प्रवृत्ति नीचे की ओर मुड़ती है, इसलिए लंबी स्थिति से बाहर निकलें।
इस रणनीति के मुख्य लाभ इस प्रकार हैंः
इस रणनीति से जुड़े कुछ जोखिम भी हैंः
उपरोक्त जोखिमों को नियंत्रित करने के लिए, रणनीति में सुधार के लिए एसएमए पैरामीटर अनुकूलन, लाभ में लॉक करने के लिए गतिशील स्टॉप लॉस आदि जैसे तरीकों का उपयोग किया जा सकता है।
इस रणनीति के लिए कुछ अनुकूलन दिशाएंः
एसएमए क्रॉसओवर रणनीति दो एसएमए लाइनों के बीच क्रॉसओवर स्थितियों की गणना करके सरल और प्रभावी ट्रेडिंग सिग्नल उत्पन्न करती है। मापदंडों को समायोजित करने की लचीलापन इस रणनीति को विभिन्न उत्पादों के लिए अनुकूलन योग्य बनाती है, और यह एक आम तौर पर प्रवृत्ति के बाद की रणनीति है। अधिक विश्वसनीय संकेत उत्पन्न करने के लिए पैरामीटर अनुकूलन, सिग्नल फ़िल्टरिंग आदि के माध्यम से इस रणनीति में और सुधार किया जा सकता है।
/*backtest start: 2023-11-15 00:00:00 end: 2023-11-22 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © melihtuna //@version=4 strategy("SMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent) smaB1 = input(title="smaB1",defval=377) smaB2 = input(title="smaB2",defval=200) smaS1 = input(title="smaS1",defval=377) smaS2 = input(title="smaS2",defval=200) smawidth = 2 plot(sma(close, smaB1), color = #EFB819, linewidth=smawidth, title='smaB1') plot(sma(close, smaB2), color = #FF23FD, linewidth=smawidth, title='smaB2') plot(sma(close, smaS1), color = #000000, linewidth=smawidth, title='smaS1') plot(sma(close, smaS2), color = #c48dba, linewidth=smawidth, title='smaS2') // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2020, title = "From Year", minval = 2017) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2017) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => time >= start and time <= finish ? true : false longCondition = crossover(sma(close, smaB1),sma(close, smaB2)) if (window() and longCondition) strategy.entry("BUY", strategy.long) shortCondition = crossover(sma(close, smaS2),sma(close, smaS1)) if (window() and shortCondition) strategy.entry("SELL", strategy.short)