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