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

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

img

अवलोकन

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

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

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

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

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

लाभ विश्लेषण

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

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

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

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

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

  1. झूठे संकेतों को फ़िल्टर करने के लिए एमएसीडी, बोलिंगर बैंड आदि जैसे अन्य संकेतकों के साथ संयोजन में उपयोग करने पर विचार करें।
  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")
    
    
    

अधिक