यह रणनीति बाजार में संभावित ट्रेडिंग अवसरों की पहचान करने के लिए 5-दिवसीय घातीय चलती औसत (ईएमए) और बोलिंगर बैंड (बीबी) का उपयोग करती है। जब कीमत ऊपरी बोलिंगर बैंड या निचले बोलिंगर बैंड से ऊपर या नीचे टूट जाती है, और विशिष्ट शर्तें पूरी होती हैं, तो रणनीति खरीद या बिक्री संकेत उत्पन्न करती है। रणनीति का उद्देश्य जोखिम को प्रबंधित करने और रिटर्न को अधिकतम करने के लिए स्टॉप लॉस और लक्ष्य मूल्य स्तरों का उपयोग करते हुए बाजार में महत्वपूर्ण मूल्य आंदोलनों को पकड़ना है।
इस रणनीति का मूल बाजार के रुझानों और अस्थिरता को निर्धारित करने के लिए 5-दिवसीय ईएमए और बोलिंगर बैंड का उपयोग करना है। जब कीमत ऊपरी बोलिंगर बैंड से ऊपर टूट जाती है, और पिछली मोमबत्ती के उच्च 5 दिवसीय ईएमए से ऊपर है, तो रणनीति एक बिक्री संकेत उत्पन्न करती है। इसके विपरीत, जब कीमत निचले बोलिंगर बैंड से नीचे टूट जाती है, और पिछली मोमबत्ती के निम्न 5 दिवसीय ईएमए से नीचे होता है, तो रणनीति एक खरीद संकेत उत्पन्न करती है। यह दृष्टिकोण संभावित रुझान उलट या ब्रेकआउट बिंदुओं की पहचान करने में मदद करता है।
एक बार व्यापार में प्रवेश करने के बाद, रणनीति एक स्टॉप लॉस स्तर और एक लक्ष्य मूल्य स्तर निर्धारित करती है। संभावित नुकसान को सीमित करने के लिए स्टॉप लॉस को प्रवेश मूल्य की विपरीत दिशा में रखा जाता है। अपेक्षित लाभों को लॉक करने के लिए लक्ष्य मूल्य स्तर को निश्चित संख्या (जैसे, 1000 अंक) के आधार पर गणना की जाती है। यदि मूल्य स्टॉप लॉस स्तर या लक्ष्य मूल्य स्तर तक पहुंचता है, तो रणनीति व्यापार को बंद कर देती है और स्थिति से बाहर निकलती है।
ईएमए और बोलिंगर बैंड्स ब्रेकआउट रणनीति बाजार में महत्वपूर्ण मूल्य आंदोलनों को पकड़ने के लिए दो आम तौर पर उपयोग किए जाने वाले तकनीकी संकेतकों का लाभ उठाती है। रणनीति में स्पष्ट प्रवेश शर्तें, जोखिम प्रबंधन उपाय और लाभ लक्ष्य हैं, जिससे इसे समझना और लागू करना आसान हो जाता है। हालांकि, रणनीति के प्रदर्शन को बाजार की अस्थिरता और प्रवृत्तिहीन परिस्थितियों से प्रभावित किया जा सकता है। अनुकूलन पैरामीटर, संकेत फ़िल्टरिंग तंत्र और पैरामीटर अनुकूलन की शुरुआत करके, रणनीति की मजबूती और लाभप्रदता को और बढ़ाया जा सकता है।
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Nifty Bank Strategy", overlay=true) // Parameters lengthEMA = 5 lengthBB = 20 multBB = 1.5 targetPoints = 1000 // Calculate 5-day EMA ema5 = ta.ema(close, lengthEMA) // Calculate Bollinger Bands (length 20, multiplier 1.5) basis = ta.sma(close, lengthBB) dev = multBB * ta.stdev(close, lengthBB) upperBB = basis + dev lowerBB = basis - dev // Define strategy variables var float entryPrice = na var float stopLoss = na var float targetPrice = na var bool inTrade = false var bool isLong = false var float triggerHigh = na var float triggerLow = na var float triggerClose = na if not inTrade // Short Entry Trigger Condition if low > ema5 and low > upperBB and high > upperBB triggerLow := low triggerHigh := high triggerClose := close label.new(bar_index, high, "Waiting for short trigger", color=color.yellow) // Long Entry Trigger Condition else if high < ema5 and high < lowerBB and low < lowerBB triggerHigh := high triggerLow := low triggerClose := close label.new(bar_index, low, "Waiting for long trigger", color=color.yellow) // Check for Short Entry if not inTrade and na(triggerClose) == false and close < triggerClose if low < triggerLow entryPrice := close stopLoss := triggerHigh targetPrice := entryPrice - targetPoints strategy.entry("Short", strategy.short) label.new(bar_index, high, "Short", color=color.red, style=label.style_label_down) inTrade := true isLong := false triggerLow := na triggerHigh := na triggerClose := na // Check for Long Entry if not inTrade and na(triggerClose) == false and close > triggerClose if high > triggerHigh entryPrice := close stopLoss := triggerLow targetPrice := entryPrice + targetPoints strategy.entry("Long", strategy.long) label.new(bar_index, low, "Long", color=color.green, style=label.style_label_up) inTrade := true isLong := true triggerLow := na triggerHigh := na triggerClose := na // Manage Short Trade if inTrade and not isLong if high >= stopLoss strategy.close("Short", comment="SL Hit") label.new(bar_index, high, "SL Hit", color=color.red, style=label.style_label_down) inTrade := false else if low <= targetPrice strategy.close("Short", comment="Target Hit") label.new(bar_index, low, "Target Hit", color=color.green, style=label.style_label_up) inTrade := false // Manage Long Trade if inTrade and isLong if low <= stopLoss strategy.close("Long", comment="SL Hit") label.new(bar_index, low, "SL Hit", color=color.red, style=label.style_label_down) inTrade := false else if high >= targetPrice strategy.close("Long", comment="Target Hit") label.new(bar_index, high, "Target Hit", color=color.green, style=label.style_label_up) inTrade := false // Plotting plot(ema5, color=color.orange, title="5-day EMA") plot(upperBB, color=color.red, title="Upper Bollinger Band") plot(lowerBB, color=color.purple, title="Lower Bollinger Band") // Plot trade entry and exit points plotshape(series=inTrade and isLong ? entryPrice : na, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal") plotshape(series=inTrade and not isLong ? entryPrice : na, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")