यह रणनीति तेजी से चलती औसत और धीमी गति से चलती औसत के संयोजन का उपयोग करती है ताकि प्रवृत्ति की दिशा का पता लगाया जा सके। यह द्विआधारी चलती औसत ट्रेडिंग प्रणाली के अंतर्गत आता है।
इस रणनीति में कम लंबाई की तेज चलती औसत और अधिक लंबाई की धीमी चलती औसत का उपयोग किया जाता है।
धीमी गति से MA का उपयोग मुख्य प्रवृत्ति की दिशा का निर्णय करने के लिए किया जाता है। जब कीमत MA के ऊपर होती है, तो यह एक उछाल प्रवृत्ति के रूप में निर्णय लिया जाता है; जब कीमत MA के नीचे होती है, तो यह एक गिरावट प्रवृत्ति के रूप में निर्णय लिया जाता है।
एक तेजी की प्रवृत्ति में, यदि एक तेज एमए एक धीमी एमए से गुजरता है, तो एक खरीद संकेत उत्पन्न होता है; एक गिरावट की प्रवृत्ति में, यदि एक तेज एमए एक धीमी एमए से गुजरता है, तो एक बेचने का संकेत उत्पन्न होता है।
ट्रेडिंग सिग्नल उत्पन्न होने के बाद, आप चुन सकते हैं कि स्टॉप लॉस को ट्रैक करना जारी रखें या नहीं।
MA संयोजन ट्रेंड को पहचानने में मदद करता है।
फास्ट एमए अधिक संवेदनशील ट्रेडिंग सिग्नल उत्पन्न कर सकता है।
धीमी गति से एमए बाजार के शोर को दूर करता है और नकली सफलताओं को रोकता है।
कई एमए एल्गोरिदम जैसे ईएमए, डीईएमए आदि का चयन किया जा सकता है।
स्टॉप लॉस ट्रैक करने के लिए स्टॉप लॉस रणनीति सक्षम करें।
एमए में विलंबता की समस्या है, जिससे सिग्नल विलंब हो सकता है। अधिक संवेदनशील पैरामीटर का परीक्षण किया जा सकता है।
रुकावट बिंदु बहुत करीब हो सकता है, एक ब्रेकडाउन के कारण नुकसान हो सकता है। उचित रूप से उतार-चढ़ाव के लिए जगह छोड़ दी जानी चाहिए।
लेन-देन की मात्रा को ध्यान में रखे बिना, कीमतों में हेरफेर का खतरा है। लेन-देन की मात्रा की पुष्टि जोड़ सकते हैं।
केवल संकेतकों के आधार पर झूठे संकेत उत्पन्न करने की संभावना। अन्य कारकों के साथ पुष्टि की जा सकती है।
पैरामीटर अनुकूलन की कठिनाई. चरणबद्ध अनुकूलन या आनुवंशिक एल्गोरिदम का उपयोग करके इष्टतम पैरामीटर की खोज की जा सकती है.
विभिन्न एमए एल्गोरिदम के मापदंडों का परीक्षण करें और इष्टतम मापदंड खोजें।
संवेदनशीलता बढ़ाने के लिए चलती औसत का अध्ययन किया गया।
सिग्नल फ़िल्टरिंग अनुकूलन के लिए अन्य संकेतकों या कारकों को जोड़ना।
एक गतिशील रोकथाम तंत्र की स्थापना, जो रोकथाम को अधिक लचीला बनाता है
एटीआर गतिशीलता के आधार पर स्थिति को समायोजित करने के लिए धन प्रबंधन रणनीतियों का अनुकूलन करना।
इस रणनीति का उपयोग दो एमए क्रॉस निर्णय प्रवृत्ति व्यापार संकेत उत्पन्न करने के लिए, आप रोक नुकसान सीमित करने के जोखिम की स्थापना कर सकते हैं. इसकी व्यापार तर्क सरल और स्पष्ट है, लेकिन पैरामीटर चयन कठिनाई और अन्य समस्याएं हैं. यह पैरामीटर अनुकूलन, संकेतक फ़िल्टर, रोक नुकसान रणनीति आदि के माध्यम से सुधार किया जा सकता है, ताकि रणनीति अधिक स्थिर और विश्वसनीय हो सके.
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = "Noro's Trend MAs Strategy v1.7", shorttitle = "Trend MAs str 1.7", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
//Settings
needlong = input(true, "long")
needshort = input(true, "short")
needstops = input(false, "stops")
stoppercent = input(5, defval = 5, minval = 1, maxval = 50, title = "Stop, %")
type = input(7, defval = 7, minval = 1, maxval = 7, title = "Type of Slow MA")
src = input(close, defval = close, title = "Source of Slow MA")
usefastsma = input(true, "Use fast MA Filter")
fastlen = input(5, defval = 5, minval = 1, maxval = 50, title = "fast MA Period")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "slow MA Period")
bars = input(2, defval = 2, minval = 0, maxval = 3, title = "Bars Q")
needbg = input(false, defval = false, title = "Need trend Background?")
needarr = input(false, defval = false, title = "Need entry arrows?")
fastsma = ema(src, fastlen)
//DEMA
dema = 2 * ema(src, len) - ema(ema(close, len), len)
//TEMA
xPrice = close
xEMA1 = ema(src, len)
xEMA2 = ema(xEMA1, len)
xEMA3 = ema(xEMA2, len)
tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3
//KAMA
xvnoise = abs(src - src[1])
nfastend = 0.20
nslowend = 0.05
nsignal = abs(src - src[len])
nnoise = sum(xvnoise, len)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2)
kama = nz(kama[1]) + nsmooth * (src - nz(kama[1]))
//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
//Trend
ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0
trend = low > ma and low[1] > ma[1] and low[2] > ma[2] ? 1 : high < ma and high[1] < ma[1] ? -1 : trend[1]
//Bars
bar = close > open ? 1 : close < open ? -1 : 0
redbars = bars == 0 ? 1 : bars == 1 and bar == -1 ? 1 : bars == 2 and bar == -1 and bar[1] == -1 ? 1 : bars == 3 and bar == -1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0
greenbars = bars == 0 ? 1 : bars == 1 and bar == 1 ? 1 : bars == 2 and bar == 1 and bar[1] == 1 ? 1 : bars == 3 and bar == 1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0
//Signals
min = min(open, close)
max = max(open, close)
up = trend == 1 and (low < fastsma or usefastsma == false) and redbars == 1 ? 1 : 0
dn = trend == -1 and (high > fastsma or usefastsma == false) and greenbars == 1 ? 1 : 0
//Lines
colorfastsma = usefastsma == true ? red : na
plot(fastsma, color = colorfastsma, title = "Fast MA")
plot(ma, color = blue, linewidth = 3, transp = 0, title = "Slow MA")
//Arrows
plotarrow(up == 1 and needarr == true ? 1 : 0, colorup = black, colordown = black, transp = 0)
plotarrow(dn == 1 and needarr == true ? -1 : 0, colorup = black, colordown = black, transp = 0)
//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 90)
//Alerts
alertcondition(up == 1, title='buy', message='Uptrend')
alertcondition(dn == 1, title='sell', message='Downtrend')
//Trading
stoplong = up == 1 and needstops == true ? close - (close / 100 * stoppercent) : stoplong[1]
stopshort = dn == 1 and needstops == true ? close + (close / 100 * stoppercent) : stopshort[1]
longCondition = up == 1
if (longCondition)
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
strategy.exit("Stop Long", "Long", stop = stoplong)
shortCondition = dn == 1
if (shortCondition)
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
strategy.exit("Stop Short", "Short", stop = stopshort)