यह रणनीति बाजार के रुझानों को जानने के लिए आरएसआई का उपयोग करती है, जो ओवरबॉय ओवरसोल्ड क्षेत्र में एक ट्रेडिंग सिग्नल भेजती है, जिसका उद्देश्य बाजार के शॉर्ट-लाइन समायोजन आंदोलन को पकड़ना है। यह ट्रेडिंग सिग्नल को फ़िल्टर करने और जोखिम को नियंत्रित करने के लिए इक्विटी-लाइन इंडिकेटर और स्टॉप-स्टॉप लॉजिक को एक साथ जोड़ती है।
RSI ((14) सूचकांक के मूल्य की गणना करें, ओवरबॉय लाइन 67 और ओवरबॉय लाइन 44 सेट करें।
जब आरएसआई ओवरबॉय लाइन को पार करता है, तो यह एक बेचने का संकेत देता है; जब आरएसआई ओवरबॉय लाइन को पार करता है, तो यह एक खरीदने का संकेत देता है।
ओवरलैप औसत रेखा फ़िल्टर केवल आरएसआई पर ओवरबॉट और बिक्री सिग्नल जारी करता है जब समापन मूल्य कल के औसत मूल्य से कम होता है; केवल आरएसआई पर ओवरबॉट और खरीद सिग्नल जारी करता है जब समापन मूल्य कल के औसत मूल्य से अधिक होता है।
स्टॉप लॉजिस्टिक्स सेट करें. स्टॉप लॉजिस्टिक्स के लिए एक निश्चित संख्या या आरएसआई के आधार पर एक स्टॉप लॉजिस्टिक्स चुनें.
आरएसआई सूचकांक का उपयोग करके ओवरबॉट और ओवरसोल्ड को पहचानें और शॉर्ट-लाइन समायोजन के अवसरों को पकड़ें।
प्रवृत्ति के दौरान रिवर्स ऑपरेशन से बचने के लिए एक समान रेखा के साथ फ़िल्टर करें।
स्टॉप लॉस को रोकें और एकल नुकसान को नियंत्रित करें।
इस प्रकार, यह एक अच्छा अवसर है कि आप एक पलटाव की पूर्व संध्या पर एक पलटाव पकड़ सकते हैं।
आरएसआई के पीछे पड़ने के कारण झूठे संकेतों के साथ विचलन हो सकता है। इसका समाधान पैरामीटर को उचित रूप से समायोजित करना या अन्य संकेतकों के साथ संयोजन करना है।
फिक्स्ड स्टॉप पॉइंट्स बहुत बड़े या बहुत छोटे हो सकते हैं। एक अधिक लचीला ट्रेलिंग स्टॉप डायनामिक स्टॉप चुन सकते हैं।
फिक्स्ड स्टॉप बहुत जल्दी या बहुत कम स्टॉप पॉइंट्स के साथ बंद हो सकता है। आरएसआई या एटीआर के आधार पर स्टॉप पर विचार किया जा सकता है।
चंचल रुझानों को प्रभावी रूप से फ़िल्टर करने में असमर्थता, जो अक्सर खोलने और खोने का कारण बन सकती है। आरएसआई पैरामीटर को उचित रूप से समायोजित किया जा सकता है या अन्य फ़िल्टर शर्तों को जोड़ा जा सकता है।
आरएसआई सूचकांक के प्रभाव का परीक्षण करने के लिए विभिन्न चक्रों के लिए।
आरएसआई के पैरामीटर को समायोजित करें और विभिन्न ओवरबॉय ओवरसोल लाइनों का परीक्षण करें।
विभिन्न प्रकार के चलती औसत या अन्य फ़िल्टरिंग मापदंडों का प्रयोग करें।
स्थिर और गतिशील स्टॉप के प्रभाव का परीक्षण करें।
स्टॉपलॉस को अनुकूलित करें ताकि यह बाजार के नियम के अनुरूप हो।
नए प्रवेश फ़िल्टर के साथ, आपात स्थिति से बचें।
सिग्नल की गुणवत्ता में सुधार के लिए कई समय चक्रों के साथ सत्यापन पर विचार करें।
इस रणनीति का उपयोग RSI संकेतक का उपयोग करने के लिए ओवरबॉय ओवरसोल्ड स्थिति का आकलन करने के लिए, सममूल्य और स्टॉप-स्टॉप के साथ संयुक्त द्वि-दिशात्मक व्यापार। यह अल्पावधि में बाजार में पलटाव के अवसरों को पकड़ सकता है। पैरामीटर अनुकूलन और फ़िल्टर शर्तों के पूरक के बाद, रणनीति की लाभप्रदता को और बढ़ाया जा सकता है और जोखिम को नियंत्रित किया जा सकता है। यह रणनीति उन निवेशकों के लिए उपयुक्त है जो शॉर्ट लाइन परिवर्तन के प्रति संवेदनशील हैं और उच्च आवृत्ति वाले व्यापार की तलाश में हैं।
/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//© профешинил хомячело
//@version = 4
strategy("RSI Strategy Professional Хомячело", overlay=false)
length = input( 14 )
overSold = input( 44 )
overBought = input( 67 )
price = open
rsi = rsi(price, length)
band1 = hline(overSold, "overSold12", color=#C0C0C0)
band0 = hline(overBought, "overBought12", color=#C0C0C0)
plot(rsi, "RSI", color=color.red)
fill(band1, band0, color=color.black, transp=90, title="Background")
src = close
a = sma(src, 1)
aaa = strategy.opentrades + 1
n = input(defval = 0.0576923077, title = "AvgPrice - n")
//n = 0.0576923077
buysignal = crossover(rsi, overSold) and (a < (strategy.position_avg_price - n) or strategy.opentrades == 0)
sellsignal = crossunder(rsi, overBought) and (a > (strategy.position_avg_price + n) or strategy.opentrades == 0)
// crossover(rsi, overSold)
// crossunder(rsi, overBought)
if (not na(rsi))
if(buysignal)
strategy.entry("LONG", strategy.long, comment = tostring(a) + "\n(" + tostring(aaa) + ")")
n += 1000
if(sellsignal)
strategy.entry("SHORT", strategy.short, comment = tostring(a) + "\n(" + tostring(aaa) + ")")
n += 1000
//лонги орні
if(rsi < 15 and strategy.opentrades != 5 and a < (strategy.position_avg_price - n))
strategy.entry("LONG", strategy.long, comment = "ЙОБАНИЙ НАСРАВ ТА БЕРИ ЛОНГ НА ВСЬО ШО Є НАХУЙ\n" + tostring(a) + "\n(" + tostring(aaa) + "!!!)")
if(rsi < 20 and strategy.opentrades != 5 and a < (strategy.position_avg_price - n))
strategy.entry("LONG", strategy.long, comment = "ЛОНГ НА ВСЮ КОТЛЄТУ\n" + tostring(a) + "\n(" + tostring(aaa) + "!!!)")
//шорти орні
if(rsi > 85 and strategy.opentrades != 5 and a < (strategy.position_avg_price - n))
strategy.entry("SHORT", strategy.short, comment = "ЙОБАНИЙ НАСРАВ ТА БЕРИ ШОРТ НА ВСЬО ШО Є НАХУЙ\n" + tostring(a) + "\n(" + tostring(aaa) + "!!!)")
if(rsi > 80 and strategy.opentrades != 5 and a < (strategy.position_avg_price - n))
strategy.entry("SHORT", strategy.short, comment = "ШОРТ НА ВСЮ КОТЛЄТУ\n" + tostring(a) + "\n(" + tostring(aaa) + "!!!)")
//стоп-лосс і ціль
//rsi
rsion = input(defval = false, title = "Тейк-профіт по RSI")
rcl = input(defval = 73.0, title = "RSI тейк по лонгу")
rcs = input(defval = 44.0, title = "RSI тейк по шорту")
possize = input(defval = 250.0, title = "Маржа")
posp = input(defval = 3.0, title = "Плече")
//tick
ut = input(defval = false, title = "Тейк-профіт")
tar = input(defval = 4500.0, title = "Тейк-профіт у тіках")
us = input(defval = false, title = "Стоп-лосс")
stop = input(defval = 0.0, title = "Стоп-лосс у тіках")
tar:=tar/syminfo.mintick
stop:=stop/syminfo.mintick
if(ut==true and us==false)
strategy.exit(id="LX", from_entry = "LONG", profit = tar, comment = "ТейкL")
strategy.exit(id="SX", from_entry = "SHORT", profit = tar, comment = "ТейкS")
if(us==true and ut==false)
strategy.exit(id="LX", from_entry = "LONG", loss = stop, comment = "СтопL")
strategy.exit(id="SX", from_entry = "SHORT", loss = stop, comment = "СтопS")
if(ut==true and us==true)
strategy.exit(id="LX", from_entry = "LONG", profit = tar, loss = stop, comment ="Тейк/СтопL")
strategy.exit(id="SX", from_entry = "SHORT", profit = tar, loss = stop, comment ="Тейк/СтопS")
//закриття по rsi
if(rsion == 1 )
pr = round(((a / strategy.position_avg_price - 1) * possize * posp), 2)
ppr = round(((a / strategy.position_avg_price - 1) * 100 * posp), 2)
spr = round((1 - (a / strategy.position_avg_price)) * possize * posp, 2)
sppr = round((100 - (a / strategy.position_avg_price * 100)) * posp, 2)
if(rsi > rcl)
strategy.close(id="LONG", comment = "LT\n" + tostring(ppr) + "%\n" + tostring(pr) + "$\n" + tostring(a))
if(rsi < rcs)
strategy.close(id="SHORT", comment = "ST\n" + tostring(sppr) + "%\n" + tostring(spr) + "$\n" + tostring(a))