
यह एक बुलिन बैंड सूचक आधारित ट्रेडिंग रणनीति है, जो बाजार की प्रवृत्ति को पहचानती है और बुलिन बैंड के साथ कीमतों के क्रॉस-रिलेशन के माध्यम से ट्रेडिंग सिग्नल उत्पन्न करती है। यह रणनीति बुलिन बैंड के मध्य-रेखा के रूप में 55 चक्र की चलती औसत का उपयोग करती है, और बुलिन बैंड के ऊपर-नीचे ट्रैक के रूप में 1.0 गुना मानक विचलन के आधार पर गणना की जाती है। रणनीति का मूल यह है कि बुलिन बैंड के ऊपर और नीचे ट्रैक को तोड़ने के लिए कीमतों के माध्यम से अधिक और खाली समय निर्धारित किया जाए।
रणनीति के संचालन के सिद्धांत में मुख्य रूप से निम्नलिखित प्रमुख भाग शामिल हैंः
यह एक क्लासिक प्रवृत्ति का पालन करने वाली रणनीति है जो कि ब्रुनेड पर आधारित है और बाजार के रुझानों को मूल्य और ब्रुनेड के क्रॉस-रिलेशंस के माध्यम से पकड़ती है। रणनीति की डिजाइन संक्षिप्त और स्पष्ट है, जिसमें अच्छे दृश्य प्रभाव और सिग्नल जनरेशन तंत्र हैं। हालांकि यह अस्थिर बाजारों में चुनौतीपूर्ण हो सकता है, उचित पैरामीटर अनुकूलन और सहायक संकेतकों को जोड़कर रणनीति की स्थिरता और विश्वसनीयता को और बढ़ाया जा सकता है।
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Filter [Strategy]", overlay=true)
// -- INPUTS (kratke tooltipy, ziadne prelomenie riadku)
src = input.source(close, title="Source", tooltip="Source for BB calc")
length = input.int(55, minval=1, title="SMA length", tooltip="Period for BB basis")
mult = input.float(1.0, minval=0.1, maxval=5, title="Std Dev", tooltip="Std Dev multiplier")
CC = input.bool(true, "Color Bars", tooltip="If true, color bars by BB logic")
// -- Bollinger calc
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// -- Long/Short logic
longCondition = close > upper
shortCondition = close < lower
L1 = ta.barssince(longCondition)
S1 = ta.barssince(shortCondition)
longSignal = L1 < S1 and not (L1 < S1)[1]
shortSignal = S1 < L1 and not (S1 < L1)[1]
// -- Plot signals
plotshape(shortSignal ? close : na, color=color.red, style=shape.triangledown, size=size.small, location=location.abovebar, title="Short Signal")
plotshape(longSignal ? close : na, color=color.green, style=shape.triangleup, size=size.small, location=location.belowbar, title="Long Signal")
// -- Plot BB lines
plot(upper, color=color.new(color.red, 40), title="Upper BB")
plot(lower, color=color.new(color.green,40), title="Lower BB")
plot(basis, color=color.new(color.blue, 10), title="Basis")
// -- Fill
fill(plot(na), plot(na)) // 'dummy' fill reset
fill(plot(upper, display=display.none), plot(basis, display=display.none), color=color.new(color.teal, 80))
fill(plot(lower, display=display.none), plot(basis, display=display.none), color=color.new(color.orange, 80))
// -- barcolor
bcol = close > upper ? color.lime : close < lower ? color.red : na
barcolor(CC ? bcol : na)
// -- Alerts
alertcondition(longSignal, title="Long - BB", message="BB Filter Long")
alertcondition(shortSignal, title="Short - BB", message="BB Filter Short")
// -- Strategy entries
if longSignal
strategy.entry("Long", strategy.long)
if shortSignal
strategy.entry("Short", strategy.short)