
इस रणनीति का व्यापक उपयोग पीएसएआर सूचकांक मूल्य प्रवृत्ति का आकलन करने के लिए, ADX सूचकांक प्रवृत्ति की ताकत का आकलन करने के लिए, RSI सूचकांक ओवरबॉय ओवरसोल्ड क्षेत्र और CMF सूचकांक पूंजी प्रवाह का आकलन करने के लिए, एक क्रॉस-आवर्ती प्रवृत्ति ट्रैक प्रकार की मात्रात्मक व्यापार रणनीति का निर्माण। यह रणनीति मूल्य में तेजी से स्थिति का आकलन करने के लिए और बाद की प्रवृत्ति में निरंतर ट्रैक करने के लिए, मुख्य प्रवृत्ति के लाभ को पकड़ने की गारंटी देने के साथ-साथ प्रक्रिया की स्थिति को कम करने के लिए स्थिति को कम करने की स्थिति को कम करती है।
इस नीति के मुख्य निर्णय नियम इस प्रकार हैं:
पीएसएआर सूचक का उपयोग करके यह निर्धारित करने के लिए कि क्या कीमतें बढ़ रही हैं, पीएसएआर के नीचे की कीमतों को गिरावट के रूप में माना जाता है, जो बढ़ते रुझान को समाप्त करता है;
आरएसआई को मध्य रेखा 50 से ऊपर की आवश्यकता होती है ताकि ओवरसोल्ड क्षेत्र के गठन के लिए झूठे ब्रेक को फ़िल्टर किया जा सके;
ADX ने अपने ईएमए औसत से ऊपर की मांग की, जो कि रुझान विश्लेषण के परिणामों के लिए एक निरंतर संकेत है;
सीएमएफ 0 से अधिक की आवश्यकता है और इसे धनराशि के रूप में माना जाता है;
खरीद संकेत तब उत्पन्न होता है जब उपरोक्त चार शर्तें पूरी की जाती हैं; जब पीएसएआर को पूरा किया जाता है, तो आरएसआई 50 से कम है, एडीएक्स अपनी ईएमए औसत से कम है और सीएमएफ 0 से कम है, तो बेचने का संकेत उत्पन्न होता है।
इस रणनीति में मूल्य प्रवृत्ति की दिशा, प्रवृत्ति की ताकत, ओवरबॉय और ओवरसोल की स्थिति और धन प्रवाह को कई आयामों पर विचार किया गया है, जो ट्रेडिंग नियमों को निर्धारित करता है, जो ट्रेडिंग सिग्नल उत्पन्न करने का निर्णय लेते समय सख्त तार्किक निर्णय लेते हैं, जो झूठे ब्रेकआउट को प्रभावी ढंग से फ़िल्टर कर सकते हैं, और यह सुनिश्चित करते हैं कि प्रवृत्ति की दिशा को पकड़ने के लिए उच्च संभावना है।
इस रणनीति के मुख्य फायदे हैंः
कई सूचकांकों के संयोजन के साथ व्यापार नियम, जो कि व्यापारिक संकेतों की गुणवत्ता सुनिश्चित करने के लिए झूठी दरारों को प्रभावी ढंग से रोकता है;
उभरती हुई प्रवृत्तियों की दिशा को तेजी से पहचानना और उनका पालन करना, जिससे प्रवृत्तियों की प्रक्रिया के लाभों का पूरा लाभ उठाया जा सके;
फ़िल्टरिंग स्थितियों को ट्रैक करने के लिए प्रक्रिया सेट करें, जो जोखिम को प्रभावी ढंग से नियंत्रित कर सके और ट्रैकिंग प्रभाव सुनिश्चित कर सके;
प्रवृत्ति की ताकत के संकेतकों के साथ, एक समायोजन संकट से बचा जा सकता है।
इस रणनीति में मुख्य रूप से निम्नलिखित जोखिम हैं:
एक एकल रणनीति के लिए जोखिम को ढेर करना आसान है, और समग्र जोखिम को नियंत्रित करने के लिए स्थिति को उचित रूप से समायोजित करने की आवश्यकता है;
अनुवर्ती प्रक्रिया में फ़िल्टर शर्तों के परिवर्तन पर कड़ी नजर रखने की आवश्यकता है, ताकि शर्तों को रद्द करने के बाद लॉस कट न हो;
यह रणनीति मध्यम-लंबी रेखा पर आधारित है, और अल्पकालिक सामग्री में उतार-चढ़ाव के प्रभाव के लिए अतिसंवेदनशील है, जिससे स्टॉप लॉस का जोखिम उत्पन्न होता है।
जोखिम प्रबंधन उपायों में शामिल हैंः स्थिति प्रबंधन नियमों का अनुकूलन, जोखिम चेतावनी लाइनों की स्थापना, स्टॉप-लॉस लाइनों की उचित छूट, आदि।
इस नीति में निम्नलिखित अनुकूलन के लिए जगह हैः
पैरामीटर सेटिंग्स को अनुकूलित करें, वर्तमान में पैरामीटर सेटिंग्स काफी व्यक्तिपरक हैं, और स्वचालित रूप से अनुकूलित करने के लिए मशीन लर्निंग विधियों को पेश किया जा सकता है;
स्थिति प्रबंधन मॉड्यूल जो जोखिम की स्थिति के अनुसार स्थिति को गतिशील रूप से समायोजित कर सकता है;
रोकथाम तंत्र का अनुकूलन, जैसे कि रोकथाम को ट्रैक करना, रोकथाम को समय देना, रोकथाम को तोड़ना आदि।
इस रणनीति में कई सूचक निर्णय नियम शामिल हैं, जो उभरते रुझानों के लिए तेजी से पता लगाने और निरंतर ट्रैकिंग को लागू करते हैं, जो प्रवृत्ति और धन जैसे बहुआयामी विश्लेषण के साथ मात्रात्मक लेनदेन की प्रभावशीलता को सत्यापित करते हैं। इस रणनीति को क्रॉस-आवर्ती प्रवृत्ति ट्रैकिंग के लिए एक बुनियादी रणनीति के रूप में सूचकांक के रूप में लागू किया जा सकता है, या पैरामीटर और मॉड्यूल अनुकूलन के बाद एक स्थिर मध्यम-लंबी रैखिक मात्रात्मक रणनीति के रूप में बनाया जा सकता है।
/*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)