दोहरी आरएसआई औसत रिवर्सन रणनीति

लेखक:चाओझांग, दिनांक: 2023-10-23 15:46:33
टैगः

img

अवलोकन

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

रणनीति तर्क

इस रणनीति में अलग-अलग अवधि वाले दो आरएसआई संकेतक उपयोग किए जाते हैं - एक 5 मिनट के चार्ट पर और एक 1 घंटे के चार्ट पर। आरएसआई संकेतक के लिए, 30 से नीचे ओवरसोल्ड स्तर और 70 से ऊपर ओवरबॉट स्तर की पहचान की जाती है।

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

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

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

हर दिन के अंत में ट्रेडों को बंद कर दिया जाता है ताकि रातोंरात ट्रेडों को नहीं रखा जा सके।

लाभ

  • अधिक खरीदे गए/अधिक बेचे गए स्थितियों की पहचान करने के लिए बहु-समय-सीमा दृष्टिकोण का उपयोग करता है
  • हेकिन-अशी मोमबत्तियाँ शोर को फ़िल्टर करती हैं और रुझान की दिशा निर्धारित करती हैं
  • खुले रंग फ़िल्टर झूठे संकेतों से बचता है
  • दो संकेतकों के आधार पर स्पष्ट प्रवेश/निकास नियम
  • प्रत्येक दिन के अंत से पहले पदों को बंद करके जोखिम प्रबंधन

जोखिम

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

सुधार

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

निष्कर्ष

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


/*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()

अधिक