यह रणनीति ट्रेडिंग सिग्नल उत्पन्न करने के लिए परिवर्तित ऑन बैलेंस वॉल्यूम (OBV) और MACD का उपयोग करती है। यह मूल्य सूचकांक MACD और परिवर्तित OBV को वॉल्यूम और मूल्य के लिए एक व्यापक संकेतक के रूप में जोड़ती है, जिसका उद्देश्य मूल्य और वॉल्यूम की ताकत के ब्रेकआउट पर ट्रेडिंग अवसरों को पकड़ना है।
बाजार के रुझान को निर्धारित करने के लिए सरल चलती औसत (एसएमए) की गणना करें।
संशोधित OBV की गणना करें. यह OBV को अधिक संवेदनशील बनाने के लिए बंद मूल्य और पिछले बंद मूल्य संबंध के आधार पर OBV की गणना को संशोधित करता है.
परिवर्तित ओबीवी पर एमएसीडी की गणना करें। एमएसीडी में वॉल्यूम गति परिवर्तन की पहचान करने के लिए तेज रेखा, धीमी रेखा और हिस्टोग्राम शामिल हैं।
जब एमएसीडी गोल्डन क्रॉस करता है और ऊपर जाता है, तो एक खरीद संकेत उत्पन्न होता है।
जब एमएसीडी मृत क्रॉस और नीचे जाता है, तो एक बेचने का संकेत ट्रिगर होता है।
ट्रेंडलेस मार्केट के दौरान अनावश्यक ट्रेडों से बचने के लिए एसएमए की जाँच करें।
परिवर्तित ओबीवी प्रारंभिक मात्रा परिवर्तनों को पकड़ने के लिए अधिक संवेदनशील है।
एमएसीडी स्पष्ट रूप से वॉल्यूम गति परिवर्तन और प्रमुख स्तरों को दर्शाता है।
वॉल्यूम और मूल्य के संयोजन से संकेत की सटीकता में सुधार होता है।
एसएमए बाजार की प्रवृत्ति निर्धारित करके झूठे संकेत को फ़िल्टर करता है।
स्पष्ट रणनीति तर्क और बड़े अनुकूलन स्थान।
संशोधित OBV से झूठे संकेत उत्पन्न हो सकते हैं, अन्य संकेतकों द्वारा फ़िल्टर की आवश्यकता होती है।
गलत एमएसीडी मापदंडों की सेटिंग ट्रेडों को मिस कर सकती है या गलत संकेतों का कारण बन सकती है।
घाटे से बचने के लिए स्टॉक के विवरण पर ध्यान दें।
बाजार की स्थिति की निगरानी करें क्योंकि रणनीति विशेष परिदृश्यों के लिए काम नहीं कर सकती है।
बैकटेस्ट ओवरफिट जोखिम से लाइव ट्रेडिंग में खराब प्रदर्शन हो सकता है।
बाजार के रुझान निर्धारण को अनुकूलित करने के लिए विभिन्न SMA अवधि संयोजनों का परीक्षण करें।
वॉल्यूम गति परिवर्तन को बेहतर ढंग से पहचानने के लिए एमएसीडी मापदंडों का परीक्षण करें।
फिल्टर के रूप में अन्य संकेतक जैसे कि KDJ, RSI आदि जोड़ें।
प्रति व्यापार सीमा हानि के लिए स्टॉप लॉस जोड़ें.
समग्र लाभप्रदता में सुधार के लिए धन प्रबंधन को अनुकूलित करें।
स्टॉक के बीच परीक्षण मापदंडों में अंतर।
यह रणनीति वॉल्यूम और मूल्य संश्लेषण प्राप्त करने के लिए संशोधित ओबीवी और एमएसीडी को जोड़ती है। यह वॉल्यूम गति परिवर्तन को जल्दी से पकड़ सकती है और ट्रेडिंग सिग्नल उत्पन्न कर सकती है। अकेले ओबीवी या एमएसीडी का उपयोग करने की तुलना में, यह रणनीति अधिक विश्वसनीय ट्रेडिंग अवसर प्रदान करती है। हालांकि, झूठे संकेत जोखिम मौजूद हैं और संकेतक और मापदंडों पर आगे अनुकूलन की आवश्यकता है, साथ ही लाइव ट्रेडिंग में स्थिर लाभ प्राप्त करने के लिए धन प्रबंधन की आवश्यकता है। कुल मिलाकर, रणनीति में स्पष्ट तर्क है और इसकी क्षमता का पता लगाने के लिए परीक्षण और अनुकूलन करने के लायक है।
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h 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/ // © stocktechbot //@version=5 strategy("Altered OBV On MACD", overlay=true, margin_long=100, margin_short=100) // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © stocktechbot //@version=5 //SMA Tredline out = ta.sma(close, 200) outf = ta.sma(close, 50) outn = ta.sma(close, 90) outt = ta.sma(close, 21) outthree = ta.sma(close, 9) //sma plot offset = input.int(title="Offset", defval=0, minval=-500, maxval=500) plot(out, color=color.blue, title="MA200", offset=offset) plot(outf, color=color.maroon, title="MA50", offset=offset) plot(outn, color=color.orange, title="MA90", offset=offset) plot(outt, color=color.olive, title="MA21", offset=offset) plot(outthree, color=color.fuchsia, title="MA9", offset=offset) fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) chng = 0 obv = ta.cum(math.sign(ta.change(close)) * volume) if close < close[1] and (open < close) chng := 1 else if close > close[1] chng := 1 else chng := -1 obvalt = ta.cum(math.sign(chng) * volume) //src = input(title="Source", defval=close) src = obvalt signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9) sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"]) // Calculating fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) hist = macd - signal //hline(0, "Zero Line", color=color.new(#787B86, 50)) //plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below))) //plot(macd, title="MACD", color=col_macd) //plot(signal, title="Signal", color=col_signal) [macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) //BUY Signal mafentry =ta.sma(close, 50) > ta.sma(close, 90) //matentry = ta.sma(close, 21) > ta.sma(close, 50) matwohun = close > ta.sma(close, 200) twohunraise = ta.rising(out, 2) twentyrise = ta.rising(outt, 2) macdrise = ta.rising(macd,2) macdlong = ta.crossover(macd, signal) longCondition=false if macdlong and macdrise longCondition := true if (longCondition) strategy.entry("My Long Entry Id", strategy.long) //Sell Signal mafexit =ta.sma(close, 50) < ta.sma(close, 90) matexit = ta.sma(close, 21) < ta.sma(close, 50) matwohund = close < ta.sma(close, 200) twohunfall = ta.falling(out, 3) twentyfall = ta.falling(outt, 2) shortmafall = ta.falling(outthree, 1) macdfall = ta.falling(macd,1) macdsell = macd < signal shortCondition = false if macdfall and macdsell and (macdLine < signalLine) and ta.falling(low,2) shortCondition := true if (shortCondition) strategy.entry("My Short Entry Id", strategy.short)