
द्वि-दिशात्मक आरएसआई रेवेन्यू रिस्पांस रणनीति एक प्रवृत्ति-अनुवर्ती रणनीति है जो ओवरबॉट और ओवरसोल्ड की पहचान करने के लिए दो अलग-अलग समय अवधि के आरएसआई संकेतकों का उपयोग करती है। रणनीति का उद्देश्य ओवरबॉट के बाद ओवरबॉट करना और ओवरबॉट के बाद शून्य करना है। यह रणनीति व्यापार के अवसरों की पहचान करने के लिए एक चिकनी विषम चलती औसत, आरएसआई संकेतकों और पोजीशन रंग फिल्टर का उपयोग करती है।
यह रणनीति दो आरएसआई संकेतकों का उपयोग करती है, जिनमें से एक 5 मिनट के चार्ट पर और दूसरा 1 घंटे के चार्ट पर है। आरएसआई संकेतकों के लिए, ओवरसोल्ड स्तर 30 से नीचे और ओवरबॉय स्तर 70 से ऊपर माना जाता है।
यह आरएसआई को ओवरसोल्ड या ओवरबॉय के क्षेत्र में एक निश्चित अवधि के लिए ट्रैक करता है, जो एक विस्तारित ओवरसोल्ड या ओवरबॉय की स्थिति का संकेत देता है।
इसके अलावा, यह एक चिकनी विषम चलती औसत का उपयोग करता है और ट्रेडों में प्रवेश करने से पहले रुझान की दिशा की पुष्टि करने के लिए एक निश्चित अवधि के लिए लाल या हरे रंग की K लाइनों की जांच करता है। पोजिशनिंग रंग फिल्टर झूठे संकेतों को रोकने में मदद करता है।
जब आरएसआई और स्लाइडिंग और मूविंग एवरेज दोनों शर्तें पूरी होती हैं, तो रणनीति ओवरसोल्ड के बाद अधिक करती है, ओवरबॉट के बाद कम करती है, और दांव की कीमत फिर से औसत रेखा पर लौट आती है।
हर दिन के अंत में अपनी स्थिति को कम करें, ताकि रात भर की स्थिति से बचा जा सके।
द्वि-दिशात्मक आरएसआई रैखिक प्रतिक्रिया रणनीति ट्रेडिंग गतिशीलता को नियमित करने के लिए एक विधि का उपयोग करती है। इसका उद्देश्य दो समय-फ्रेम, ओवरबॉय और ओवरसोल संकेतक, के-लाइन पैटर्न विश्लेषण और पोजीशन फिल्टर के संयोजन के माध्यम से एक उच्च संभावना वाली रैखिक वापसी के अवसरों की पहचान करना है। सख्त जोखिम प्रबंधन और सावधानीपूर्वक स्थिति नियंत्रण लाभ के साथ-साथ नियंत्रण में वापसी में मदद करता है। आगे के अनुकूलन और स्थिरता परीक्षण इस रणनीति को विभिन्न प्रकार के बाजारों में सफलतापूर्वक तैनात करने में मदद करेंगे।
/*backtest
start: 2023-09-01 00:00:00
end: 2023-09-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Gidra
//2018
//@version=2
strategy(title = "Gidra's Vchain Strategy v0.1", shorttitle = "Gidra's Vchain Strategy v0.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 100)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
rsiperiod = input(14, defval = 14, minval = 2, maxval = 100, title = "RSI period")
rsilimit = input(30, defval = 30, minval = 1, maxval = 50, title = "RSI limit")
rsibars = input(3, defval = 3, minval = 1, maxval = 20, title = "RSI signals")
useocf = input(true, defval = true, title = "Use Open Color Filter")
openbars = input(2, defval = 2, minval = 1, maxval = 20, title = "Open Color, Bars")
showrsi = input(true, defval = true, title = "Show indicator RSI")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")
//Heikin Ashi Open/Close Price
o=open
c=close
h=high
l=low
haclose = (o+h+l+c)/4
haopen = na(haopen[1]) ? (o + c)/2 : (haopen[1] + haclose[1]) / 2
hahigh = max (h, max(haopen,haclose))
halow = min (l, min(haopen,haclose))
col=haopen>haclose ? red : lime
plotcandle(haopen, hahigh, halow, haclose, title="heikin", color=col)
//RSI
uprsi = rma(max(change(close), 0), rsiperiod)
dnrsi = rma(-min(change(close), 0), rsiperiod)
rsi = dnrsi == 0 ? 100 : uprsi == 0 ? 0 : 100 - (100 / (1 + uprsi / dnrsi))
uplimit = 100 - rsilimit
dnlimit = rsilimit
rsidn = rsi < dnlimit ? 1 : 0
rsiup = rsi > uplimit ? 1 : 0
//RSI condition
rsidnok = highest(rsidn, rsibars) == 1? 1 : 0
rsiupok = highest(rsiup, rsibars) == 1? 1 : 0
//Color Filter
bar = haclose > haopen ? 1 : haclose < haopen ? -1 : 0
gbar = bar == 1 ? 1 : 0
rbar = bar == -1 ? 1 : 0
openrbarok = sma(gbar, openbars) == 1 or useocf == false
opengbarok = sma(rbar, openbars) == 1 or useocf == false
//Signals
up = openrbarok and rsidnok
dn = opengbarok and rsiupok
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
//Indicator RSI
colbg = showrsi == false ? na : rsi > uplimit ? red : rsi < dnlimit ? lime : na
bgcolor(colbg, transp = 20)
//Trading
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59)// or exit
strategy.close_all()