दोहरी आरएसआई सफलता रणनीति

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

img

अवलोकन

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

रणनीति तर्क

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

निर्णय के नियम इस प्रकार हैंः

  1. जब आरएसआई ऊपरी सीमा से ऊपर जाता है, तो शॉर्ट करें;
  2. जब आरएसआई निचली सीमा से नीचे जाता है, तो लंबा हो जाता है;
  3. स्टॉप लॉस या लाभ लेने पर स्थिति को बंद करें।

इसका ट्रेडिंग लॉजिक सरल और स्पष्ट है, जिसमें उचित संदर्भ पैरामीटर सेटिंग्स, बड़ा कॉन्फ़िगरेशन स्पेस है और यह बाजार में बड़े रुझानों को पकड़ने के लिए उपयुक्त है।

लाभ विश्लेषण

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

  1. सरल तर्क जिसे समझना और लागू करना आसान हो;
  2. उचित संदर्भ पैरामीटर सेटिंग्स जिन्हें व्यक्तिगत रूप से अनुकूलित किया जा सकता है;
  3. विन्यस्त करने योग्य रिवर्स ट्रेडिंग लॉजिक जो बाजार की स्थितियों पर लचीले ढंग से प्रतिक्रिया दे सके;
  4. प्रभावी ढंग से मूल्य उलट बिंदुओं की पहचान कर सकते हैं और प्रमुख रुझानों को पकड़ सकते हैं।

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

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

यद्यपि यह रणनीति अपेक्षाकृत सरल और विश्वसनीय है, हम इसके संभावित जोखिमों को नजरअंदाज नहीं कर सकतेः

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

जोखिमों को नियंत्रित करने के लिए हमें निम्नलिखित बातों पर ध्यान देने की आवश्यकता हैः

  1. अत्यधिक गलत आकलन दरों को रोकने के लिए मापदंडों को उचित रूप से समायोजित करें।
  2. सटीकता बढ़ाने के लिए अन्य संकेतकों के साथ व्यापार संकेतों की पुष्टि करें।
  3. लाभ लेने के अनुपात को बढ़ाएं और एकल स्टॉप लॉस आकार को कम करें।
  4. विभिन्न बाजारों में व्यापार करने से बचें।

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

इस रणनीति के मुख्य जोखिमों को ध्यान में रखते हुए रिवर्स गलत आकलन और विभिन्न बाजारों में नुकसान हैं, हम निम्नलिखित पहलुओं से अनुकूलन कर सकते हैंः

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

निष्कर्ष

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


/*backtest
start: 2023-12-19 00:00:00
end: 2023-12-26 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RSI Algo", overlay=true)

// Calculate start/end date and time condition
DST = 1 //day light saving for usa
//--- Europe
London = iff(DST==0,"0000-0900","0100-1000")
//--- America
NewYork = iff(DST==0,"0400-1500","0500-1600")
//--- Pacific
Sydney = iff(DST==0,"1300-2200","1400-2300")
//--- Asia
Tokyo = iff(DST==0,"1500-2400","1600-0100")

//-- Time In Range
timeinrange(res, sess) => time(res, sess) != 0

london = timeinrange(timeframe.period, London)
newyork = timeinrange(timeframe.period, NewYork)

time_cond = true


myPeriod = input(defval=14, type=input.integer, title="Period")
myThresholdUp = input(defval=75, type=input.float, title="Upper Threshold")
myThresholdDn = input(defval=25, type=input.float, title="Lower Threshold")
myAlgoFlipToggle = input(defval=false, type=input.bool, title="Imverse Algorthim")
myLineToggle = input(defval=true, type=input.bool, title="Show Lines")
myLabelToggle = input(defval=true, type=input.bool, title="Show Labels")
myRSI=rsi(close, myPeriod)
buy = myAlgoFlipToggle ? falling(myRSI,1) and cross(myRSI, myThresholdDn) : rising(myRSI, 1) and cross(myRSI,myThresholdUp) //and time_cond
sell = myAlgoFlipToggle ? rising(myRSI, 1) and cross(myRSI,myThresholdUp) : falling(myRSI,1) and cross(myRSI, myThresholdDn) //and time_cond
myPosition = 0
myPosition := buy==1 ? 0 : sell==1 or myPosition[1]==1 ? 1 : 0
trendColor = buy ? color.red : sell ? color.green : na
plot(myLineToggle ? buy and myPosition[1]==1 ? low - 0.004: sell and myPosition[1]==0 ? high + 0.004 : na : na, color=trendColor, style=plot.style_line, linewidth=4, editable=false)
plotshape(myLabelToggle ? buy and myPosition[1]==1 ? low - 0.005 : na : na, style=shape.labelup, location=location.absolute, text="Buy", transp=0, textcolor = color.white, color=color.black, editable=false)
plotshape(myLabelToggle ? sell and myPosition[1]==0 ? high + 0.005 : na : na, style=shape.labeldown, location=location.absolute, text="Sell", transp=0, textcolor = color.white, color=color.black, editable=false)

strategy.initial_capital = 50000
    //Calculate the size of the next trade
balance = strategy.netprofit + strategy.initial_capital //current balance
floating = strategy.openprofit          //floating profit/loss
risk = input(2,type=input.float,title="Risk %")/100           //risk % per trade
isTwoDigit = input(false,"Is this a 2 digit pair? (JPY, XAU, XPD...")


stop = input(250, title="stop loss pips")
tp = input(2500, title="take profit pips")
if(isTwoDigit)
    stop := stop/100
    
temp01 = balance * risk     //Risk in USD
temp02 = temp01/stop        //Risk in lots
temp03 = temp02*100000      //Convert to contracts
size = 1
    
strategy.entry("long",1,size,when=buy and myPosition[1]==1 )
strategy.entry("short",0,size,when=sell and myPosition[1]==0)

strategy.exit("exit_long","long",loss=stop, profit=tp)      //Long exit (stop loss)
strategy.exit("exit_short","short",loss=stop, profit=tp)      //Short exit (stop loss)

//strategy.close_all(when= not time_cond)


अधिक