बोलिंगर बैंड ब्रेकआउट और अस्थिरता फ़िल्टर रणनीति


निर्माण तिथि: 2024-03-08 15:28:05 अंत में संशोधित करें: 2024-03-08 15:28:05
कॉपी: 0 क्लिक्स: 692
1
ध्यान केंद्रित करना
1617
समर्थक

बोलिंगर बैंड ब्रेकआउट और अस्थिरता फ़िल्टर रणनीति

रणनीति अवलोकन

बोलिंग बैंड ब्रेकआउट और अस्थिरता फ़िल्टरिंग रणनीति बोलिंग बैंड सूचकांकों पर आधारित एक ट्रेडिंग रणनीति है। यह बोलिंग बैंड का उपयोग करता है ताकि कीमतों की स्थिति और अस्थिरता को चलती औसत के सापेक्ष निर्धारित किया जा सके, जिससे स्थिति खोलने और बंद करने का निर्णय लिया जा सके। इस रणनीति की एक अनूठी बात यह है कि इसमें अस्थिरता फ़िल्टर का उपयोग किया गया है, जो लगातार के-लाइन के उतार-चढ़ाव का पता लगाने के लिए है ताकि बाजार में अस्थिरता के समय व्यापार में प्रवेश से बचा जा सके। इसके अलावा, यह रणनीति लाभ की रक्षा और जोखिम को नियंत्रित करने के लिए स्टॉप एंड लॉस शर्तों को भी सेट करती है।

रणनीति सिद्धांत

इस रणनीति के केंद्र में पोलिंग बैंड सूचकांक की गणना करना है। पोलिंग बैंड तीन लाइनों से बना हैः मध्यवर्ती सरल चलती औसत है, ऊपर और नीचे की ओर एक निश्चित मानक अंतर को जोड़ना और घटाना है। मानक अंतर का आकार पैरामीटर द्वारा नियंत्रित किया जाता है।

