
यह रणनीति एक ब्रिन बैंड और यादृच्छिक ऑस्सिलेटर पर आधारित ट्रेडिंग रणनीति है। यह बाजार में उतार-चढ़ाव की सीमा निर्धारित करने के लिए ब्रिन का उपयोग करता है, और बाजार में ओवरबॉय और ओवरसोल की स्थिति का न्याय करने के लिए यादृच्छिक ऑस्सिलेटर का उपयोग करता है। जब कीमत ब्रिन बैंड को पार करती है, तो रणनीति अधिक होती है; जब कीमत ब्रिन बैंड को पार करती है, तो रणनीति खाली हो जाती है। साथ ही, यह रणनीति ट्रेडिंग संकेतों को फ़िल्टर करने के लिए यादृच्छिक ऑस्सिलेटर का उपयोग करती है, ताकि रणनीति की सटीकता और विश्वसनीयता में सुधार हो सके।
इस रणनीति के केंद्र में ब्रिन बैंड और रैंडम ऑस्सिलेटर दो तकनीकी संकेतक हैं। ब्रिन बैंड तीन लाइनों से बना हैः मध्य ट्रैक, ऊपरी ट्रैक और निचले ट्रैक। मध्य ट्रैक कीमतों का एक सरल चल औसत है, और ऊपरी ट्रैक और निचले ट्रैक क्रमशः मध्य ट्रैक के मूल्य मानक अंतर को जोड़ने और घटाने के कुछ गुणा हैं। जब कीमत ट्रैक को तोड़ती है, तो यह इंगित करती है कि बाजार ओवरबॉट स्थिति में हो सकता है; जब कीमत ट्रैक से गिरती है, तो यह इंगित करती है कि बाजार ओवरबॉट स्थिति में हो सकता है।
यादृच्छिक ऑसिलेटर दो लाइनों से बना हैः% K लाइन और% D लाइन।% K लाइन ने हाल के समय में उच्चतम और निम्नतम के बीच समापन मूल्य की स्थिति को मापा,% D लाइन% K लाइन का एक चलती औसत है।% K लाइन पर% D लाइन को पार करते समय, यह दर्शाता है कि बाजार ओवरबॉट में हो सकता है;% K लाइन के नीचे% D लाइन को पार करते समय, यह दर्शाता है कि बाजार ओवरसोल्ड में हो सकता है।
यह रणनीति इन दोनों संकेतकों को जोड़ती है, जब कीमतें बुरिन बैंड को पार करती हैं और यादृच्छिक ऑसिलेटर% K लाइन पर% D लाइन को पार करती हैं, तो रणनीति अधिक होती है; जब कीमतें बुरिन बैंड को पार करती हैं और यादृच्छिक ऑसिलेटर% K लाइन के नीचे% D लाइन को पार करती हैं, तो रणनीति खाली होती है। यह संयोजन बाजार की प्रवृत्ति को प्रभावी रूप से पकड़ सकता है, और साथ ही साथ उतार-चढ़ाव वाले बाजार में अक्सर व्यापार से बच सकता है।
यह रणनीति एक सरल और प्रभावी ट्रेडिंग रणनीति है, जो ब्रुनेट बैंड और रैंडम ऑस्सिलेटर के दो क्लासिक तकनीकी संकेतकों के संयोजन के माध्यम से है, जो ट्रेंडिंग और झटके वाली दोनों बाजार स्थितियों में स्थिर रिटर्न प्राप्त करने में सक्षम है। हालांकि इस रणनीति में कुछ जोखिम और सीमाएं भी हैं, लेकिन उचित अनुकूलन और सुधार के साथ, रणनीति की प्रदर्शन और अनुकूलन क्षमता को और बढ़ाया जा सकता है, जो एक ट्रेडिंग रणनीति है जिसे संदर्भित और सीखने के लायक है।
/*backtest
start: 2023-05-03 00:00:00
end: 2024-05-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Unique Bollinger Bands Strategy", overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev
upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2
colorBasis = src >= basis ? color.blue : color.orange
pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))
fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))
// Parameters
bbLength = input.int(34, title="Length", minval=1)
bbMultiplier = input.float(2.0, title="Multiplier", minval=0.001, maxval=50)
// Source
priceData = close // Unique name for price data source
// Bollinger Bands Calculation
bbBasis = ta.sma(priceData, bbLength)
bbDeviation = ta.stdev(priceData, bbLength)
bbDeviationMultiplied = bbMultiplier * bbDeviation
bbUpperBand = bbBasis + bbDeviationMultiplied
bbLowerBand = bbBasis - bbDeviationMultiplied
// Plot Bollinger Bands
plot(bbBasis, color=color.blue, linewidth=2)
plot(bbUpperBand, color=color.blue)
plot(bbLowerBand, color=color.orange)
// Strategy Logic for Entry and Exit
enterLong = ta.crossover(priceData, bbUpperBand)
enterShort = ta.crossunder(priceData, bbLowerBand)
// Enter Long when price crosses over upper band
if (enterLong)
strategy.entry("Long", strategy.long)
// Enter Short when price crosses under lower band
if (enterShort)
strategy.entry("Short", strategy.short)
// Close Long when Short condition is met (i.e., price under lower band)
if (enterShort)
strategy.close("Long")
// Close Short when Long condition is met (i.e., price over upper band)
if (enterLong)
strategy.close("Short")