यह रणनीति गतिशील रूप से ट्रेडिंग संकेत उत्पन्न करने के लिए कई समय सीमाओं में विभिन्न प्रकार के चलती औसत का चयन करती है।
यह रणनीति एसएमए, ईएमए, टीईएमए, डब्ल्यूएमए और एचएमए मूविंग एवरेज से चयन करने की अनुमति देती है, जिसमें अनुकूलन योग्य अवधि की लंबाई होती है। चयन के आधार पर गतिशील रूप से विभिन्न प्रकार के मूविंग एवरेज प्लॉट किए जाएंगे। जब समापन मूल्य मूविंग एवरेज से ऊपर टूटता है तो यह लंबा हो जाता है, और जब समापन मूल्य नीचे टूटता है तो यह छोटा हो जाता है।
विशेष रूप से, रणनीति पहले इनपुट मापदंडों के आधार पर बैकटेस्ट अवधि को परिभाषित करती है। फिर यह पांच प्रकार के चलती औसत की गणना करती हैः
इसी चलती औसत को चयन के आधार पर ग्राफ किया जाता है। जब समापन मूल्य चलती औसत से ऊपर होता है, तो यह लंबा होता है, और जब नीचे होता है तो यह छोटा होता है।
विभिन्न प्रकार के चलती औसत को जोड़कर, रणनीति अधिक विश्वसनीय ट्रेडिंग संकेत उत्पन्न करने के लिए मूल्य डेटा को चिकनी कर सकती है और बाजार शोर को फ़िल्टर कर सकती है। अनुकूलन योग्य अवधि की लंबाई समय सीमाओं में विभिन्न रुझानों का व्यापार करने की अनुमति देती है।
जोखिमों को निम्न द्वारा कम किया जा सकता हैः
इस रणनीति में कई पहलुओं में सुधार किया जा सकता हैः
अधिक स्थिर संकेतों के लिए अन्य फ़िल्टर जोड़ें
उदाहरण के लिए, मात्रा की पुष्टि के बिना झूठे ब्रेकआउट से बचने के लिए वॉल्यूम संकेतक।
प्रवेश और निकास तर्क को अनुकूलित करें
अनावश्यक घाटे को कम करने के लिए मूल्य चैनल निर्धारित करें और घाटे को रोकें।
गतिशील चलती औसत अवधि
मजबूत रुझानों में अधिक अवधि और समेकन के दौरान कम अवधि का उपयोग करें।
धन प्रबंधन में सुधार
ड्रॉडाउन और लाभ लेने के आधार पर स्थिति के आकार को समायोजित करें।
रणनीति समय सीमाओं में विभिन्न चलती औसत को जोड़ती है ताकि अपेक्षाकृत स्थिर प्रवृत्ति निम्नलिखित प्रभाव उत्पन्न हो सके। प्रविष्टियों, निकासों, मापदंडों और धन प्रबंधन में अनुकूलन के लिए पर्याप्त जगह के साथ, इसे बेहतर वास्तविक दुनिया के प्रदर्शन के लिए सुधार किया जा सकता है।
/*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 )