एडीएक्स, बीबी %बी, एओ और ईएमए के आधार पर चार-कारक मोमेंटम ट्रैकिंग ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-12-11 16:24:11
टैगः

img

##समीक्षा इस रणनीति का नाम चार कारक गति ट्रैकिंग रणनीति है। यह प्रवृत्ति की दिशा निर्धारित करने के लिए औसत दिशात्मक आंदोलन सूचकांक (एडीएक्स), स्टॉक की सापेक्ष शक्ति का न्याय करने के लिए बोलिंगर बैंड्स प्रतिशत बी (बीबी % बी), गति निर्धारित करने के लिए भयानक थरथरानवाला (एओ) और विभिन्न चक्र घातीय चलती औसत (ईएमए) को जोड़ती है, जो स्टॉक की कीमतों का गतिशील ट्रैकिंग प्राप्त करती है और मजबूत स्टॉक का पीछा करती है और कमजोर लोगों से बचती है।

##नीति सिद्धांत
रणनीति में प्रवेश और निकास बिंदुओं को निर्धारित करने के लिए चार अलग-अलग तकनीकी संकेतकों का उपयोग किया गया है। विशिष्ट तर्क इस प्रकार हैः

लंबी प्रविष्टि की शर्तः 5-दिवसीय ईएमए 21-दिवसीय ईएमए से ऊपर, 50-दिवसीय ईएमए 200-दिवसीय ईएमए से ऊपर, बीबी %बी सेट ओवरबॉट लाइन से अधिक है, एओ सेट सकारात्मक मूल्य से अधिक है, और एडीएक्स सेट मूल्य से अधिक है।

लघु प्रवेश की शर्तः 5-दिवसीय ईएमए 21-दिवसीय ईएमए से नीचे, 50-दिवसीय ईएमए 200-दिवसीय ईएमए से नीचे, बीबी %बी सेट ओवरसोल्ड लाइन से कम है, एओ सेट नकारात्मक मूल्य से कम है, और एडीएक्स सेट मूल्य से अधिक है।

##लाभ विश्लेषण यह रणनीति स्टॉक की प्रवृत्ति दिशा और सापेक्ष शक्ति निर्धारित करने के लिए कई संकेतकों को जोड़ती है, जो प्रभावी रूप से झूठे ब्रेकआउट को फ़िल्टर कर सकती है। विशिष्ट लाभ हैंः

  1. एडीएक्स सूचक प्रभावशाली रूप से प्रवृत्ति के अस्तित्व और बल को निर्धारित कर सकता है, जिससे सदमे के बाजार में बार-बार खुलने से बचा जा सकता है।

  2. बीबी %बी सूचक यह आकलन करता है कि क्या व्यक्तिगत स्टॉक उच्च या निम्न स्तर पर हैं, जो प्रभावी रूप से उच्च और बिक्री निम्न का पीछा करने से बच सकते हैं।

  3. एओ संकेतक यह निर्धारित करता है कि खरीदारी के दौरान ब्रेकआउट की प्रभावशीलता सुनिश्चित करने के लिए अपेक्षाकृत मजबूत गति समर्थन है या नहीं।

  4. ईएमए संकेतक का गोल्डन क्रॉस/डेड क्रॉस बाजार की मुख्य दिशा के आकलन के साथ मिलकर रुझान के खिलाफ पदों को खोलने से बचाता है।

संक्षेप में, यह रणनीति व्यापारिक जोखिमों को प्रभावी ढंग से नियंत्रित कर सकती है और बाजार में मजबूत स्टॉक को ट्रैक कर सकती है।

जोखिम विश्लेषण यद्यपि रणनीति जोखिम नियंत्रण के लिए कई संकेतकों का उपयोग करती है, फिर भी कुछ जोखिम हैंः

  1. कई घातीय संकेतकों का संयोजन पैरामीटर समायोजन के प्रति संवेदनशील है। अनुचित पैरामीटर संयोजन वांछित प्रभाव प्राप्त करने में विफल हो सकते हैं।

  2. अत्यधिक गति का पीछा करने से बाजार के वास्तविक पलटाव के बिंदुओं को याद किया जा सकता है। लाभ और हानि को समय पर नियंत्रित किया जाना चाहिए।

  3. ईएमए जैसे संकेतकों की प्रकृति पिछड़ी होती है और समय में अचानक घटनाओं के प्रभाव को प्रतिबिंबित करने में सक्षम नहीं हो सकते हैं। एमए अवधि को उचित रूप से छोटा किया जाना चाहिए या अन्य संकेतकों के साथ उपयोग किया जाना चाहिए।

  4. प्रमुख अचानक घटनाओं के कारण संकेतकों में विचलन हो सकता है। मौलिक विश्लेषण को मिलाया जाना चाहिए और यदि आवश्यक हो तो रणनीति को अस्थायी रूप से बंद किया जा सकता है।

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

  1. इष्टतम पैरामीटर संयोजन खोजने के लिए मशीन लर्निंग का उपयोग करें।

  2. आकलन की सटीकता में सुधार के लिए एक सूचक संयोजन बनाने के लिए CCI और MACD जैसे रुझानों को निर्धारित करने वाले अन्य संकेतक जोड़ें।

  3. एकल हानि को नियंत्रित करने के लिए स्टॉप-लॉस रणनीतियाँ जोड़ें।

  4. अत्यधिक लालच से बचने के लिए प्रतीक्षा समय निर्धारित करें।

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


/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//ADX + BB %B + AO + EMA

strategy("ADX + BB %B + AO + EMA", overlay=true, initial_capital=10000)
take_profit_perc = input(title="Take Profit %", type=input.integer, defval=10, minval=1, maxval=100)
stop_loss_perc = input(title="Stop Loss %", type=input.integer, defval=5, minval=1, maxval=100)
bb_overbought = input(title="BB %B Overbought", type=input.integer, defval=75, minval=1, maxval=100)
bb_oversold = input(title="BB %B Oversold", type=input.integer, defval=25, minval=1, maxval=100)
ao_value = input(title="Awesome Oscillator", type=input.integer, defval=2)
adx_value = input(title="ADX", type=input.integer, defval=15)

startDate = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer, defval=2018, minval=2008, maxval=2200)

inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0))

ema5 = ema(close, 5)
ema21 = ema(close, 21)
ema50 = ema(close, 50)
ema200 = ema(close, 200)

//BB %B
length = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)

//Awesome Oscillator
ao = sma(hl2,5) - sma(hl2,34)

// ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
	minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)
	[plus, minus]
adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)

long_strategy = ema5>ema21 and ema50>ema200 and bbr>(bb_overbought/100) and ao>ao_value and sig>adx_value
short_strategy = ema5<ema21 and ema50<ema200 and bbr<(bb_oversold/100) and ao<-ao_value and sig>adx_value

plot(ema5, color=color.blue)
plot(ema21, color=color.aqua)
plot(ema50, color=color.purple)
plot(ema200, color=color.red)
bgcolor(color=long_strategy ? color.green : na, transp=80)
bgcolor(color=short_strategy ? color.purple : na, transp=80)
    
if inDateRange and long_strategy
    strategy.entry("long", strategy.long)
    strategy.exit("exit", "long", stop=close*(100-stop_loss_perc)/100, limit=close*(100+take_profit_perc)/100)
if inDateRange and short_strategy
    strategy.entry("short", strategy.short)
    strategy.exit("exit", "short", stop=close*(100+stop_loss_perc)/100, limit=close*(100-take_profit_perc)/100)


अधिक