आरएसआई औसत रिवर्सन आरएसआई औसत क्रॉसिंग पर आधारित मात्रात्मक ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-01 16:59:26
टैगः

img

अवलोकन

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

रणनीतिक सिद्धांत

  1. 40 बार की अवधि के साथ आरएसआई सूचक की गणना करें
  2. आरएसआई संकेतक की एमए की गणना 10 बार की अवधि के साथ करें
  3. खरीद संकेत उत्पन्न करें जब आरएसआई उसके एमए गुणांक से कम हो (1-ट्रेडिंग रेंज%)
  4. बेचने का संकेत उत्पन्न करें जब आरएसआई इसके एमए गुणांक (1+ट्रेडिंग रेंज%) से अधिक हो
  5. डिफ़ॉल्ट ट्रेडिंग रेंज दूरी 5 है, जिसका अर्थ है कि संकेतों को ट्रिगर करने के लिए एमए से 5% ऊपर या नीचे
  6. जब आरएसआई अपने एमए और 50 स्तर से ऊपर हो तो बाहर निकलने का निर्धारण करें

लाभ विश्लेषण

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

  1. बाजार संरचना का आकलन करने के लिए आरएसआई सूचक को अपनाना, जो काफी विश्वसनीय है
  2. एमए फ़िल्टर अनावश्यक लेनदेन से बचाता है और स्थिरता बढ़ाता है
  3. समायोज्य ट्रेडिंग रेंज नियंत्रण आवृत्ति
  4. सरल तर्क और समझने में आसान

संक्षेप में, यह एक सरल और व्यावहारिक अल्पकालिक व्यापारिक रणनीति है।

जोखिम विश्लेषण

कुछ जोखिमों पर ध्यान देंः

  1. आरएसआई के झूठे संकेत देने की संभावना, पैटर्न को देखने की जरूरत है
  2. गलत ट्रेडिंग रेंज सेट करने से ओवरट्रेडिंग या खोए हुए अवसर हो सकते हैं
  3. उच्च व्यापारिक आवृत्ति, लेनदेन लागतों पर विचार करने की आवश्यकता
  4. केवल एक सूचक पर निर्भर, बाजार की असामान्यताओं के लिए प्रवण

इन जोखिमों को पैरामीटर ट्यूनिंग, फिल्टर आदि जोड़कर कम किया जा सकता है।

अनुकूलन दिशाएँ

इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः

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

मल्टी-इंडिकेटर कॉम्बो, स्टॉप लॉस मैनेजमेंट, पैरामीटर ऑप्टिमाइजेशन आदि के माध्यम से महत्वपूर्ण प्रदर्शन वृद्धि प्राप्त की जा सकती है।

सारांश

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


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





अधिक