यह रणनीति आरएसआई पर डब्ल्यू पैटर्न की पहचान करती है, जो प्रवृत्ति के निर्णय की शर्तों के साथ मिलकर, कम खरीद और उच्च बिक्री के लिए एक ब्रेकआउट ऑपरेशन को प्राप्त करती है। सामान्य आरएसआई ओवरबॉय ओवरबॉय क्षेत्र के निर्णय की तुलना में, डब्ल्यू पैटर्न की पहचान खरीद के समय को अधिक स्पष्ट रूप से निर्धारित करती है।
आरएसआई का उपयोग करना ((5) डब्ल्यू पैटर्न का आकलन करने के लिए, संभावित खरीदने के अवसरों को खोजने के लिए। जब डब्ल्यू पैटर्न ओवरसोल्ड क्षेत्र में दिखाई देता है, तो यह एक आसन्न उलट की भविष्यवाणी करता है।
ईएमए 20 पर ईएमए 50 का निर्णय प्रवृत्ति के रूप में ऊपर की ओर है, और प्रवेश की दिशा के रूप में निर्णय।
जब आप एक W आकार की पहचान करते हैं और यह ऊपर की ओर जा रहा है, तो खरीदें।
यदि आप पहले से ही स्थिति में हैं, तो जब आरएसआई 20 से नीचे गिरता है, तो आप स्थिति बढ़ा सकते हैं।
जब आरएसआई 75 के पार जाता है, तो यह ओवरबॉय क्षेत्र को इंगित करता है और स्टॉप से बाहर निकलता है।
8% का स्टॉपलॉस सेट करें और यदि नुकसान उस बिंदु से अधिक हो तो स्टॉपलॉस से बाहर निकलें।
W आकृति पहचान प्रवेश की निश्चितता को बढ़ाता है
प्रवृत्तियों के साथ मिलकर, फ़िल्टर सिग्नल को निष्क्रिय करें, ताकि पलटने का मौका न चूकें।
आरएसआई पैरामीटर को 5 दिनों के लिए सेट किया गया है ताकि समय पर शॉर्ट-लाइन अवसरों को पकड़ने में मदद मिल सके।
स्टॉप लॉस पॉइंट्स को सेट करके जोखिम को नियंत्रित करें।
W आकृति पहचान पैरामीटर सेटिंग पर निर्भर करती है, जो आकृति को अनदेखा या गलत कर सकती है।
एक चेतावनी के रूप में, एक जोखिम है कि हम पकड़े जाएंगे।
आरएसआई झूठी दरारें पैदा करने के लिए अतिसंवेदनशील है, और संकेतों को उचित रूप से फ़िल्टर किया जाना चाहिए।
यदि स्टॉप पॉइंट बहुत बड़ा है, तो यह समय से पहले बंद हो सकता है।
विभिन्न आरएसआई चक्र मापदंडों का परीक्षण करें और सबसे इष्टतम मापदंडों का संयोजन ढूंढें।
आकृति निर्धारण की शर्तों को बढ़ाएं और पहचान की सटीकता में सुधार करें
गलत ट्रेडों को कम करने के लिए अन्य संकेतकों के साथ सिग्नल फ़िल्टरिंग।
गतिशील रूप से स्टॉप पोजीशन को समायोजित करें, स्टॉप रणनीति को अनुकूलित करें।
स्टॉप-स्टॉप रणनीतियों का अनुकूलन करें, लाभप्रदता सुनिश्चित करने के लिए अपनी स्थिति की अवधि बढ़ाएं।
यह रणनीति आरएसआई डब्ल्यू प्रारूप का उपयोग करती है, जो एक कुशल रिवर्स-ब्रेकिंग ऑपरेशन को प्राप्त करती है। हालांकि, इसे और अधिक अनुकूलित करने की आवश्यकता है, और अन्य तकनीकी संकेतकों के साथ सिग्नल फ़िल्टरिंग की आवश्यकता है, जिससे रणनीति की स्थिरता और लाभप्रदता में सुधार होता है।
/*backtest
start: 2023-08-17 00:00:00
end: 2023-09-16 00:00:00
period: 3h
basePeriod: 15m
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/
// © mohanee
//@version=4
strategy(title="RSI W Pattern strategy", pyramiding=2, shorttitle="RSI W Pattern", overlay = false)
//Strategy Rules
//ema20 is above ema50
//RSI5 making W pattern in oversold area or just below 70 level , you can define the value for parameter buyRsiEntry --- dont go beyond 70
//Exit when RSI reaches 75
len = input(title="RSI Period", minval=1, defval=5)
buyRsiEntry = input(title="look for W pattern bottom edges well below RSI level (BUY) ", minval=10, defval=65, maxval=70)
//numberOfBars = input(title="Number of Bars in W pattern ", minval=4, defval=4, maxval=6)
emaL = input(title="Long Term EMA", minval=1, defval=50, maxval=200)
emaS = input(title="Short Term EMA", minval=1, defval=20, maxval=200)
stopLoss = input(title="Stop Loss %", minval=1, defval=8, maxval=10)
//rsiWp1=false
myRsi = rsi(close,len)
//longEmaVal=ema(close,emaL)
//shortEmaVal=ema(close,emaS)
entryEma=ema(close,5) // This is used as filetr for BUY
isEma20AboveEma50=ema(close,emaS)>ema(close,emaL) ? true : false
//W Pattern
//rsiWp1 = myRsi>myRsi[1] and myRsi>=30 and myRsi[1]<myRsi[2] and myRsi[2]>myRsi[3] and myRsi[3]<myRsi[4] //This is published one
rsiWp1 = myRsi>myRsi[1] and myRsi>=30 and myRsi[1]<myRsi[2] and myRsi[2]>myRsi[3] and myRsi[3]<myRsi[4] and (low[1]<=low[4] or low[3]<=low[4] ) // looking for recent low
//rsiWp1 = myRsi>myRsi[1] and myRsi>=30 and myRsi[1]<myRsi[2] and myRsi[2]>myRsi[3] and myRsi[3]<myRsi[4] //Ths one has 92% win rate and 4.593 prfit factor
//long condition filters
//1. ema20 > ema50
//2. Rsi5 has W pattern
//3. current RSI <= 65 (parameter buyRsiEntry) (dont go beyond 70 , becuase that is already overbought area)
//4. current price low/close is below 5 ema --- looking for pullback -- Optional
longCondition = isEma20AboveEma50 and rsiWp1 and (myRsi<=buyRsiEntry and myRsi>=30)
//and (low<entryEma or close<entryEma) --- if this optional required , add it to above condition
patternText=" W "
barcolor(longCondition?color.yellow:na)
//initial entry
strategy.entry("RSI_W_LE", comment="Buy" , long=true, when=longCondition )
//legging in to existing
strategy.entry("RSI_W_LE",comment="Add", long=true, when=strategy.position_size>0 and crossover(myRsi,10 ))
//calculate stoploss value
stopLossValue=strategy.position_avg_price - (strategy.position_avg_price*stopLoss/100)
rsiPlotColor=longCondition ?color.yellow:color.purple
plot(myRsi, title="RSI", linewidth=2, color=color.purple)
// plot(myRsi, title="RSI", linewidth=2, color=rsiWp1?color.yellow:color.purple)
//plot(myRsi[1], title="RSI", linewidth=2, color=rsiWp1==true?color.yellow:color.purple)
//plot(myRsi[2], title="RSI", linewidth=2, color=rsiWp1?color.yellow:color.purple)
//plot(myRsi[3], title="RSI", linewidth=2, color=rsiWp1?color.yellow:color.purple)
//plot(myRsi[4], title="RSI", linewidth=2, color=rsiWp1?color.yellow:color.purple)
hline(40, title="Middle Line", color=color.blue, linestyle=hline.style_dashed)
obLevel = hline(75, title="Overbought", color=color.red, linestyle=hline.style_dashed)
osLevel = hline(30, title="Oversold", color=color.purple, linestyle=hline.style_dashed)
fill(obLevel, osLevel, title="Background", color=#9915FF, transp=90)
plotshape(
longCondition ? myRsi[1] : na,
offset=-1,
title="W Pattern",
text=patternText,
style=shape.labelup,
location=location.absolute,
color=color.purple,
textcolor=color.yellow,
transp=0
)
bgcolor(strategy.position_size>0?color.green:na, transp=40, title='In Long Position')
//take profit or close when RSI reaches 75
takeProfit=crossover(myRsi,75)
//close when RSi reaches profit level
strategy.close("RSI_W_LE", comment="TP Exit", qty=strategy.position_size,when=crossover(myRsi,75) and close>strategy.position_avg_price )
//close everything when stoploss hit
longCloseCondition=close<(strategy.position_avg_price - (strategy.position_avg_price*stopLoss/100) ) //or crossunder(myRsi,30)
strategy.close("RSI_W_LE", comment="SL Exit", qty=strategy.position_size,when=longCloseCondition )