
यह 7 अलग-अलग लेन-देन संकेतकों पर आधारित एक एकीकृत व्यापार रणनीति है। यह रणनीति OBV, A / D लाइन, CMF, MFI, VWAP, लेन-देन ऑस्सिलेटर और लेन-देन RSI जैसे कई लेन-देन संकेतकों को एकीकृत करके एक व्यापक व्यापार प्रणाली का निर्माण करती है। रणनीति का मूल लेनदेन की सटीकता को बढ़ाने के लिए कई संकेतकों के संकेतों की पुष्टि करना है, और केवल तभी ट्रेडों को निष्पादित किया जाता है जब 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")