आरएसआई गतिशील स्टॉप लॉस और लाभ लेने की रणनीति


निर्माण तिथि: 2024-03-19 15:54:01 अंत में संशोधित करें: 2024-03-19 15:54:01
कॉपी: 1 क्लिक्स: 623
1
ध्यान केंद्रित करना
1617
समर्थक

आरएसआई गतिशील स्टॉप लॉस और लाभ लेने की रणनीति

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

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

  1. आरएसआई सूचक के मानों की गणना करें और इनपुट किए गए मापदंडों के आधार पर ओवरबॉट और ओवरसोल्ड की सीमाएं निर्धारित करें।
  2. वर्तमान आरएसआई की तुलना के पिछले कुछ लाइनों के आरएसआई के साथ करके, यह निर्धारित करने के लिए कि क्या शीर्ष (isPeak) या नीचे (isBottom) ।
  3. जब एक शीर्ष आकार होता है, तो एक बेचने का संकेत उत्पन्न होता है यदि वर्तमान मूल्य पिछले शीर्ष की ऊंचाई से अधिक है और लेनदेन की मात्रा पिछले शीर्ष की तुलना में कम है।
  4. जब एक निचला आकार होता है, तो एक खरीद संकेत उत्पन्न होता है यदि वर्तमान मूल्य पिछले निचले स्तर से कम है और लेनदेन की मात्रा पिछले निचले स्तर से कम है।
  5. खरीदें सिग्नल ट्रिगर के बाद, जब कीमत पिछले निचले स्तर पर वापस आ जाती है या लेनदेन की मात्रा पिछले निचले स्तर से कम होती है, तो स्टॉप।
  6. बिक्री के संकेत के बाद, जब कीमत पिछले उच्चतम स्तर पर वापस आ जाती है या लेनदेन की मात्रा पिछले उच्चतम स्तर से कम हो जाती है, तो स्टॉप।
  7. स्थिति खोलने के बाद, जोखिम को नियंत्रित करने के लिए स्टॉप-लॉस मूल्य को स्थिति खोलने के मूल्य के एक निश्चित अनुपात पर सेट किया गया है (२%) ।

रणनीतिक लाभ:

  1. डायनामिक स्टॉप के माध्यम से, ट्रेड रिवर्स के शुरुआती दिनों में समय पर मुनाफे को लॉक किया जा सकता है, जिससे रणनीतिक लाभ बढ़ सकता है।
  2. यातायात परिवर्तन का उपयोग सहायक निर्णय मानदंड के रूप में किया जा सकता है, जिससे झूठे संकेतों को प्रभावी ढंग से फ़िल्टर किया जा सकता है और संकेत की सटीकता में सुधार किया जा सकता है।
  3. स्टॉप लॉस सेटिंग्स एकल ट्रेडों के लिए जोखिम को प्रभावी रूप से नियंत्रित करती हैं और रणनीति को कम करती हैं।
  4. पैरामीटर को विभिन्न बाजार स्थितियों और ट्रेडिंग किस्मों के लिए समायोजित किया जा सकता है।

रणनीतिक जोखिमः

  1. चौंकाने वाले बाजारों में, आरएसआई संकेतकों में अक्सर ओवरबॉट और ओवरसोल्ड सिग्नल हो सकते हैं, जिससे रणनीति में अधिक झूठे सिग्नल उत्पन्न होते हैं।
  2. स्टॉप-लॉस सेटिंग्स के कारण रणनीतियों को कम समय में बड़ी वापसी हो सकती है।
  3. ट्रेंडिंग मार्केट में रणनीति ट्रेंड फॉलोइंग की तुलना में कम काम कर सकती है।

अनुकूलन दिशाः

  1. सिग्नल की विश्वसनीयता बढ़ाने के लिए अन्य तकनीकी संकेतकों जैसे कि MACD, ब्रीनिंग बैंड आदि को शामिल करने पर विचार किया जा सकता है।
  2. विभिन्न किस्मों की विशेषताओं और बाजार की गतिशीलता के आधार पर स्टॉप लॉस थ्रेशोल्ड को अनुकूलित करें।
  3. स्थिति प्रबंधन मॉड्यूल में शामिल हों और बाजार की अस्थिरता और खाते के जोखिम के आधार पर स्थिति का आकार समायोजित करें।
  4. रणनीति के लिए पैरामीटर का अनुकूलन करें, सबसे अच्छा पैरामीटर संयोजन ढूंढें।

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

