मल्टी इंडिकेटर कंडीशन फिल्टरिंग पर आधारित मात्रात्मक रणनीति के बाद एक दिन के भीतर की प्रवृत्ति

लेखक:चाओझांग, दिनांक: 2023-12-15 15:59:37
टैगः

img

अवलोकन

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

सिद्धांत

इस रणनीति के मुख्य मूल्यांकन नियम हैंः

  1. पीएसएआर सूचक का उपयोग करके यह आकलन करें कि क्या कीमतें ऊपर की ओर बढ़ रही हैं। पीएसएआर की कीमतों से नीचे की ओर गिरावट बढ़ने की प्रवृत्ति के अंत और नीचे की ओर बढ़ने की प्रवृत्ति की शुरुआत का संकेत देती है।

  2. ओवरसोल्ड जोन में होने वाले झूठे ब्रेकआउट को फ़िल्टर करने के लिए आरएसआई को 50 के मध्य बिंदु से ऊपर की आवश्यकता होती है।

  3. एडीएक्स को अपनी ईएमए रेखा से ऊपर रखने की आवश्यकता है, जो रुझान विश्लेषण में एक स्थायी संकेत दर्शाता है।

  4. सीएमएफ को 0 से अधिक होने की आवश्यकता है, जो बढ़े हुए धन प्रवाह को देखते हुए है।

खरीद संकेत तब उत्पन्न होते हैं जब उपरोक्त सभी चार शर्तें पूरी हो जाती हैं। बिक्री की शर्तें तब होती हैं जब पीएसएआर कीमतों से ऊपर उठता है, आरएसआई 50 से नीचे गिरता है, एडीएक्स अपने ईएमए से नीचे गिरता है और सीएमएफ 0 से कम हो जाता है।

यह रणनीति व्यापारिक नियमों को स्थापित करते समय मूल्य प्रवृत्ति की दिशा, प्रवृत्ति की ताकत, ओवरबॉट/ओवरसोल्ड स्थिति और धन प्रवाह को व्यापक रूप से ध्यान में रखती है। व्यापारिक संकेत उत्पन्न करते समय सख्त तार्किक नियम निर्धारित करके, झूठे ब्रेकआउट को प्रभावी ढंग से फ़िल्टर किया जा सकता है और उच्च संभावना वाले स्थायी प्रवृत्ति दिशाओं को कैप्चर किया जा सकता है।

लाभ

इस रणनीति के मुख्य लाभों में निम्नलिखित शामिल हैंः

  1. ट्रेडिंग नियमों को स्थापित करने में कई संकेतकों का संयोजन करने से झूठे ब्रेकआउट को प्रभावी ढंग से रोका जा सकता है और संकेत की गुणवत्ता सुनिश्चित की जा सकती है।

  2. उभरती प्रवृत्ति की दिशाओं का शीघ्र पता लगाना और उन्हें ट्रैक करना अधिकांश प्रवृत्ति लाभ प्राप्त करने में सक्षम बनाता है।

  3. प्रक्रिया फ़िल्टरिंग स्थितियों को स्थापित करने से जोखिमों को प्रभावी ढंग से नियंत्रित किया जा सकता है और ट्रैकिंग प्रभावशीलता सुनिश्चित की जा सकती है।

  4. रुझान की मजबूती को ध्यान में रखते हुए ट्रेडिंग रेंज की भीड़भाड़ से बचने में मदद मिलती है।

जोखिम विश्लेषण

इस रणनीति के मुख्य जोखिमों में निम्नलिखित शामिल हैंः

  1. एकल रणनीति संचय से पोर्टफोलियो जोखिम उत्पन्न होता है, जिसके लिए उचित स्थिति आकार की आवश्यकता होती है।

  2. रद्द होने पर हानि से बचने के लिए ट्रैकिंग के दौरान फ़िल्टरिंग की स्थिति में परिवर्तन की बारीकी से निगरानी करें।

  3. यह मध्यम/लंबी अवधि की रणनीति अल्पकालिक उतार-चढ़ाव से बाधित हो सकती है और इसमें स्टॉप लॉस जोखिम होता है।

संबंधित जोखिम प्रबंधन उपायों में शामिल हैंः स्थिति आकार के नियमों का अनुकूलन, जोखिम अलर्ट लाइनों की स्थापना और स्टॉप दूरी आदि का विस्तार करना।

अनुकूलन दिशाएँ

अनुकूलन स्थानों में शामिल हैंः

  1. वर्तमान व्यक्तिपरक सेटिंग्स को देखते हुए मशीन लर्निंग के माध्यम से पैरामीटर अनुकूलन।

  2. जोखिम के आधार पर गतिशील रूप से आकार देने वाला स्थिति आकार मॉड्यूल जोड़ें।

  3. स्टॉप तंत्रों में सुधार करना जैसे कि ट्रेसिंग स्टॉप, टाइम स्टॉप या ब्रेकआउट स्टॉप।

निष्कर्ष

सूचकों को जोड़ने वाली यह रणनीति तेजी से उभरते रुझानों का पता लगाने और ट्रैक करने में प्रभावी साबित हुई, रुझानों और फंडों जैसे कई आयामों के आधार पर मात्रात्मक व्यापार को मान्य किया। एक आधार के रूप में, इसे चक्रों में अनुक्रमित किया जा सकता है। पैरामीटर ट्यूनिंग और मॉड्यूलर सुधारों के साथ, यह एक स्थिर मध्यम / दीर्घकालिक रणनीति भी बन सकती है।


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

//@version=4
strategy("psar+ adx + cmf + rsi Strategy", overlay=true,initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent , commission_value=0.1 )

start = input(1.02)
increment = input(1.02)
maximum = input(1.2)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
	firstTrendBar = false
	SAR := nextBarSAR
	if bar_index == 1
		float prevSAR = na
		float prevEP = na
		lowPrev = low[1]
		highPrev = high[1]
		closeCur = close
		closePrev = close[1]
		if closeCur > closePrev
			uptrend := true
			EP := high
			prevSAR := lowPrev
			prevEP := high
		else
			uptrend := false
			EP := low
			prevSAR := highPrev
			prevEP := low
		firstTrendBar := true
		SAR := prevSAR + start * (prevEP - prevSAR)
	if uptrend
		if SAR > low
			firstTrendBar := true
			uptrend := false
			SAR := max(EP, high)
			EP := low
			AF := start
	else
		if SAR < high
			firstTrendBar := true
			uptrend := true
			SAR := min(EP, low)
			EP := high
			AF := start
	if not firstTrendBar
		if uptrend
			if high > EP
				EP := high
				AF := min(AF + increment, maximum)
		else
			if low < EP
				EP := low
				AF := min(AF + increment, maximum)
	if uptrend
		SAR := min(SAR, low[1])
		if bar_index > 1
			SAR := min(SAR, low[2])
	else
		SAR := max(SAR, high[1])
		if bar_index > 1
			SAR := max(SAR, high[2])
	nextBarSAR := SAR + AF * (EP - SAR)

//rsi strat
length = input( 50 )
middle_RSI=input(49)
price = close
vrsi = rsi(price, length)

//cmf
lengthCMF = input(20, minval=1)
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthCMF) / sum(volume, lengthCMF)

//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)
ema_length=input(10)
ema_sig= ema(sig,ema_length)


long = not uptrend  and vrsi > middle_RSI and sig > ema_sig   and mf>0 
short= uptrend   and vrsi < middle_RSI and sig<ema_sig and mf<0

strategy.entry("long",1,when=long)
strategy.close('long',when=short)

अधिक