मल्टी-इंडिकेटर कन्वर्जेंस ट्रेडिंग रणनीति रुझान बाजारों के दौरान उच्च संभावना सेटअप की पहचान करने के लिए आरएसआई, टीडी अनुक्रमिक, एमएसीडी और बोलिंगर बैंड से संकेतों को जोड़ती है।
रणनीति तर्क:
14-अवधि आरएसआई की गणना करें। आरएसआई अंतर पैरामीटर का उपयोग खरीद/बिक्री संकेतों के लिए सीमा के रूप में करें। आरएसआई से नीचे (50 - आरएसआई अंतर) खरीद संकेत देता है। आरएसआई से ऊपर (50 + आरएसआई अंतर) बिक्री संकेत देता है।
MACD सूचक की गणना करें. 5 लगातार सकारात्मक MACD हिस्टोग्राम बार खरीद संकेत देते हैं. 5 लगातार नकारात्मक बार बेच संकेत देते हैं.
TD अनुक्रमिक गणना करें. 2 लगातार ऊपर TD बार खरीद संकेत देते हैं. 2 लगातार नीचे TS बार बेचने संकेत देते हैं.
20-अवधि वाले बोलिंगर बैंड की गणना करें। ऊपरी बैंड से ऊपर की कीमत तोड़ने से खरीद का सुझाव मिलता है। निचले बैंड से नीचे की कीमत तोड़ने से बिक्री का सुझाव मिलता है।
केवल तभी ट्रेड करें जब आरएसआई, एमएसीडी और टीडी सीक्वेंशियल दिशा पर सहमत हों, और बोलिंगर बैंड्स विरोधाभासी न हों।
इनपुट मापदंडों के आधार पर लाभ लक्ष्य और स्टॉप लॉस निर्धारित करें।
यह रणनीति झूठे संकेतों से बचने के लिए कई संकेतकों की ताकत को जोड़ती है। बोलिंगर बैंड प्रवृत्तियों के दौरान उच्च संभावना सेटअप के लिए फ़िल्टर करने में मदद करते हैं। हालांकि, संकेतक मापदंडों को गहन अनुकूलन की आवश्यकता होती है, और संकेत अपेक्षाकृत कम होने चाहिए जब सभी 4 संकेतक ओवर-ट्रेडिंग से बचने के लिए सहमत होते हैं।
कुल मिलाकर, यह बहु-सूचक रणनीति मजबूत रुझानों के दौरान उच्च संभावना सेटअप को पकड़ सकती है, लेकिन अत्यधिक व्यापार से बचने के लिए सावधानीपूर्वक पैरामीटर ट्यूनिंग, और सूचक संकेतों के रूढ़िवादी उपयोग की आवश्यकता होती है।
/*backtest start: 2022-09-05 00:00:00 end: 2023-09-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("RSI, TD Seq, MACD, BB Strategy - Calculation",overlay=true) RSIDifference = input(-7, minval=-50, maxval=50, title="RSI Difference") TD = close > close[4] ?nz(TD[1])+1:0 TS = close < close[4] ?nz(TS[1])+1:0 TDUp = TD - valuewhen(TD < TD[1], TD , 1 ) TDDn = TS - valuewhen(TS < TS[1], TS , 1 ) TDcheckUP = iff(TD == 2, true, false) TDCheckDOWN = iff(TS == 2, true, false) [_, _, histLine] = macd(close, 12, 26, 9) MACDCheckDown = iff(histLine > 0 and histLine[1] > 0 and histLine[2] > 0 and histLine[3] > 0 and histLine[4] > 0, true, false) MACDCheckUp = iff(histLine < 0 and histLine[1] < 0 and histLine[2] < 0 and histLine[3] < 0 and histLine[4] < 0, true, false) RSICal = rsi(close, 14) RSICalNewUp = 50 + RSIDifference RSICalNewDown = 50 - RSIDifference RSICheckUp = iff(RSICal <= RSICalNewUp, true, false) RSICheckDown = iff(RSICal >= RSICalNewDown, true, false) basis = sma(close, 20) dev = 2 * stdev(close, 20) upperBB = basis + dev lowerBB = basis - dev BBCheckUp = iff(close > upperBB, true, false) BBCheckDown = iff(close < lowerBB, true, false) //BBCheckUp = false //BBCheckDown = false BuyCheck = iff(TDcheckUP == true and MACDCheckUp == true and RSICheckUp == true and BBCheckUp == false, true, false) SellCheck = iff(TDCheckDOWN == true and MACDCheckDown == true and RSICheckDown == true and BBCheckDown == false, true, false) ProfitStratA = input(50, minval=0, maxval=10000, title="Profit", step=0.5) useStopLoss = input(false, title="Use Stop Loss?") LossstratA = input(145, minval=0, maxval=10000, title="Stop Loss", step=0.5) ProfitStrat = ProfitStratA * 10 Lossstrat = useStopLoss ? LossstratA * 10 : 1000000 if (strategy.position_size > 0) strategy.exit("BuyClose", "Buy", profit=ProfitStrat, loss=Lossstrat) if (strategy.position_size < 0) strategy.exit("SellClose", "Sell", profit=ProfitStrat, loss=Lossstrat) if (BuyCheck == true and strategy.position_size == 0) strategy.entry("Buy", strategy.long, comment="Long Entry") if (SellCheck == true and strategy.position_size == 0) strategy.entry("Sell", strategy.short, comment="Short Entry") //plotshape(BuyCheck, color=blue, transp=0, style=shape.arrowup, text="Buy\n", location=location.belowbar) //plotshape(SellCheck, color=orange, transp=0, style=shape.arrowdown, text="Sell\n", location=location.abovebar)