दोहरी चलती औसत ट्रेंड ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-04 15:57:12
टैगः

img

अवलोकन

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

सिद्धांत

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

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

लाभ

  1. प्रवृत्ति के अनुसरण और औसत प्रतिगमन को जोड़ती है, जो बाजार के वातावरण में अनुकूलन योग्य है।

  2. पूर्व संकेतों की बहु-कारक समीक्षा झूठे संकेतों से बचकर जीत की दर में सुधार करती है।

  3. एमए लंबाई, मोमबत्तियों के रंग आदि की जांच करके अनुकूलन योग्य

  4. स्पष्ट, संक्षिप्त तर्क, शुरुआती के अनुकूल।

जोखिम

  1. रेंज बाजारों के दौरान Whipsaws नुकसान / ड्रॉडाउन का कारण बन सकता है। हानि सीमाओं या एमए मापदंडों का अनुकूलन करने पर विचार करें।

  2. साइडवेज के दौरान संभावित whipsaws नुकसान का कारण बन सकता है। जाँच की गई मोमबत्तियों की संख्या को समायोजित करने या औसत प्रतिगमन को अक्षम करने का प्रयास करें।

  3. मापदंडों और प्रदर्शन को मान्य करने के लिए व्यापक बैकटेस्टिंग की आवश्यकता है।

सुधार

  1. अन्य एमए प्रकारों का अन्वेषण करें जैसे ईएमए, केएएमए आदि।

  2. स्थिति आकार के नियम जोड़ें, जैसे कि निश्चित मात्रा या % इक्विटी आधारित।

  3. स्टॉप लॉस तंत्र में बिल्ड करें. यदि कीमत धीमी एमए से नीचे बंद हो जाती है तो बाहर निकलने पर विचार करें.

  4. स्थिरता सत्यापित करने के लिए विभिन्न उपकरणों पर परीक्षण।

निष्कर्ष

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


/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's Trend MAs 1.5", shorttitle = "Trend MAs 1.5", 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")
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")

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 ? 1 : high < ma ? -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
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")

//Trading
longCondition = up == 1
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)

अधिक