स्टोचआरएसआई पर आधारित मात्रात्मक ट्रेडिंग रणनीति


निर्माण तिथि: 2023-12-07 16:05:17 अंत में संशोधित करें: 2023-12-07 16:05:17
कॉपी: 0 क्लिक्स: 627
1
ध्यान केंद्रित करना
1619
समर्थक

स्टोचआरएसआई पर आधारित मात्रात्मक ट्रेडिंग रणनीति

अवलोकन

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

रणनीति सिद्धांत

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

विशेष रूप से, रणनीति पहले 14 की लंबाई के आरएसआई संकेतक के मूल्य की गणना करती है, और फिर आरएसआई संकेतक पर स्टोचआरएसआई संकेतक लागू करती है। स्टोचआरएसआई संकेतक पैरामीटर सेटिंग की लंबाई 14 है, चिकनाई चक्र K लाइन 3 है, और डी लाइन 3 है। जब K लाइन पर उपयोगकर्ता द्वारा निर्धारित ओवरसोल्ड क्षेत्र ((डिफ़ॉल्ट 1) को पार करता है, तो अधिक करें; जब K लाइन के नीचे उपयोगकर्ता द्वारा निर्धारित ओवरसोल्ड क्षेत्र ((डिफ़ॉल्ट 99) को पार करता है, तो खाली करें।

इसके अलावा, रणनीति में स्टॉप और स्टॉप पैरामीटर भी सेट किए गए हैं। स्टॉप पैरामीटर डिफ़ॉल्ट 10000 है; स्टॉप को पैरामीटर के अनुसार वक्र ट्रेलिंग स्टॉप के रूप में सेट किया गया है, डिफ़ॉल्ट ट्रेलिंग पॉइंट 300 है, और पलायन 0 है।

श्रेष्ठता विश्लेषण

  1. स्टोचआरएसआई सूचक का उपयोग करके ओवरबॉट और ओवरसोल्ड क्षेत्रों का पता लगाना, एकल आरएसआई सूचक की तुलना में अधिक विश्वसनीय है
  2. आरएसआई फ़िल्टर सिग्नल के साथ, झूठे ब्रेक से बचें
  3. रोकथाम रोकथाम तंत्र नियंत्रण जोखिम सेट करें

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

  1. StochRSI सूचकांक में संभावित झूठे संकेत
  2. ओवरबॉय ओवरसेलिंग पैरामीटर को तर्कसंगत रूप से सेट करने की आवश्यकता है, अन्यथा यह गलत होगा
  3. स्टॉप प्वाइंट बहुत छोटा है, और स्टॉप प्वाइंट बहुत बड़ा है, और लाभ सीमित है।

उपरोक्त जोखिमों के लिए, एक लंबा पैरामीटर चक्र सेट किया जा सकता है या सिग्नल को फ़िल्टर करने के लिए अन्य सूचक संयोजनों के साथ उपयोग करने पर विचार किया जा सकता है, ओवरबॉट पैरामीटर को विभिन्न बाजारों के लिए समायोजित किया जा सकता है, और विभिन्न स्टॉप-लॉस-स्टॉप पैरामीटर का परीक्षण किया जा सकता है।

अनुकूलन दिशा

  1. अन्य संकेतकों के संयोजन के साथ उपयोग करने पर विचार किया जा सकता है, जैसे कि MACD, ब्रिन लाइन, आदि, झूठे संकेतों को फ़िल्टर करने के लिए
  2. अधिक बाजार स्थितियों के लिए विभिन्न पैरामीटर चक्र सेटिंग्स का परीक्षण किया जा सकता है
  3. स्टॉप लॉस स्टॉप पॉइंट को अनुकूलित करें, रिटर्निंग में कई बार परीक्षण करें और इष्टतम पैरामीटर ढूंढें

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version= 2
strategy("STOCHRSI JURE", overlay=false)
lengthrsi = input(10)
overSold = input( 1 )
overBought = input(99)

call_trail_stop = input(300)
call_trail_offset = input(0)
call_sl = input(10000)

price = ohlc4
vrsi = rsi(price, lengthrsi)

smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)


plot( k, color=blue, linewidth=1, title="K")
plot( d, color=red, linewidth=1, title="D")

if (crossover(k, overSold) ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    strategy.exit("BUY EXIT", "BUY", trail_points=call_trail_stop, trail_offset=call_trail_offset, loss = call_sl)


if (crossunder(k, overBought) ) 
    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL")
    strategy.exit("SELL EXIT", "SELL", trail_points=call_trail_stop, trail_offset=call_trail_offset, loss = call_sl)
    

//if (  ( crossover(k,d)) and ( (vrsi<overSold) or crossover(vrsi,overSold) )  and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
//    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", oca_type=strategy.oca.cancel, comment="BUY")
//else
//    strategy.cancel(id="BUY")

//if ( ( crossunder(k,d) ) and ( (vrsi >overBought) or crossunder(vrsi,overBought) ) and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 
//    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", oca_type=strategy.oca.cancel, comment="SELL")
//else
//    strategy.cancel(id="SELL")