बहुभुज चलती औसत रणनीति विभिन्न अवधियों के कई चलती औसत के साथ एक बहुभुज का निर्माण करती है और बहुभुज की सफलता को ट्रेडिंग संकेतों के रूप में उपयोग करती है। यह प्रवृत्ति-अनुसरण रणनीति कई समय सीमाओं को शामिल करती है और प्रभावी रूप से बाजार शोर को फ़िल्टर कर सकती है और मुख्य प्रवृत्ति को पकड़ सकती है।
यह रणनीति बहुभुज चैनल बनाने के लिए 3 अवधि, 7 अवधि और 13 अवधि के ईएमए जैसे कई ईएमए को प्लॉट करती है। जब कीमत ईएमए के ऊपर टूटती है, तो एक लंबा संकेत उत्पन्न होता है। जब कीमत ईएमए के नीचे टूटती है, तो एक छोटा संकेत उत्पन्न होता है। इससे कई झूठे ब्रेकआउट से बचने में मदद मिलती है।
कोड बंद> ईएमए1 और ईएमए1> ईएमए2 और ईएमए2> ईएमए3 जैसी शर्तों का उपयोग करके ईएमए के लिए बंद मूल्य की तुलना करके ब्रेकथ्रू सिग्नल निर्धारित करता है। बैकटेस्ट अवधि को सीमित करने के लिए समय की स्थिति time_cond जोड़ी जाती है। रणनीति प्रवेश के बाद लाभ की रक्षा के लिए एक ट्रेलिंग स्टॉप लॉस का उपयोग करती है।
इस रणनीति का सबसे बड़ा लाभ शोर से बचने के लिए फिल्टर के रूप में कई चलती औसत का उपयोग करके मुख्य प्रवृत्ति दिशा को प्रभावी ढंग से कैप्चर करने की क्षमता है।
मुख्य जोखिम यह है कि यह रणनीति प्रवृत्ति उलट बिंदुओं की पहचान करने में विफल रहती है और प्रवृत्ति उलट के दौरान नुकसान का कारण बन सकती है। अनुचित एमए अवधि सेटिंग्स के परिणामस्वरूप ओवरट्रेडिंग या लेगिंग सिग्नल भी हो सकते हैं। एमए संयोजनों को अनुकूलित करके जोखिमों को कम किया जा सकता है, रिवर्स इंडिकेटर जोड़ना, स्टॉप लॉस रेंज को चौड़ा करना, आदि।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
सबसे अच्छा संयोजन खोजने के लिए एमए अवधि का अनुकूलन करें।
समय पर ट्रेडों से बाहर निकलने के लिए आरएसआई और एमएसीडी जैसे रिवर्स इंडिकेटर जोड़ें।
समय से पहले स्टॉप लॉस को कम करने के लिए स्टॉप लॉस रेंज और ऑफसेट को अनुकूलित करें।
अनुकूलन क्षमता में सुधार के लिए विभिन्न उत्पादों के लिए मापदंडों का अनुकूलन करें।
बहुभुज चलती औसत रणनीति आम तौर पर एक विश्वसनीय और प्रभावी प्रवृत्ति निम्नलिखित प्रणाली है। इसकी सबसे बड़ी ताकत शोर को महत्वपूर्ण रूप से फ़िल्टर करते हुए मुख्य प्रवृत्ति को कैप्चर करना है। लेकिन इसके उल्टा होने की पहचान करने में कुछ सीमाएं हैं। हम इसे पैरामीटर अनुकूलन, सहायक संकेतक जोड़ने आदि से सुधार सकते हैं। यह स्पष्ट रुझानों वाले बाजारों के लिए उपयुक्त है और उचित रूप से उपयोग किए जाने पर स्थिर लाभ उत्पन्न कर सकता है।
/*backtest start: 2023-09-30 00:00:00 end: 2023-10-30 00:00:00 period: 1h basePeriod: 15m 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/ // © Crypto-Oli //@version=4 strategy("BLANK Strategy + TSL", initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, pyramiding=1, commission_value=0.075, overlay=true) //////////////////////////////////////////////////////////////////////////////// // BACKTESTING RANGE // From Date Inputs fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2019, title = "From Year", minval = 1970) // To Date Inputs toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2020, title = "To Year", minval = 1970) // Calculate start/end date and time condition startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true //////////////////////////////////////////////////////////////////////////////// /// YOUR INPUTS BELOW - DELET EXAPLES /// ema1=ema(close,input(3)) ema2=ema(close,input(7)) ema3=ema(close,input(13)) /// PLOTS IF YOU NEED BELOW - DELET EXAPLES /// plot(ema1, "EMA1", color.yellow) plot(ema2, "EMA2", color.white) plot(ema3, "EMA3", color.blue) /// YOUR CONDITIONS BELOW - DELET EXAPLES /// longCondition = close>ema1 and ema1>ema2 and ema2>ema3 and time_cond shortCondition = close<ema1 and ema1<ema2 and ema2<ema3 and time_cond /// EXECUTION /// if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Long Exit", "Long", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Short Exit", "Short", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick)