बहुभुज चलती औसत रणनीति

लेखक:चाओझांग, दिनांकः 2023-10-31 14:53:50
टैगः

img

अवलोकन

बहुभुज चलती औसत रणनीति विभिन्न अवधियों के कई चलती औसत के साथ एक बहुभुज का निर्माण करती है और बहुभुज की सफलता को ट्रेडिंग संकेतों के रूप में उपयोग करती है। यह प्रवृत्ति-अनुसरण रणनीति कई समय सीमाओं को शामिल करती है और प्रभावी रूप से बाजार शोर को फ़िल्टर कर सकती है और मुख्य प्रवृत्ति को पकड़ सकती है।

रणनीति तर्क

यह रणनीति बहुभुज चैनल बनाने के लिए 3 अवधि, 7 अवधि और 13 अवधि के ईएमए जैसे कई ईएमए को प्लॉट करती है। जब कीमत ईएमए के ऊपर टूटती है, तो एक लंबा संकेत उत्पन्न होता है। जब कीमत ईएमए के नीचे टूटती है, तो एक छोटा संकेत उत्पन्न होता है। इससे कई झूठे ब्रेकआउट से बचने में मदद मिलती है।

कोड बंद> ईएमए1 और ईएमए1> ईएमए2 और ईएमए2> ईएमए3 जैसी शर्तों का उपयोग करके ईएमए के लिए बंद मूल्य की तुलना करके ब्रेकथ्रू सिग्नल निर्धारित करता है। बैकटेस्ट अवधि को सीमित करने के लिए समय की स्थिति time_cond जोड़ी जाती है। रणनीति प्रवेश के बाद लाभ की रक्षा के लिए एक ट्रेलिंग स्टॉप लॉस का उपयोग करती है।

लाभ

इस रणनीति का सबसे बड़ा लाभ शोर से बचने के लिए फिल्टर के रूप में कई चलती औसत का उपयोग करके मुख्य प्रवृत्ति दिशा को प्रभावी ढंग से कैप्चर करने की क्षमता है।

जोखिम और समाधान

मुख्य जोखिम यह है कि यह रणनीति प्रवृत्ति उलट बिंदुओं की पहचान करने में विफल रहती है और प्रवृत्ति उलट के दौरान नुकसान का कारण बन सकती है। अनुचित एमए अवधि सेटिंग्स के परिणामस्वरूप ओवरट्रेडिंग या लेगिंग सिग्नल भी हो सकते हैं। एमए संयोजनों को अनुकूलित करके जोखिमों को कम किया जा सकता है, रिवर्स इंडिकेटर जोड़ना, स्टॉप लॉस रेंज को चौड़ा करना, आदि।

अनुकूलन दिशाएँ

इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः

  1. सबसे अच्छा संयोजन खोजने के लिए एमए अवधि का अनुकूलन करें।

  2. समय पर ट्रेडों से बाहर निकलने के लिए आरएसआई और एमएसीडी जैसे रिवर्स इंडिकेटर जोड़ें।

  3. समय से पहले स्टॉप लॉस को कम करने के लिए स्टॉप लॉस रेंज और ऑफसेट को अनुकूलित करें।

  4. अनुकूलन क्षमता में सुधार के लिए विभिन्न उत्पादों के लिए मापदंडों का अनुकूलन करें।

सारांश

बहुभुज चलती औसत रणनीति आम तौर पर एक विश्वसनीय और प्रभावी प्रवृत्ति निम्नलिखित प्रणाली है। इसकी सबसे बड़ी ताकत शोर को महत्वपूर्ण रूप से फ़िल्टर करते हुए मुख्य प्रवृत्ति को कैप्चर करना है। लेकिन इसके उल्टा होने की पहचान करने में कुछ सीमाएं हैं। हम इसे पैरामीटर अनुकूलन, सहायक संकेतक जोड़ने आदि से सुधार सकते हैं। यह स्पष्ट रुझानों वाले बाजारों के लिए उपयुक्त है और उचित रूप से उपयोग किए जाने पर स्थिर लाभ उत्पन्न कर सकता है।


/*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)

अधिक