
यह रणनीति विभिन्न समय चक्रों में आरएसआई सूचकांकों के संयोजन का उपयोग करती है, यह निर्धारित करने के लिए कि वर्तमान बाजार ओवरबॉय या ओवरसोल्ड है, और कीमतों और चलती औसत रेखा के संबंध के साथ मिलकर खरीदने और बेचने के संकेतों को भेजती है। लक्ष्य गिरावट में खरीदना है, तेजी में बेचना है, और परिसमापन में लाभ कमाने के लिए।
5 मिनट, 15 मिनट और 1 घंटे के आरएसआई मानों की गणना करें, जब 5 मिनट, 15 मिनट और 1 घंटे के आरएसआई 25 से नीचे होते हैं, तो ओवरसोल्ड घटना के रूप में निर्णय लें, एक खरीद संकेत उत्पन्न करें; जब 5 मिनट, 15 मिनट और 1 घंटे के आरएसआई 75 से ऊपर होते हैं, तो ओवरसोल्ड घटना के रूप में निर्णय लें, बिक्री संकेत उत्पन्न करें।
मूल्य 21 वीं चलती औसत के माध्यम से भी एक व्यापार संकेत के रूप में कार्य करता है, यदि कीमत चलती औसत से कम है, तो यह एक खरीद संकेत उत्पन्न करता है; यदि कीमत चलती औसत से अधिक है, तो यह एक बेचने का संकेत उत्पन्न करता है।
स्थिति रखने के आधार पर, पहले ट्रेडों की संख्या और जमा करने के नियम निर्धारित करेंः पहली बार 2 हाथों के लिए जमा करें, फिर हर बार 1 हाथ जमा करें, जब तक कि स्थिति 2 हाथ तक न हो जाए।
जब घाटा 3% तक पहुंच जाता है तो बंद हो जाता है। जब लाभ 1% तक पहुंच जाता है तो बंद हो जाता है।
मल्टी-टाइम फ़्रेम आरएसआई सूचकांक के संयोजन का उपयोग करके ओवरबॉट और ओवरसोल्ड का आकलन करें, जिससे संकेतों की विश्वसनीयता बढ़े।
एक चलती औसत रेखा के संयोजन के साथ, विदेशी मुद्रा सिग्नल उत्पन्न करने और व्यापार के अवसरों का विस्तार करने के लिए।
स्थिति नियंत्रण और लाभ-हानि अनुपात स्टॉप-स्टॉप-लॉस नियम सेट करें, जोखिम को नियंत्रित करें।
QA के माध्यम से मुनाफे की संभावनाओं का विस्तार करना।
आरएसआई संकेतकों में एक रिवर्स जोखिम होता है, यानी आरएसआई ओवरबॉट ओवरसोल के निर्णायक बिंदु तक पहुंचने के बाद, कीमतें बिना पलटाव के कुछ समय तक चल सकती हैं। इस समय आरएसआई सिग्नल का अंधाधुंध पालन करने से नुकसान हो सकता है।
एक चलती औसत से उत्पन्न ट्रेडिंग सिग्नल भ्रामक हो सकता है। जब कीमतों में भारी उतार-चढ़ाव होता है, तो एक चलती औसत समय पर मूल्य परिवर्तनों को ट्रैक नहीं कर सकता है।
स्थिति आकार और लाभ-हानि अनुपात को गलत तरीके से निर्धारित करने से जोखिम नियंत्रण में खराबी हो सकती है।
उचित शर्तों को स्थापित करने की आवश्यकता है। यदि स्टॉक को बहुत अधिक खोला जाता है, तो यह नुकसान को बढ़ाने का कारण बन सकता है।
आरएसआई मापदंडों को समायोजित करें, विभिन्न आरएसआई चक्रों के मापदंडों के संयोजन का परीक्षण करें और अधिक विश्वसनीय ओवरबॉट ओवरसोल सिग्नल ढूंढें।
विभिन्न मापदंडों का परीक्षण चलती औसत रेखा एक सहायक व्यापारिक संकेत के रूप में. अन्य तकनीकी संकेतकों का भी परीक्षण किया जा सकता है.
स्थिति नियंत्रण और रोकथाम के नियमों को अनुकूलित करें, और अधिक वैज्ञानिक जोखिम नियंत्रण तंत्र स्थापित करें।
स्टॉक को बढ़ाने की स्थिति को अनुकूलित करें, ताकि स्टॉक को बढ़ाने से नुकसान न हो। स्टॉक को बढ़ाने के वैकल्पिक तरीकों पर भी विचार किया जा सकता है, जैसे कि सूचकांक स्टॉक को बढ़ाना।
इस रणनीति में आरएसआई के बहु-समय फ्रेम के संयोजन का उपयोग किया जाता है, जिससे ट्रेड की क्षमता का आकलन किया जा सकता है, ताकि उच्च जीत की दर प्राप्त की जा सके। साथ ही साथ चलती औसत के साथ ट्रेडिंग सिग्नल उत्पन्न करने और ट्रेडिंग के अवसरों का विस्तार करने के लिए। स्थिति नियंत्रण, स्टॉप-लॉस स्टॉप, क्वांटिटेटिव स्टैकिंग और अन्य नियमों का उपयोग करके जोखिम नियंत्रण किया जाता है। कुल मिलाकर, रणनीति में ट्रेंड, रिवर्स इंडिकेटर, ट्रेंड ट्रैकिंग और कम अवशोषण वाले ट्रेडिंग लॉजिक को एकीकृत किया गया है।
/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("5M_RSI_Strategy", overlay=true, pyramiding = 1)
len =14
Initial_Trade_Size = 2
up = rma(max(change(close), 0), len)
down = rma(-min(change(close), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
RSI_1h = request.security(syminfo.tickerid, "60", rsi)
RSI_3h = request.security(syminfo.tickerid, "180", rsi)
RSI_15m = request.security(syminfo.tickerid, "15", rsi)
RSI_5m = request.security(syminfo.tickerid, "5", rsi)
RSI_1m = request.security(syminfo.tickerid, "1", rsi)
ema21_5 = ema(request.security(syminfo.tickerid, "5", close), 21)
ema21_15 = ema(request.security(syminfo.tickerid, "15", close), 21)
//(RSI_3h<=25) and (RSI_1h<=25) and (RSI_15m<=25) and
Positive = ((RSI_5m<=25) and (RSI_15m<=25) and (RSI_1h<=25))?true:false
//alertcondition(Positive, title='POS', message='POS')
//plotshape(Positive, style=shape.triangleup,location=location.belowbar, color=green,size =size.tiny)
Negative = (( RSI_5m>=75) and ( RSI_15m>=75) and ( RSI_1h>=75))?true:false
//alertcondition(Negative, title='NEG', message='NEG')
//plotshape(Negative, style=shape.triangledown,location=location.abovebar, color=red,size=size.tiny) Positive and Negative and
lastordersize = abs(strategy.position_size)>=Initial_Trade_Size?abs(strategy.position_size):Initial_Trade_Size
//lastordersize =1
// and ((ema21_15-low)/ema21_15) > 0.077
//Adding to position rules
if (abs(strategy.position_size) >= Initial_Trade_Size and (abs(close - strategy.position_avg_price)/abs(strategy.position_avg_price)>0.03))
if(strategy.position_avg_price > close and strategy.position_size > 0)
strategy.entry("Add", strategy.long , qty = lastordersize , when = true)
if(strategy.position_avg_price < close and strategy.position_size < 0)
strategy.entry("Add", strategy.short, qty = lastordersize , when = true)
if (strategy.position_size == 0)
if (Positive or ((ema21_5-low)/ema21_5) > 0.07)
strategy.entry("1St Entry", strategy.long , qty = lastordersize , when = true)
// and ((high-ema21_15)/ema21_15) > 0.077
if (Negative or ((high-ema21_5)/ema21_5) > 0.07)
strategy.entry("1St Entry", strategy.short, qty = lastordersize , when = true)
//lastordersize := lastordersize * 2
//or (strategy.openprofit / abs(strategy.position_size * close))>=0.01
if(cross(ema21_5, high) or cross(ema21_5, low))
strategy.close_all()