यह रणनीति आरएसआई संकेतक और इसके चलती औसत के बीच क्रॉसिंग के आधार पर खरीद और बिक्री संकेत निर्धारित करती है, जो अल्पकालिक ट्रेडिंग रणनीतियों से संबंधित है। यह तब खरीदेगा जब आरएसआई अपने एमए से कम हो और बेच देगा जब आरएसआई अपने एमए से अधिक हो, जो एक विशिष्ट कम खरीद-उच्च बिक्री रणनीति है।
यह एक विशिष्ट औसत प्रतिगमन रणनीति है, जो व्यापार संकेतों को निर्धारित करने के लिए आरएसआई संकेतक के ओवरबॉट/ओवरसोल्ड गुणों का उपयोग करती है। इसके फायदे हैंः
संक्षेप में, यह एक सरल और व्यावहारिक अल्पकालिक व्यापारिक रणनीति है।
कुछ जोखिमों पर ध्यान देंः
इन जोखिमों को पैरामीटर ट्यूनिंग, फिल्टर आदि जोड़कर कम किया जा सकता है।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
मल्टी-इंडिकेटर कॉम्बो, स्टॉप लॉस मैनेजमेंट, पैरामीटर ऑप्टिमाइजेशन आदि के माध्यम से महत्वपूर्ण प्रदर्शन वृद्धि प्राप्त की जा सकती है।
संक्षेप में, यह एक बहुत ही विशिष्ट और व्यावहारिक अल्पकालिक ट्रेडिंग रणनीति है। यह अतिरिक्त एमए फिल्टर के साथ, प्रविष्टियों और निकासों को निर्धारित करने के लिए आरएसआई के ओवरबॉट / ओवरसोल्ड स्तरों पर पूंजीकरण करता है। तर्क सरल और स्पष्ट है, मापदंड लचीला, लागू करना आसान है। कुछ बाजार जोखिम हैं, लेकिन परिष्कृत प्रवेश / निकास तंत्र, पैरामीटर ट्यूनिंग आदि के माध्यम से संबोधित किया जा सकता है। अधिक तकनीकी संकेतकों और जोखिम प्रबंधन तकनीकों के साथ संयुक्त होने पर, यह रणनीति अपेक्षाकृत स्थिर अल्पकालिक रणनीति बन सकती है।
/*backtest start: 2022-11-24 00:00:00 end: 2023-11-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © I11L //@version=5 strategy("I11L - Meanreverter 4h", overlay=false, pyramiding=3, default_qty_value=10000, initial_capital=10000, default_qty_type=strategy.cash,process_orders_on_close=false, calc_on_every_tick=false) frequency = input.int(10) rsiFrequency = input.int(40) buyZoneDistance = input.int(5) avgDownATRSum = input.int(3) useAbsoluteRSIBarrier = input.bool(true) barrierLevel = 50//input.int(50) momentumRSI = ta.rsi(close,rsiFrequency) momentumRSI_slow = ta.sma(momentumRSI,frequency) isBuy = momentumRSI < momentumRSI_slow*(1-buyZoneDistance/100) and (strategy.position_avg_price - math.sum(ta.atr(20),avgDownATRSum)*strategy.opentrades > close or strategy.opentrades == 0 ) //and (momentumRSI < barrierLevel or not(useAbsoluteRSIBarrier)) isShort = momentumRSI > momentumRSI_slow*(1+buyZoneDistance/100) and (strategy.position_avg_price - math.sum(ta.atr(20),avgDownATRSum)*strategy.opentrades > close or strategy.opentrades == 0 ) and (momentumRSI > barrierLevel or not(useAbsoluteRSIBarrier)) momentumRSISoftClose = (momentumRSI > momentumRSI_slow) and (momentumRSI > barrierLevel or not(useAbsoluteRSIBarrier)) isClose = momentumRSISoftClose plot(momentumRSI,color=isClose ? color.red : momentumRSI < momentumRSI_slow*(1-buyZoneDistance/100) ? color.green : color.white) plot(momentumRSI_slow,color=color.gray) plot(barrierLevel,color=useAbsoluteRSIBarrier ? color.white : color.rgb(0,0,0,0)) plot(momentumRSI_slow*(1-buyZoneDistance/100),color=color.gray) plot(momentumRSI_slow*(1+buyZoneDistance/100),color=color.gray) plot(momentumRSI_slow*(1+(buyZoneDistance*2)/100),color=color.gray) // plot(strategy.wintrades - strategy.losstrades) if(isBuy) strategy.entry("Buy",strategy.long, comment="#"+str.tostring(strategy.opentrades+1)) // if(isShort) // strategy.entry("Sell",strategy.short, comment="#"+str.tostring(strategy.opentrades+1)) if(isClose) strategy.exit("Close",limit=close)