ईएमए ट्रेंड फॉलोइंग रणनीति ईएमए इंडिकेटर पर आधारित एक ट्रेंड ट्रैकिंग रणनीति है। यह एक निर्दिष्ट अवधि की ईएमए लाइन की गणना करके ट्रेंड की दिशा का न्याय करता है और ट्रेंड का अनुसरण करता है। यह तब छोटा हो जाता है जब कीमत ईएमए लाइन के ऊपर पार हो जाती है और जब कीमत ईएमए लाइन के नीचे पार हो जाती है तो लंबी हो जाती है। यह एक विशिष्ट ट्रेंड फॉलोइंग रणनीति है।
इस रणनीति का मूल ईएमए संकेतक का उपयोग करके प्रवृत्ति का निर्धारण करना है। ईएमए एक घातीय चलती औसत है जो हाल की कीमतों को अधिक वजन देता है और मूल्य परिवर्तनों पर तेजी से प्रतिक्रिया करता है। ईएमए अवधि में औसत मूल्य की गणना करके, यह एक चिकनी वक्र का उत्पादन करता है। जब कीमत नीचे से ईएमए लाइन से ऊपर जाती है, तो यह एक ऊपर की प्रवृत्ति का संकेत देती है; जब कीमत ऊपर से ईएमए लाइन से नीचे जाती है, तो यह एक नीचे की प्रवृत्ति का संकेत देती है।
इस तर्क के आधार पर, जब मूल्य ईएमए से ऊपर टूटता है तो रणनीति शॉर्ट हो जाती है और जब कीमत ईएमए से नीचे टूटती है तो लंबी हो जाती है, ईएमए लाइन का पालन करके प्रवृत्ति का पालन करती है। विशेष रूप से, यह समापन मूल्य पर 8-अवधि ईएमए की गणना करता है - जब बंद ईएमए से ऊपर टूटता है और बंद ईएमए से नीचे टूटता है तो लंबा हो जाता है। यह जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस भी निर्धारित करता है।
प्रभावी प्रवृत्ति का अनुसरण करना। ईएमए मूल्य उतार-चढ़ाव को समतल करता है, बाजार शोर को फ़िल्टर करता है और मध्यम से दीर्घकालिक प्रवृत्तियों का अनुसरण करता है।
उचित व्यापारिक आवृत्तिः कम अवधि के संकेतकों की तुलना में, ईएमए में मध्यम समायोजन आवृत्ति है, जिससे अत्यधिक व्यापार से बचा जाता है।
लागू करने में सरल। यह रणनीति केवल एक ईएमए संकेतक पर निर्भर करती है, फिर भी प्रवृत्ति का अनुसरण करने के लक्ष्य को प्राप्त करती है।
विस्तार योग्यताः ईएमए मापदंडों को अनुकूलित करके या अन्य संकेतकों को जोड़कर रणनीति को बढ़ाया जा सकता है।
मिसिंग ट्यूनिंग पॉइंट्स. जब कीमतें तेजी से उलट जाती हैं, तो ईएमए को समायोजित करने के लिए समय की आवश्यकता होती है और सर्वोत्तम प्रवेश बिंदुओं को याद कर सकती है। समाधान सूचक के साथ संयोजन करना है जो ट्यूनिंग बिंदुओं की पहचान करते हैं।
बढ़े हुए घाटे. ईएमए रुझानों का अनुसरण करता है और सटीक रूप से ट्यूनिंग बिंदु निर्धारित नहीं कर सकता है. रिवर्स के कारण बड़े नुकसान हो सकते हैं. समाधान उचित स्टॉप लॉस सेट करना है।
आवृत्ति बहुत अधिक या बहुत कम है। विभिन्न ईएमए अवधि विभिन्न व्यापार आवृत्तियों का कारण बनती है। बहुत कम ओवर-ट्रेड हो सकता है, बहुत लंबा अवसरों को याद कर सकता है। समाधान इष्टतम खोजने के लिए विभिन्न ईएमए अवधि का परीक्षण करना है।
इष्टतम संतुलन खोजने के लिए ईएमए मापदंडों का अनुकूलन करें। चरणबद्ध अनुकूलन इष्टतम ईएमए अवधि निर्धारित कर सकता है।
ट्यूनिंग पॉइंट्स निर्धारित करने के लिए अन्य संकेतक जोड़ें। रिवर्स को बेहतर ढंग से पता लगाने के लिए आरएसआई जैसे संकेतकों के साथ संयोजन करें।
बैकटेस्टिंग के माध्यम से सर्वोत्तम स्टॉप लॉस स्तर खोजने के लिए स्टॉप लॉस रणनीति का अनुकूलन करें।
प्रतीक चयन को अनुकूलित करें. सर्वोत्तम परिणाम प्राप्त करने के लिए प्रतीक विशेषताओं के आधार पर ईएमए अवधि को समायोजित करें.
ईएमए ट्रेंड फॉलोइंग स्ट्रैटेजी एक इंडिकेटर पर आधारित एक बहुत ही विशिष्ट ट्रेंड ट्रैकिंग स्ट्रैटेजी है। यह सरल और लागू करने में आसान है, शुरुआती लोगों के लिए सीखने के लिए उपयुक्त है। इस बीच, इसमें इंडिकेटर जोड़कर या पैरामीटर को अनुकूलित करके रणनीति को और बेहतर बनाने के लिए विस्तार है। निरंतर सुधार के साथ, यह एक बहुत ही व्यावहारिक ट्रेंड फॉलोइंग टूल बन सकता है।
/*backtest start: 2022-10-09 00:00:00 end: 2023-10-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "EMA Close Strategy", shorttitle = "EMA Close",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100) EmaSource = input(defval = close, title = "EMA Source") EmaLength = input(defval = 8, title = "EMA Period", minval = 1) StartYear = input(2018, "Backtest Start Year") StartMonth = input(1, "Backtest Start Month") StartDay = input(1, "Backtest Start Day") stopLoss = input(30, title = "Stop loss percentage(0.1%)") UseStopLoss = input(true,"UseStopLoss") window() => time >= timestamp(StartYear, StartMonth, StartDay,00,00) ? true : false EMA = ema(EmaSource,EmaLength) plot(EMA, title = "EMA", color = green, linewidth = 2, style = line, transp = 50) long = crossunder(EMA, close) short= crossover(EMA, close) if (long) strategy.entry("LongId", strategy.long, when=window()) if (short) strategy.entry("ShortId", strategy.short, when=window()) if (UseStopLoss) strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick) strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)