बहु-अवधि गतिशील चलती औसत रणनीति


निर्माण तिथि: 2023-10-27 16:07:16 अंत में संशोधित करें: 2023-10-27 16:07:16
कॉपी: 1 क्लिक्स: 647
1
ध्यान केंद्रित करना
1617
समर्थक

बहु-अवधि गतिशील चलती औसत रणनीति

यह रणनीति गतिशील रूप से विभिन्न प्रकार के चलती औसत का चयन करके और कई समय चक्रों के साथ संयोजन करके ट्रेडिंग सिग्नल उत्पन्न करती है।

रणनीति सिद्धांत

यह रणनीति SMA, EMA, TEMA, WMA और HMA के पांच चलती औसत संकेतकों को चुनने की अनुमति देती है और औसत रेखा की अवधि निर्धारित करती है। रणनीति गतिशीलता के आधार पर विभिन्न प्रकार के औसत रेखाओं को चित्रित करती है। जब समापन मूल्य बढ़ता है तो औसत रेखा को तोड़ने के लिए, अधिक करें; जब समापन मूल्य गिरता है तो औसत रेखा को तोड़ने के लिए, शून्य करें।

विशेष रूप से, रणनीति पहले इनपुट मापदंडों के आधार पर रिटारगेटिंग चक्र को परिभाषित करती है। इसके बाद पांच औसत संकेतक की गणना की जाती हैः

  • SMA सरल चलती औसत
  • ईएमए इंडेक्स चलती औसत
  • TEMA तीन सूचक चलती औसत
  • WMA भारित चलती औसत
  • एचएमए हुल चलती औसत

चयन के अनुसार, एक उपयुक्त औसत रेखा खींचें। जब समापन मूल्य औसत से अधिक हो, तो अधिक करें; जब समापन मूल्य औसत से कम हो, तो शून्य करें।

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

रणनीतिक लाभ

  • संयोजन में कई औसत रेखा संकेतक का उपयोग किया जाता है, उच्च विश्वसनीयता
  • अनुकूलन योग्य सम-रेखा चक्र, विभिन्न चक्र संचालन के लिए उपयुक्त
  • गतिशील स्विच समरेखा प्रकार, अनुकूलन पैरामीटर लचीलापन
  • ट्रेंड ट्रैक करने के लिए सरल और सहज रणनीति

रणनीतिक जोखिम

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

जोखिमों को कम करने के लिए, निम्नलिखित में से कुछ को अनुकूलित करेंः

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

अनुकूलन दिशा

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

  1. अधिक स्थिर व्यापारिक संकेतों के लिए अन्य संकेतकों को फ़िल्टर करना

उदाहरण के लिए, एक मात्रा क्षमता संकेतक जोड़ा जा सकता है, जो केवल लेनदेन की मात्रा में वृद्धि के मामले में एक व्यापारिक संकेत उत्पन्न करता है, कुछ झूठी सफलताओं को फ़िल्टर करता है।

  1. लॉजिक को अनुकूलित करें

एक चैनल सेट किया जा सकता है, केवल तभी प्रवेश किया जा सकता है जब कीमत एक चैनल को तोड़ती है; एक स्टॉप लॉस लाइन सेट करें, और स्टॉप लॉस लाइन को छूने के बाद कीमत को समतल करें। यह अनावश्यक नुकसान को कम कर सकता है।

  1. गतिशील समायोजन औसत चक्र

बाजार की स्थिति की गतिशीलता के आधार पर औसत रेखा चक्र को समायोजित किया जा सकता है, प्रवृत्ति अधिक स्पष्ट होने पर लंबी अवधि की औसत रेखा का उपयोग करें, और संचय के लिए छोटी अवधि की औसत रेखा का उपयोग करें।

  1. धन प्रबंधन रणनीति का अनुकूलन

निकासी की स्थिति के अनुसार स्थिति का आकार समायोजित किया जा सकता है, निकासी के समय स्थिति को कम किया जा सकता है, जब लाभदायक हो तो स्थिति को मामूली रूप से बढ़ाया जा सकता है।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-10-20 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MA_strategy ", shorttitle="MA_strategy", overlay=true, initial_capital=100000)

qty = input(100000000, "Buy quantity")

testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testStartMin = input(0, "Backtest Start Minute")

testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,testStartHour,testStartMin)

testStopYear = input(2099, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)


testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false


ma1 = input( "SMA",title="Select MA", options=["SMA", "EMA","TEMA", "WMA","HMA"])


len1 = input(7, minval=1, title="Period")

s=sma(close,len1)

e=ema(close,len1)


xEMA1 = ema(close, len1)
xEMA2 = ema(xEMA1, len1)
xEMA3 = ema(xEMA2, len1)
t = 3 * xEMA1 - 3 * xEMA2 + xEMA3


f_hma(_src, _length)=>
    _return = wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))

h = f_hma(close, len1)

w = wma(close, len1)

ma = ma1 == "SMA"?s:ma1=="EMA"?e:ma1=="WMA"?w:ma1=="HMA"?h:ma1=="TEMA"?t:na

buy= close>ma
sell= close<ma

alertcondition(buy, title='buy', message='buy')
alertcondition(sell, title='sell', message='sell')

ordersize=floor(strategy.equity/close)

if testPeriod()
    strategy.entry("long",strategy.long,ordersize,when=buy)
    strategy.close("long", when = sell )