मल्टीपल फ़िल्टर बोलिंगर बैंड ट्रेडिंग रणनीति


निर्माण तिथि: 2024-01-17 15:12:57 अंत में संशोधित करें: 2024-01-17 15:12:57
कॉपी: 1 क्लिक्स: 592
1
ध्यान केंद्रित करना
1617
समर्थक

मल्टीपल फ़िल्टर बोलिंगर बैंड ट्रेडिंग रणनीति

अवलोकन

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

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

संकेतक गणना

इस रणनीति में मुख्य रूप से तीन संकेतकों का उपयोग किया जाता है, ब्रुइन बैंड, औसत रेखा और आरएसआई। इनमें, ब्रुइन बैंड का मध्यवर्ती ट्रैक मूल्य की n-दिन की सरल चलती औसत है, और ऊपरी और निचले ट्रैक क्रमशः मध्यवर्ती ट्रैक + 2 गुना मानक अंतर और मध्यवर्ती ट्रैक -2 गुना मानक अंतर हैं। आरएसआई एक अवधि में उतार-चढ़ाव के आधार पर गणना की गई 0 ~ 100 के बीच की सीमा है।

व्यापार संकेत

यह रणनीति निम्नलिखित तीन मुख्य शर्तों के आधार पर ट्रेडिंग सिग्नल उत्पन्न करती हैः

(१) ब्लिंक्स के साथ डाउनट्रेल ब्रेक और के-लाइन एंटिटी का उल्टा होना। अधिक करें जब समापन मूल्य के ऊपर एक डाउनट्रेल ब्रेक होता है और के-लाइन एंटिटी का रंग वर्तमान प्रवृत्ति की दिशा के विपरीत होता है।

(२) ब्रिन बैंड के साथ ट्रैक तोड़ने और K लाइन इकाई को वापस करने के लिए। जब यह समापन मूल्य के नीचे ट्रैक पर होता है और K लाइन इकाई का रंग वर्तमान प्रवृत्ति दिशा के विपरीत होता है, तो यह खाली हो जाता है।

(3) K-लाइन संस्थाओं की ओर मुड़ना. यदि स्थिति रखने की दिशा K-लाइन संस्थाओं के रंग की ओर मुड़ने से मेल खाती है, तो स्थिति को समतल किया जाता है.

इसके अलावा, नीति में प्रवेश को सख्ती से नियंत्रित करने के लिए एक समान-लाइन फ़िल्टर, K-लाइन इकाई फ़िल्टर और RSI फ़िल्टर जैसी सहायक शर्तें हैं।

श्रेष्ठता विश्लेषण

  • झूठी घुसपैठ के जोखिम को कम करने के लिए कई स्थितियों पर सख्त नियंत्रण
  • ट्रेंड ट्रैकिंग ने ट्रेडिंग की आवृत्ति को कम किया
  • आरएसआई सूचकांक निर्णय के लिए सहायक है ताकि रिवर्स ट्रैप से बचा जा सके

जोखिम विश्लेषण

  • ब्रिन बैंड पैरामीटर की गलत सेटिंग कम सिग्नल का कारण बन सकती है
  • असफलता से भारी नुकसान हो सकता है
  • कम ट्रेडिंग की आवृत्ति, कुछ ट्रेडिंग अवसरों से चूक सकते हैं

ब्रींग बैंड पैरामीटर को समायोजित करके और स्टॉप लॉस को सख्ती से नियंत्रित करके जोखिम को कम किया जा सकता है।

अनुकूलन दिशा

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy("Noro's Bollinger Strategy v1.4", shorttitle = "Bollinger str 1.4", overlay = true )

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")

length = input(20, defval = 20, minval = 1, maxval = 1000, title = "Bollinger Length")
mult = input(1, defval = 1, minval = 0.001, maxval = 50, title = "Bollinger Mult")
source = input(ohlc4, defval = ohlc4, title = "Bollinger Source")

usebf = input(true, defval = true, title = "Use body-filter")
usecf = input(true, defval = true, title = "Use color-filter")
userf = input(true, defval = true, title = "Use RSI-filter")

fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
showbands = input(true, defval = true, title = "Show Bollinger Bands")

//Bollinger Bands
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

//Lines
col = showbands ? black : na 
plot(upper, linewidth = 1, color = col)
plot(basis, linewidth = 1, color = col)
plot(lower, linewidth = 1, color = col)

//Body filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 2 or usebf == false

//Color filter
bar = close > open ? 1 : close < open ? -1 : 0 
gb = bar == 1 or usecf == false
rb = bar == -1 or usecf == false

//RSI Filter
fastup = rma(max(change(close), 0), 7)
fastdown = rma(-min(change(close), 0), 7)
rsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
ursi = rsi > 70 or userf == false
drsi = rsi < 30 or userf == false

//Signals
up = close <= lower and rb and body and drsi and (close < strategy.position_avg_price or strategy.position_size == 0)
dn = close >= upper and gb and body and ursi and (close > strategy.position_avg_price or strategy.position_size == 0)
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    
if  exit
    strategy.close_all()