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