
यह रणनीति विभिन्न प्रकार के चलती औसत की गणना करके कीमतों के रुझान की दिशा का आकलन करती है, ताकि एकतरफा स्थिति को पूरा किया जा सके। जब कीमतें चलती औसत को तोड़ती हैं, तो अधिक या कम हो जाती हैं।
इस रणनीति में 7 अलग-अलग प्रकार के चलती औसत का चयन करने की अनुमति है, जिसमें सरल चलती औसत (एसएमए), सूचकांक चलती औसत (ईएमए), लेन-देन भारित औसत (वीडब्ल्यूएमए), द्वि-सूचकांक चलती औसत (डीईएमए), त्रि-सूचकांक चलती औसत (टीईएमए), कोफमैन अनुकूलित चलती औसत (केएएमए) और मूल्य चैनल की मध्य रेखा शामिल हैं। चयनित चलती औसत और समापन मूल्य के संबंध की गणना करके मूल्य प्रवृत्ति की दिशा का आकलन करें।
जब समापन मूल्य नीचे से ऊपर की ओर से चलती औसत को तोड़ता है, तो इसे उछाल के रूप में माना जाता है, और अधिक स्थिति खोलें; जब समापन मूल्य ऊपर से नीचे की ओर से चलती औसत को तोड़ता है, तो इसे गिरावट के रूप में माना जाता है, और स्थिति को खाली कर दिया जाता है।
इस रणनीति के निम्नलिखित फायदे हैं:
कई प्रकार के चलती औसत प्रकारों का चयन किया जा सकता है, जो विभिन्न किस्मों और अवधि के लिए लचीलापन प्रदान करता है।
एकतरफा पोजीशन के जरिए जोखिम को नियंत्रित किया जा सकता है।
यह एक अच्छा विकल्प है, लेकिन यह भी एक अच्छा विकल्प है।
इसे समझना और लागू करना आसान है।
इस रणनीति के कुछ जोखिम भी हैं:
जब कीमतें चलती औसत के पास झूलती हैं, तो कई बार गलत संकेत और रिवर्स ओपनिंग होते हैं। जोखिम को नियंत्रित करने के लिए उचित स्टॉप लॉस सेट किया जा सकता है।
कीमतों में तेजी से वृद्धि या गिरावट के जोखिम को पूरी तरह से टाला नहीं जा सकता है।
विश्लेषकों को उचित चलती औसत मापदंडों का चयन करने की आवश्यकता होती है, और अनुचित मापदंडों से ट्रेडिंग सिग्नल में देरी हो सकती है।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
ट्रेडिंग पोर्टफोलियो के लिए अन्य तकनीकी संकेतकों जैसे कि MACD, RSI आदि के साथ संयोजन में ट्रेंड सिग्नल।
स्टॉप लॉजिक जोड़ें. स्टॉप को स्थानांतरित करें या स्टॉप को रोकें.
मापदंडों का परीक्षण और अनुकूलन करें, सबसे अच्छा संयोजन चुनें। जैसे कि चलती औसत अवधि, चलती औसत प्रकार आदि।
प्रवृत्ति के संचालन को ट्रैक करने के लिए, एक प्रविष्टि रणनीति पर विचार किया जा सकता है, जैसे कि तत्काल लेनदेन प्रकार।
यह रणनीति एकतरफा स्थिति खोलने के लिए कीमत की प्रवृत्ति की दिशा का आकलन करने के लिए एक चलती औसत पर आधारित है। इसका उपयोग सरल है, इसे लागू करना आसान है, और जोखिम को प्रभावी ढंग से नियंत्रित किया जा सकता है। लेकिन गलत संकेत और रिवर्स स्थिति खोलने का जोखिम भी हो सकता है। अन्य संकेतकों के संयोजन, पैरामीटर को अनुकूलित करने, स्टॉप लॉस जोड़ने आदि के माध्यम से रणनीति को लगातार सुधारने के लिए इसे अधिक स्थिर और विश्वसनीय बनाया जा सकता है।
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = "Noro's MAs Tests v1.1", shorttitle = "MAs tests 1.1", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
needlong = input(true, "long")
needshort = input(true, "short")
len = input(30, defval = 30, minval = 2, maxval = 1000, title = "MA length")
type = input(1, defval = 1, minval = 1, maxval = 7, title = "Type")
src = input(close, defval = close, title = "Source")
anti = input(true, defval = true, title = "Antipila")
//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
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
plot(ma, color = blue, linewidth = 3, transp = 0)
trend = anti == false and close > ma ? 1 : anti == false and close < ma ? -1 : low > ma ? 1 : high < ma ? -1 : trend[1]
longCondition = trend == 1 and trend[1] == -1
if (longCondition)
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
shortCondition = trend == -1 and trend[1] == 1
if (shortCondition)
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)