यह रणनीति एक ट्रेंड फॉलो ट्रेडिंग स्ट्रेटेजी है जो बाजार की ट्रेंड दिशा निर्धारित करने के लिए सरल चलती औसत का उपयोग करती है और ट्रेंड का अनुसरण करने के लिए चलती औसत लाइन के साथ सीमा आदेश देती है।
सरल चलती औसत (एसएमए) और प्रवृत्ति की दिशा की गणना करें।
यदि एंटी-सा फ़िल्टर सक्षम है, तो ऊपरी रुझान की पहचान तब की जाती है जब निचले स्तर एसएमए से ऊपर होते हैं, डाउनट्रेंड की पहचान तब की जाती है जब उच्च स्तर एसएमए से नीचे होते हैं। यदि एंटी-सा फ़िल्टर अक्षम है, तो ऊपरी रुझान की पहचान तब की जाती है जब बंद एसएमए से ऊपर होता है, डाउनट्रेंड की पहचान तब की जाती है जब बंद एसएमए से नीचे होता है।
प्रवृत्ति दिशा प्रवृत्ति और सक्षम ट्रेडिंग दिशाओं के अनुसार एसएमए मूल्य पर सीमा आदेश दें:
यदि लंबी ट्रेड की आवश्यकता है (नीडलॉन्ग सही है) और अपट्रेंड में है, तो SMA मूल्य पर लंबी सीमा ऑर्डर दें
यदि शॉर्ट ट्रेड की आवश्यकता है (needshort सही है) और डाउनट्रेंड में है, तो SMA मूल्य पर शॉर्ट लिमिट ऑर्डर दें
यदि स्थिति दिशा प्रवृत्ति दिशा से मेल नहीं खाती है तो exit positions के लिए stop loss logic सेट करें।
केवल दिनांक सीमा के मापदंडों के आधार पर निर्दिष्ट दिनांक सीमा के भीतर व्यापार करें।
प्रवृत्ति को निर्धारित करने के लिए एसएमए का उपयोग करने से प्रभावी रूप से बाजार शोर को फ़िल्टर किया जा सकता है और दीर्घकालिक प्रवृत्ति को लॉक किया जा सकता है।
एसएमए मूल्य पर लिमिट ऑर्डर लगाने से ट्रेंड शुरू होने पर अच्छे एंट्री पॉइंट मिल सकते हैं।
व्यक्तिगत व्यापार शैली के अनुसार केवल लंबी या छोटी जाने के लिए लचीलापन।
घाटे को बढ़ाने से बचने के लिए घाटे को रोकें।
प्रमुख घटनाओं के आसपास अस्थिरता से बचने के लिए ट्रेडिंग समय सीमा निर्धारित की जाती है।
प्रवृत्ति सूचक के रूप में एसएमए में विलंब का प्रभाव होता है, प्रवृत्ति मोड़ के बिंदुओं को याद कर सकता है और नुकसान का कारण बन सकता है।
सीमा आदेशों में लचीलापन की कमी होती है, अल्पकालिक रुझान समायोजन के कारण पदों में प्रवेश नहीं कर सकते हैं।
एसएमए अवधि पैरामीटर को उचित विन्यास की आवश्यकता है, अनुचित सेटिंग्स गलत प्रवृत्ति निर्धारण की ओर ले जाती हैं।
ट्रेडिंग सत्र के मापदंडों को उचित होने की आवश्यकता है ताकि खोए हुए अवसरों या जोखिम भरे अवधियों में ट्रेडिंग से बचा जा सके।
एसएमए में देरी के मुद्दों से बचने के लिए बहु-निर्देशक पुष्टि के लिए अन्य संकेतकों को जोड़ने पर विचार करें।
जब मूल्य एसएमए को तोड़ता है, तो ट्रैकिंग लचीलापन में सुधार करते हुए मार्केट ऑर्डर ट्रैकिंग पर स्विच करें।
विभिन्न बाजार चक्रों के अनुकूल एसएमए अवधि को गतिशील रूप से अनुकूलित करें।
अधिक लचीले स्टॉप के लिए सख्ती से एसएमए मूल्य के बजाय कम/उच्च स्विंग पर स्टॉप लॉस सेट करें।
प्रमुख जोखिम की घटनाओं से बचने के लिए अधिक स्मार्ट गतिशील ट्रेडिंग सत्रों के लिए एल्गोरिथम तत्वों को बढ़ाएं।
कुल मिलाकर यह एक अपेक्षाकृत सरल ट्रेंड फॉलोइंग रणनीति है, जिसका मुख्य विचार एसएमए के साथ ट्रेंड की दिशा निर्धारित करना और ट्रेंड का पालन करने के लिए एसएमए मूल्य पर सीमा आदेश रखना है। कुछ अनुकूलन के साथ यह लचीलापन, अनुकूलन क्षमता और बुद्धि में सुधार कर सकता है। रणनीति को समझना और लागू करना आसान है, एल्गोरिथम ट्रेडिंग शुरुआती के लिए उपयुक्त है, लेकिन जोखिम जागरूकता, सावधानीपूर्वक बैकटेस्ट मूल्यांकन, सख्त निगरानी और लाइव ट्रेडिंग के लिए अनुकूलन की आवश्यकता है।
/*backtest start: 2022-10-27 00:00:00 end: 2023-03-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2020 //@version=4 strategy(title = "Noro's CrossLimit", shorttitle = "CrossLimit", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0, commission_value = 0.0) needlong = input(true, "long") needshort = input(true, "short") lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") src = input(close, defval = close, title = "MA Source") len = input(5, defval = 5, minval = 1, title = "SMA length") off = input(0, defval = 0, minval = 0, title = "SMA offset") anti = input(true, defval = true, title = "Anti-saw filter") rev = input(false, defval = false, title = "Reverse") showma = input(true, defval = true, title = "Show MA") showbg = input(false, defval = false, title = "Show background") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //MA ma = sma(src, len)[off] macol = showma ? color.blue : na plot(ma, color = macol, linewidth = 3, transp = 0) //Background trend = 0 trend := anti == false and close > ma ? 1 : anti == false and close < ma ? -1 : low > ma ? 1 : high < ma ? -1 : trend[1] bgcol = showbg ? trend == 1 ? color.lime : trend == -1 ? color.red : na : na bgcolor(bgcol, transp = 70) //Signals bar = close > open ? 1 : close < open ? -1 : 0 up = (trend == 1 and rev == false) or (trend == -1 and rev == true) dn = (trend == -1 and rev == false) or (trend == 1 and rev == true) //Trading size = strategy.position_size truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59) lot = 0.0 lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1] if trend != 0 strategy.entry("Long", strategy.long, lot, limit = ma, when = needlong and truetime and up) strategy.entry("Short", strategy.short, lot, limit = ma, when = needshort and truetime and dn) if size > 0 and needshort == false and trend == -1 strategy.exit("Stop Long", "Long", limit = ma) if size < 0 and needlong == false and trend == 1 strategy.exit("Stop Short", "Short", limit = ma) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all() strategy.cancel("Long") strategy.cancel("Short")