यह 7 अलग-अलग वॉल्यूम इंडिकेटरों पर आधारित एक व्यापक ट्रेडिंग रणनीति है। यह रणनीति एक व्यापक ट्रेडिंग सिस्टम बनाने के लिए OBV, A/D लाइन, CMF, MFI, VWAP, वॉल्यूम ऑसिलेटर और वॉल्यूम RSI सहित कई वॉल्यूम इंडिकेटरों को एकीकृत करती है। मूल अवधारणा कई संकेतक पुष्टि के माध्यम से ट्रेडिंग सटीकता में सुधार करना है, केवल तभी ट्रेडों को निष्पादित करना जब 4 से अधिक संकेतक एक साथ खरीद या बिक्री संकेत देते हैं।
इस रणनीति में कई संकेतकों के सत्यापन के तरीकों का प्रयोग किया गया है, जिनमें निम्नलिखित शामिल हैंः
रणनीति तब ट्रेडों को निष्पादित करती है जब 4 से अधिक संकेतक एक साथ सुसंगत संकेत देते हैं, जो मजबूत रुझान के अवसरों को इंगित करते हैं।
यह एक व्यापक ट्रेडिंग रणनीति है जो कई वॉल्यूम संकेतकों पर आधारित है जो बहुआयामी बाजार विश्लेषण के माध्यम से ट्रेडिंग सटीकता में सुधार करती है। जबकि रणनीति की मजबूत सैद्धांतिक नींव और व्यावहारिक मूल्य है, इसके लिए व्यावहारिक अनुप्रयोगों में उचित पैरामीटर अनुकूलन और जोखिम प्रबंधन की आवश्यकता होती है।
/*backtest start: 2024-01-01 00:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Combined Volume Indicators Strategy", overlay=true) // تنظیمات lengthRSI = 14 lengthMFI = 14 lengthCMF = 20 fastLength = 5 slowLength = 10 // محاسبه OBV obv = ta.cum(close > close[1] ? volume : close < close[1] ? -volume : 0) // محاسبه A/D بهصورت دستی var float ad = na ad := na(ad[1]) ? 0 : ad[1] + ((close - low) - (high - close)) / (high - low) * volume // محاسبه CMF (Chaikin Money Flow) moneyFlowMultiplier = ((close - low) - (high - close)) / (high - low) moneyFlowVolume = moneyFlowMultiplier * volume cmf = ta.sma(moneyFlowVolume, lengthCMF) / ta.sma(volume, lengthCMF) // محاسبه MFI بهصورت دستی typicalPrice = (high + low + close) / 3 moneyFlow = typicalPrice * volume // محاسبه جریان پول مثبت و منفی positiveFlow = 0.0 negativeFlow = 0.0 for i = 0 to lengthMFI - 1 positiveFlow := positiveFlow + (close[i] > close[i + 1] ? moneyFlow[i] : 0) negativeFlow := negativeFlow + (close[i] < close[i + 1] ? moneyFlow[i] : 0) mfi = 100 - (100 / (1 + (positiveFlow / negativeFlow))) // محاسبه VWAP vwap = ta.vwap(close) // محاسبه Volume Oscillator fastVolMA = ta.sma(volume, fastLength) slowVolMA = ta.sma(volume, slowLength) volumeOscillator = fastVolMA - slowVolMA // محاسبه VRSI (Volume RSI) vrsi = ta.rsi(volume, lengthRSI) // شمارش اندیکاتورهای سیگنال خرید buySignals = 0 buySignals := buySignals + (obv > obv[1] ? 1 : 0) buySignals := buySignals + (ad > ad[1] ? 1 : 0) buySignals := buySignals + (cmf > 0 ? 1 : 0) buySignals := buySignals + (mfi < 40 ? 1 : 0) buySignals := buySignals + (close < vwap ? 1 : 0) buySignals := buySignals + (volumeOscillator > 0 ? 1 : 0) buySignals := buySignals + (vrsi < 40 ? 1 : 0) // شمارش اندیکاتورهای سیگنال فروش sellSignals = 0 sellSignals := sellSignals + (obv < obv[1] ? 1 : 0) sellSignals := sellSignals + (ad < ad[1] ? 1 : 0) sellSignals := sellSignals + (cmf < 0 ? 1 : 0) sellSignals := sellSignals + (mfi > 60 ? 1 : 0) sellSignals := sellSignals + (close > vwap ? 1 : 0) sellSignals := sellSignals + (volumeOscillator < 0 ? 1 : 0) sellSignals := sellSignals + (vrsi > 60 ? 1 : 0) // شرایط سیگنال خرید: اگر بیش از 4 اندیکاتور سیگنال خرید دهند buyCondition = (buySignals > 4) // شرایط سیگنال فروش: اگر بیش از 4 اندیکاتور سیگنال فروش دهند sellCondition = (sellSignals > 4) // ورود به معامله خرید if (buyCondition) strategy.entry("Buy", strategy.long) // خروج از معامله فروش if (sellCondition) strategy.close("Buy") // رسم سیگنالهای خرید و فروش بر روی چارت plotshape(buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")