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

लेखक:चाओझांग, दिनांकः 2024-03-19 15:54:01
टैगः

img

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

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

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

रणनीतिक लाभः

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

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

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

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

  1. संकेतों की विश्वसनीयता में सुधार के लिए अन्य तकनीकी संकेतकों, जैसे एमएसीडी, बोलिंगर बैंड आदि की शुरूआत पर विचार करें।
  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")

अधिक