रणनीति का अवलोकन: रणनीति आरएसआई संकेतक और मूल्य के बीच संबंध पर आधारित है, गतिशील रूप से लाभ लेने और स्टॉप लॉस स्तरों को समायोजित करके ट्रेडिंग प्रदर्शन को अनुकूलित करता है। रणनीति का मुख्य विचार गतिशील स्टॉप लॉस के माध्यम से जोखिम को नियंत्रित करते हुए, समय पर लाभ लेने के लिए मूल्य और ट्रेडिंग वॉल्यूम में परिवर्तन के साथ संयुक्त आरएसआई संकेतक की ओवरबॉट और ओवरसोल्ड विशेषताओं का उपयोग करना है।
रणनीतिक सिद्धांत:
रणनीतिक लाभः
रणनीतिक जोखिमः
अनुकूलन दिशाः
सारांश: आरएसआई डायनेमिक स्टॉप लॉस एंड टेक प्रॉफिट रणनीति ट्रेडिंग वॉल्यूम में बदलाव के साथ-साथ ट्रेडिंग वॉल्यूम में बदलाव का उपयोग करके, जोखिम को नियंत्रित करने के लिए डायनेमिक स्टॉप लॉस सेट करके, रुझान की शुरुआत में समय पर लाभ प्राप्त करती है। इस रणनीति के फायदे यह हैं कि यह रुझान उलटने की शुरुआत में मुनाफे में लॉक कर सकती है, रणनीति ड्रॉडाउन को कम कर सकती है, और एक निश्चित अनुकूलन क्षमता है। हालांकि, एक साइडवेज बाजार में, रणनीति अधिक झूठे संकेत उत्पन्न कर सकती है, इसलिए रणनीति प्रदर्शन में सुधार के लिए अन्य तकनीकी संकेतकों को पेश करना और लाभ लेने और स्टॉप लॉस की सीमाओं को अनुकूलित करना आवश्यक है। इसके अलावा, स्थिति प्रबंधन और पैरामीटर अनुकूलन को जोड़ना भी रणनीति की स्थिरता और रिटर्न में और सुधार के लिए महत्वपूर्ण दिशाएं हैं।
/*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")