रणनीति स्रोत कोड
/*backtest
start: 2024-03-11 00:00:00
end: 2024-03-15 09:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RMM_byMR", overlay=true)

// RSI uzunluğu girişi
rsiLength = input(14, title="RSI Uzunluğu")

// Tepe ve dip seviyeleri için girişler
overboughtLevel = input(70, title="Aşırı Alım Seviyesi")
oversoldLevel = input(30, title="Aşırı Satım Seviyesi")

// RSI hesaplama
rsiValue = rsi(close, rsiLength)

// Son tepe noktalarını tespit etme // Son dip noktalarını tespit etme
isPeak = rsiValue[2] > overboughtLevel and rsiValue[2] > rsiValue[1] and rsiValue[2] > rsiValue[3] and (rsiValue[1] > rsiValue or rsiValue[3] > rsiValue[4])
isBottom = rsiValue[2] < oversoldLevel and rsiValue[2] < rsiValue[1] and rsiValue[2] < rsiValue[3] and (rsiValue[1] < rsiValue or rsiValue[3] < rsiValue[4])

// Önceki tepe noktalarını tespit etme
prevPeak = valuewhen(isPeak, rsiValue[2], 1)
prevPeakHighPrice = valuewhen(isPeak, high[2], 1)
volumePeak = valuewhen(isPeak, volume[1]+volume[2]+volume[3], 1)
prevPeakBarIndex = valuewhen(isPeak, bar_index, 1)

// Önceki dip noktalarını tespit etme
prevBottom = valuewhen(isBottom, rsiValue[2], 1)
prevBottomLowPrice = valuewhen(isBottom, low[2], 1)
volumeBottom = valuewhen(isBottom, volume[1]+volume[2]+volume[3], 1)
prevBottomBarIndex = valuewhen(isBottom, bar_index, 1)

// Tepe noktasında satış sinyali
isSellSignal = prevPeakBarIndex > prevBottomBarIndex and isPeak and rsiValue[2] < prevPeak and high[2] > prevPeakHighPrice and (volume[1]+volume[2]+volume[3]) < volumePeak
isBuyTakeProfit = isPeak and ((rsiValue[2] < prevPeak and high[2] > prevPeakHighPrice) or (rsiValue[2] < prevPeak and (volume[1]+volume[2]+volume[3]) < volumePeak))

// Dip noktasında alış sinyali
isBuySignal = prevBottomBarIndex > prevPeakBarIndex and isBottom and rsiValue[2] > prevBottom and low[2] < prevBottomLowPrice and (volume[1]+volume[2]+volume[3]) < volumeBottom
isSellTakeProfit = isBottom and ((rsiValue[2] > prevBottom and low[2] < prevBottomLowPrice) or (rsiValue[2] > prevBottom and (volume[1]+volume[2]+volume[3]) < volumeBottom))

sellTakeProfit = valuewhen(isSellTakeProfit, low, 1)
buyTakeProfit = valuewhen(isBuyTakeProfit, high, 1)

// isSellTakeProfit koşulu için işaretlemeyi yap
plotshape(isSellTakeProfit, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.small, title="Sell Take Profit", offset=-2) 

// isBuyTakeProfit koşulu için işaretlemeyi yap
plotshape(isBuyTakeProfit, style=shape.triangledown, location=location.belowbar, color=color.red, size=size.small, title="Buy Take Profit", offset=-2)

buyComment = "Buy \n Rsi:" + tostring(round(rsiValue[2], 2)) + " \n Low:" + tostring(round(low[2],2)) + " \n Hacim:" + tostring(round(volume[1]+volume[2]+volume[3],2))
sellComment = "Sell \n Rsi:" + tostring(round(rsiValue[2], 2)) + " \n High:" + tostring(round(high[2],2)) + " \n Hacim:" + tostring(round(volume[1]+volume[2]+volume[3],2)) 

// Alış sinyali durumunda uzun pozisyon aç
if (isBuySignal)
    strategy.entry("Buy", strategy.long, comment = buyComment )
    strategy.exit("SL", "Buy", stop=close * 0.98)

// Satış sinyali durumunda kısa pozisyon aç
if (isSellSignal)
    strategy.entry("Sell", strategy.short, comment = sellComment )
    strategy.exit("SL","Sell", stop=close * 1.02)
// Limit değerini sonradan belirleme


// Alış sinyali durumunda uzun pozisyon kapat
if (isBuyTakeProfit)
    strategy.close("Buy", comment="TP")

// Satış sinyali durumunda kısa pozisyon kapat
if (isSellTakeProfit)
    strategy.close("Sell", comment="TP")