रणनीति के लिए स्थिति खोलने की शर्तें पूलिंग बैंड के सापेक्ष समापन मूल्य की स्थिति पर आधारित होती हैं। यदि ट्रेडिंग दिशा को अधिक करने के लिए सेट किया गया है ((tradeDirection> = 0), और समापन मूल्य नीचे की ओर एक निश्चित अनुपात ((lower_breakout_pct), तो अधिक स्थिति खोलें; यदि ट्रेडिंग दिशा को कम करने के लिए सेट किया गया है ((tradeDirection< = 0), और समापन मूल्य ऊपर की ओर एक निश्चित अनुपात ((upper_breakout_pct), तो खाली स्थिति खोलें। यहां ब्रेक अनुपात पैरामीटर प्रवृत्ति की पुष्टि करने के लिए पूलिंग बैंड को थोड़ा तोड़ने के लिए स्थिति खोलने की अनुमति देता है।

दूसरी ओर, यदि लगातार दो K लाइनों में उतार-चढ़ाव की गिरावट पूर्वानुमानित उतार-चढ़ाव की सीमा ((Volatility) से अधिक है, तो यह देखते हुए कि वर्तमान बाजार में अस्थिरता अधिक है, रणनीति एक नया स्थान नहीं खोलती है। यह अस्थिरता फ़िल्टर कुछ हद तक अत्यधिक अस्थिर बाजार की स्थिति से बच सकता है।

समतल स्थिति के लिए, यदि मल्टीहेड स्थिति का समापन मूल्य ऊपरी क्षेत्र के पास होता है*long_win_pct), या एक खाली स्थिति का समापन मूल्य नीचे की पटरी के पास ((lower+area*short_win_pct), रणनीति को लाभ के साथ समाप्त करने के लिए संबंधित स्थिति को समाप्त कर देती है। इसके अलावा, यदि स्थिति का अस्थिर नुकसान पूर्वनिर्धारित अधिकतम निकासी प्रतिशत ((max_drawdown_percent) से अधिक है, तो रणनीति को बंद कर दिया जाएगा।

रणनीतिक लाभ

  1. पोलिंग बैंड एक परिपक्व और व्यापक रूप से उपयोग किया जाने वाला तकनीकी संकेतक है, जो चलती औसत और कीमतों की अस्थिरता के बारे में जानकारी को जोड़ता है। पोलिंग बैंड का उपयोग ट्रेडिंग रणनीति बनाने के लिए किया जाता है, जो रुझानों और उतार-चढ़ाव के परिवर्तनों को पकड़ सकता है।

  2. इस रणनीति में खुले और खुले दोनों तरह के तर्क शामिल हैं, जो खुले और खुले बाजारों में लचीले ढंग से अवसरों को पकड़ने में मदद करते हैं। बीलिंगर बैंड ब्रेकआउट पॉइंट्स की सेटिंग रणनीति के प्रवेश बिंदु को अधिक पुष्टिकरण प्रदान करती है।

  3. अस्थिरता फ़िल्टर अत्यधिक अस्थिरता वाले बाजारों में स्थिति खोलने से बचता है, जो कुछ हद तक जोखिम को कम करता है जो अक्सर व्यापार और उत्तोलन के कारण होता है।

  4. रणनीति में स्टॉप और स्टॉप लॉस तंत्र का उपयोग किया जाता है, जो सक्रिय रूप से स्थिति को नियंत्रित कर सकता है, और जब कीमत एक महत्वपूर्ण बिंदु पर वापस आ जाती है, तो स्थिति को खाली कर देता है। यह मुनाफे की रक्षा करने और वापसी को नियंत्रित करने के लिए उपयोगी है।

रणनीतिक जोखिम

  1. बोलिंगर बैंड मूल रूप से एक पिछड़ा सूचक है, बाजार की प्रतिक्रिया के लिए कुछ पिछड़ापन है। रुझान में बदलाव या प्रवृत्ति में बदलाव के महत्वपूर्ण क्षणों में, रणनीति सबसे अच्छा प्रवेश समय से चूक सकती है।

  2. रणनीति के पैरामीटर सेटिंग्स को विभिन्न बाजार स्थितियों के लिए लागू नहीं किया जा सकता है। उदाहरण के लिए, अस्थिरता फ़िल्टर के लिए थ्रेशोल्ड सेटिंग्स को ट्रेंडिंग और अस्थिर स्थितियों में अंतर करने की आवश्यकता हो सकती है। फिक्स्ड पैरामीटर के कारण रणनीति कुछ स्थितियों में स्थिति नहीं खोल सकती है या बहुत बार खोल सकती है।

  3. हालांकि, स्टॉपलॉस हैं, लेकिन जब बाजार में एक उछाल होता है, तो रणनीति पूर्वनिर्धारित कीमतों पर व्यापार करने में असमर्थ हो सकती है, जिससे अधिक नुकसान होता है।

  4. रणनीति ने स्थिति खोलने के बाद कोई चलती रोक या ट्रैक रोक नहीं लगाई, जिससे कुछ मुनाफा वापस आ सकता है।

अनुकूलन दिशा

  1. अधिक तकनीकी संकेतक या बाजार की स्थिति का आकलन करने के लिए विचार किया जा सकता है, जैसे कि एटीआर, रुझान संकेतक, अस्थिरता संकेतक, आदि, रणनीति के फ़िल्टर शर्तों के रूप में, स्थिति की गुणवत्ता और समय को बेहतर बनाने के लिए।

  2. अस्थिरता फ़िल्टर के लिए, आप गतिशील थ्रेशोल्ड का उपयोग करने की कोशिश कर सकते हैं, जो विभिन्न किस्मों या विभिन्न समय अवधि के अनुसार अनुकूलित होता है, जिससे फ़िल्टरिंग की प्रभावशीलता बढ़ जाती है।

  3. स्टॉप लॉस स्टॉप के संदर्भ में, एक मोबाइल स्टॉप या स्टॉप को ट्रैक करने के लिए एक तंत्र को पेश किया जा सकता है, ताकि रणनीति को ट्रेंड जारी रहने पर स्थिति में रखा जा सके, न कि जल्दबाजी में बंद होने पर। इसके अलावा, एक अलग स्टॉप लॉस अनुपात सेट करने पर विचार किया जा सकता है, जो जोखिम-लाभ अनुपात को अनुकूलित करता है।

  4. स्थिति प्रबंधन को और अधिक अनुकूलित किया जा सकता है, प्रवृत्ति की ताकत, अस्थिरता, जोखिम की डिग्री जैसे संकेतक की गतिशीलता के आधार पर स्थिति खुलने के अनुपात को समायोजित किया जा सकता है, और वापसी को नियंत्रित किया जा सकता है। इसके अलावा, स्थिति बढ़ाने, स्थिति घटाने और अन्य कार्यों के माध्यम से धन का बेहतर उपयोग किया जा सकता है।

संक्षेप

बोलिंग बैंड ब्रेकआउट और अस्थिरता फ़िल्टरिंग रणनीति एक द्वि-दिशात्मक व्यापार रणनीति बनाने के लिए बोलिंग बैंड की स्थिति और अस्थिरता के चित्रण का उपयोग करती है। इस रणनीति की विशिष्टता यह है कि अस्थिरता फ़िल्टर अत्यधिक अस्थिर बाजार में व्यापार से बचता है, जबकि एक सरल स्टॉप-लॉस शर्तें निर्धारित की जाती हैं। कुल मिलाकर, इस रणनीति में अधिक पूर्ण रूप से खोलने की स्थिति तर्क और जोखिम नियंत्रण शामिल है, लेकिन बाजार में बदलाव, पैरामीटर की प्रयोज्यता और स्टॉप-लॉस प्रभाव के लिए और अधिक अनुकूलन के लिए जगह है। इस रणनीति की स्थिरता और लाभप्रदता को बढ़ाया जा सकता है यदि अधिक तकनीकी संकेतकों, गतिशील पैरामीटर और स्थिति प्रबंधन अनुकूलन को पेश किया जाए।

रणनीति स्रोत कोड
/*backtest
start: 2024-02-29 00:00:00
end: 2024-03-07 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("[Oppen Chow] Super BBS 1.0", default_qty_type = strategy.percent_of_equity, default_qty_value =100, initial_capital=500, commission_type=strategy.commission.percent, commission_value=0.08, pyramiding=2 )

// Input parameters
length = 20
mult = 2
max_drawdown_percent = input(5.5, "Maximum Acceptable Drawdown") / 100
upper_breakout_pct = input(50, "Short Entry Breakout Percentage") / 100
lower_breakout_pct = input(25, "Long Entry Breakout Percentage") / 100
tradeDirection = input(1, title="Trade Direction")
Volatility = input(0.5, title="Volatility") / 100
long_win_pct = input(-0.15, title = "Long Settlement Rate Near Boll Upper Limit")
short_win_pct = input(0.4, title = "Short Settlement Rate Near Boll Lower Limit")

// Bollinger Bands calculation
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev
area = upper - lower

// Calculate the rate of change for two consecutive candlesticks
var float change1 = na
var float change2 = na
change1 := change2
change2 := ((close - open) / open) 

// Check for two or more consecutive candlesticks with a change rate greater than 0.5%
var bool highVolatility = false
highVolatility := change2 > Volatility

// Trading logic
var float highestPriceSinceOpen = na
var float lowestPriceSinceOpen = na
var int profitableDrawbackCount = 1


// Entry logic - In the absence of high volatility
if not highVolatility and strategy.position_size == 0
    if (tradeDirection >= 0) and (close < lower - area * lower_breakout_pct)
        strategy.entry("Long", strategy.long)
        highestPriceSinceOpen := close
        profitableDrawbackCount := 0
    if (tradeDirection <= 0) and (close > upper + area * upper_breakout_pct)
        strategy.entry("Short", strategy.short)
        lowestPriceSinceOpen := close
        profitableDrawbackCount := 0


if strategy.position_size > 0 and close > upper - area * long_win_pct
    strategy.close("Long", comment = "Take Profit")
if strategy.position_size < 0 and close < lower + area * short_win_pct
    strategy.close("Short", comment = "Take Profit")

// Stop loss logic - Based on drawdown percentage
if strategy.position_size > 0
    if (strategy.position_avg_price - close)/strategy.position_avg_price >= max_drawdown_percent
        strategy.close("Long", comment = "Drawdown Stop Loss")
else if strategy.position_size < 0
    if (close - strategy.position_avg_price)/strategy.position_avg_price >= max_drawdown_percent
        strategy.close("Short", comment = "Drawdown Stop Loss")