यह रणनीति बाजार में क्रय और बिक्री शक्ति निर्धारित करने के लिए वॉल्यूम बैलेंस सूचक के आधार पर तैयार की गई है।
वॉल्यूम बैलेंस (VB) सूचक कीमतों पर वॉल्यूम परिवर्तनों के प्रेरक बल को दर्शाता है। इसका निर्माण विचार हैः
मूल्य गति के रूप में विशिष्ट मूल्य की दिन के भीतर अस्थिरता दर की गणना करें।
मात्रा और मूल्य गति के गुणनफल से खरीद-बिक्री शक्ति का आकलन करें।
सूचक 0-अक्ष के ऊपर और नीचे उतार-चढ़ाव करता है। क्रय और बिक्री शक्ति को मापने के लिए मानदंड सूचक मूल्य की सकारात्मकता और नकारात्मकता है।
यह रणनीति VB संकेतक का निर्माण करती है और एक संकेत रेखा निर्धारित करती है। एक खरीद संकेत तब उत्पन्न होता है जब VB संकेतक संकेत रेखा के ऊपर से गुजरता है। एक बिक्री संकेत तब उत्पन्न होता है जब VB संकेतक संकेत रेखा के नीचे से गुजरता है।
संहिता के मुख्य चरण हैंः
मूल्य गति के रूप में विशिष्ट मूल्य अंतर की दिन के भीतर अस्थिरता दर की गणना करें।
गति के लिए कटऑफ रेंज गुणांक सेट करें। सीमा से ऊपर की अतिरिक्त गति को गुणांक के रूप में लिया जाता है।
कटऑफ के बाद परिमाणित गति vcp की गणना करें.
परिमाणित सूचक vfi प्राप्त करने के लिए vcp का योग करें।
सिग्नल लाइन सिग्नल लंबाई की लंबाई सेट करें और इसे vfima प्राप्त करें।
ट्रेडिंग सिग्नल उत्पन्न करने के लिए VB सूचक vfi को सिग्नल लाइन vfima के साथ तुलना करें।
इस रणनीति के लाभ इस प्रकार हैंः
खरीद-बिक्री शक्ति का आकलन करने के लिए मात्रा-मूल्य संबंध का प्रयोग करें, जो स्वयं मूल्य से प्रभावित नहीं होता है।
असामान्य उतार-चढ़ाव के प्रभाव से बचने के लिए परिमाणित गति की गणना सीमा को मापदंडों द्वारा नियंत्रित किया जा सकता है।
वीबी सूचक और सिग्नल लाइन के बीच तुलना को जोड़कर उचित प्रवेश समय निर्धारित किया जा सकता है।
सूचक गणना विधि सरल और स्पष्ट है, लाइव ट्रेडिंग में संचालित करना आसान है।
अनुकूलन योग्य संकेतकों के मापदंडों और रणनीति प्रदर्शन को अनुकूलित करने के लिए संकेत लाइन मापदंडों.
इस रणनीति में कुछ जोखिम भी हैंः
वीबी सूचक असामान्य मूल्य उतार-चढ़ाव के प्रति संवेदनशील है। उचित कटऑफ मापदंडों को निर्धारित करने की आवश्यकता है।
सूचक संकेतों से मूल्य विचलन की संभावना अधिक है।
संकेतकों के मापदंडों और संकेत लाइन मापदंडों को झूठे संकेतों को रोकने के लिए उचित अनुकूलन की आवश्यकता होती है।
स्पष्ट मात्रा-मूल्य विशेषताओं वाले उत्पादों के लिए अधिक उपयुक्त। कम तरलता वाले उत्पादों के लिए उपयुक्त नहीं।
सूचक के विचलन पर ध्यान दें, जो बाजार में उलटफेर का संकेत दे सकता है।
जोखिमों को पैरामीटर रेंज को समायोजित करके, अन्य फिल्टर का उपयोग करके, उचित ढीले स्टॉप लॉस आदि की अनुमति देकर नियंत्रित किया जा सकता है।
इस रणनीति को निम्नलिखित पहलुओं में अनुकूलित किया जा सकता हैः
संवेदनशीलता और स्थिरता को संतुलित करने के लिए परिमाणित गति के लिए गणना मापदंडों का अनुकूलन करें।
विलंब और शोर को संतुलित करने के लिए सिग्नल लाइन मापदंडों को अनुकूलित करें।
सत्यापन के लिए वॉल्यूम स्प्रेड विश्लेषण जैसे अन्य संकेतक जोड़ें।
प्रतिकूल ट्रेडों से बचने के लिए रुझान और समर्थन/प्रतिरोध संकेतकों को जोड़ें।
बाजार की अस्थिरता के आधार पर गतिशील स्टॉप लॉस सेट करें।
इष्टतम पैरामीटर संयोजन खोजने के लिए मशीन लर्निंग का उपयोग करें।
स्थिरता का आकलन करने के लिए विभिन्न प्रकार के उत्पादों और समय सीमाओं पर बैकटेस्ट।
लाभ वक्र पर सूचक मापदंडों के प्रभाव की तुलना करें ताकि इष्टतम पाया जा सके।
यह रणनीति वॉल्यूम बैलेंस संकेतक के आधार पर खरीद / बिक्री शक्ति का न्याय करती है। इसमें सरल संकेतक डिजाइन और समायोज्य मापदंडों जैसे फायदे हैं, और झूठे संकेतों जैसे जोखिम भी हैं। कई पहलुओं से आगे का अनुकूलन और सत्यापन लाइव प्रदर्शन में सुधार कर सकता है।
/*backtest start: 2023-09-29 00:00:00 end: 2023-10-29 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("VB Strategy", overlay=true) length = input(130, title="거래량 길이") coef = input(0.2, title="계수") vcoef = input(2.5, title="최대 계수") signalLength=input(5) smoothVFI=input(false, type=bool, title="부드럽게") //볼밴 length2 = input(20, minval=1, title="볼밴 길이") ma(x,y) => smoothVFI ? sma(x,y) : x typical=hlc3 inter = log( typical ) - log( typical[1] ) vinter = stdev(inter, 30 ) cutoff = coef * vinter * close vave = sma( volume, length )[1] vmax = vave * vcoef vc = iff(volume < vmax, volume, vmax) mf = typical - typical[1] vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) ) vfi = ma(sum( vcp , length )/vave, 3) vfima=ema( vfi, signalLength ) d=vfi-vfima upper = vfima + stdev(vfi, length2) lower = vfima - stdev(vfi, length2) buysignal = cross(vfi, lower) and crossunder(vfi, lower) == 1 ? vfima : na sellsignal = cross(vfi, upper) and crossover(vfi, upper) == 1 ? vfima : na //times = timestamp("GMT+6", 2017, 12, 6, 00, 00) //if (buysignal and times <= time) if (buysignal) if(strategy.position_size < 0) strategy.close("SHORT") if(strategy.position_size > 0) strategy.order("LONG", true, 1, when = (low+high)/2) if(strategy.position_size == 0) strategy.entry("LONG", strategy.long, when = (low+high)/2) //if (sellsignal and times <= time) if (sellsignal) if(strategy.position_size > 0) strategy.close("LONG") if(strategy.position_size < 0) strategy.order("SHORT", false, 1, when = (low+high)/2) if(strategy.position_size == 0) strategy.entry("SHORT", strategy.short, when = (low+high)/2)