बोहर बैंड उतार-चढ़ाव संकेत रणनीति


निर्माण तिथि: 2024-01-15 15:16:27 अंत में संशोधित करें: 2024-01-15 15:16:27
कॉपी: 0 क्लिक्स: 553
1
ध्यान केंद्रित करना
1617
समर्थक

बोहर बैंड उतार-चढ़ाव संकेत रणनीति

अवलोकन

बोर वेव सिग्नल रणनीति (Bollinger Wave Strategy) एक मात्रात्मक ट्रेडिंग रणनीति है जिसमें बोर वेव बैंड और मूविंग एवरेज शामिल हैं। यह रणनीति बोर वेव बैंड के मानक अंतर और मूविंग एवरेज के क्रॉस सिग्नल की गणना करके बाजार की प्रवृत्ति और ओवरबॉट और ओवरसोल्ड क्षेत्रों का आकलन करती है।

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

यह रणनीति पहले निर्दिष्ट अवधि के भीतर सूचकांक चलती औसत ((EMA) को एक आधार रेखा के रूप में गणना करती है। फिर इस ईएमए के आधार पर ऊपरी पट्टी ((EMA + n गुना मानक अंतर) और नीचे की रेखा ((EMA - n गुना मानक अंतर) की गणना की जाती है। जब कीमत ऊपरी पट्टी को तोड़ती है तो यह ओवरबॉट सिग्नल है और जब कीमत नीचे की पट्टी को तोड़ती है तो यह ओवरसेल सिग्नल है।

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

विशेष रूप से, रणनीति के लिए ट्रेडिंग सिग्नल निर्णय नियम इस प्रकार हैंः

  1. मल्टीहेड सिग्नलः समापन मूल्य> अपट्रेल लाइन और आरएसआई ((14) > 60
  2. खाली सिर सिग्नलः समापन मूल्य < नीचे की रेखा और RSI 14 < 40

जब उपरोक्त ट्रेडिंग सिग्नल आता है, तो फिक्स्ड मात्रा या खाता अनुपात के रूप में प्रवेश करें। जब कीमतें फिर से लहर की सीमा में लौटती हैं या विपरीत सिग्नल आता है, तो स्थिति से बाहर निकलें।

रणनीतिक लाभ

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

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

इसके अलावा, यह रणनीति आरएसआई जैसे संकेतकों के माध्यम से दोहरी पुष्टि करती है, जिससे कुछ झूठे संकेतों को फ़िल्टर किया जा सकता है और रुझान के मोड़ पर गलत व्यापार से बचा जा सकता है।

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

इस रणनीति में मुख्य रूप से निम्नलिखित जोखिम हैं:

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

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

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

अनुकूलन दिशा

इस रणनीति को और भी बेहतर बनाने के लिए जगह हैः

  1. बढ़ी हुई रोकथाम की व्यवस्था। गतिशील रोकथाम या समय रोकथाम की स्थापना, जो समय पर रोकथाम और एकल हानि को नियंत्रित करने में मदद करती है।

  2. स्थिति प्रबंधन में वृद्धि करना, जैसे कि स्टॉक को बढ़ाने और कम करने के लिए नियम स्थापित करना, जिससे लाभ बढ़े और नुकसान कम हो। यह रणनीति रिटर्न को बढ़ा सकता है।

  3. KDJ, MACD और अन्य जैसे अन्य सूचकांकों के साथ मिलकर फ़िल्टर सिग्नल। यह एक सहायक निर्णय संकेत के रूप में कार्य कर सकता है। यह रणनीति लाभप्रदता को और बढ़ाने में मदद कर सकता है।

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

संक्षेप

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

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

//@version=5
//@FiboBuLL

strategy(shorttitle='FB Wave', title='FiboBuLL Wave', overlay=true, pyramiding=1, currency=currency.NONE, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

src = input(close, title='Source')
length = input.int(55, minval=1, title='EMA length')  // 20 for classis Bollinger Bands SMA line (basis)


mult = input.float(1., minval=0.236, maxval=2, title='Standard Deviation')  //2 for Classic Bollinger Bands //Maxval = 2 as higher the deviation, higher the risk
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)

Show = input.string('Both', options=['Longs Only', 'Shorts Only', 'Both'], title='Trade Type')
CC = input(true, 'Color Bars')

upper = basis + dev
lower = basis - dev

//Conditions for Long and Short - Extra filter condition can be used such as RSI or CCI etc.

short = src < lower  // and rsi(close,14)<40
long = src > upper  // and rsi(close,14)>60

L1 = ta.barssince(long)
S1 = ta.barssince(short)

longSignal = L1 < S1 and not (L1 < S1)[1]
shortSignal = S1 < L1 and not (S1 < L1)[1]

//Plots and Fills


////Long/Short shapes with text
// plotshape(S1<L1 and not (S1<L1)[1]?close:na, text = "sᴇʟʟ", textcolor=#ff0100, color=#ff0100, style=shape.triangledown, size=size.small, location=location.abovebar, transp=0, title = "SELL", editable = true)
// plotshape(L1<S1 and not (L1<S1)[1]?close:na, text = "ʙᴜʏ", textcolor = #008000, color=#008000, style=shape.triangleup, size=size.small, location=location.belowbar, transp=0, title = "BUY", editable = true)  

// plotshape(shortSignal?close:na, color=#ff0100, style=shape.triangledown, size=size.small, location=location.abovebar, transp=0, title = "Short Signal", editable = true)
// plotshape(longSignal?close:na, color=#008000, style=shape.triangleup, size=size.small, location=location.belowbar, transp=0, title = "Long Signal", editable = true)  


p1 = plot(upper, color=color.new(#ff0000, 75), display=display.all, title='Upper Band')
p2 = plot(lower, color=color.new(#008000, 75), display=display.all, title='Lower Band')

p = plot(basis, color=L1 < S1 ? #008000 : S1 < L1 ? #ff0000 : na, linewidth=2, editable=false, title='Basis')

fill(p, p1, color=color.new(color.teal, 85), title='Top Fill')  //fill for basis-upper
fill(p, p2, color=color.rgb(217, 161, 161), title='Bottom Fill', transp=85)  //fill for basis-lower

//Barcolor

bcol = src > upper ? color.new(#8ceb07, 0) : src < lower ? color.new(#ff0000, 0) : src > basis ? color.green : src < basis ? color.red : na

barcolor(CC ? bcol : na, editable=false, title='Color Bars')


// //Alerts ----  // Use 'Once per bar close'

// alertcondition(condition=longSignal, title="Long - BB Filter", message='BB Filter Long @ {{close}}') // Use 'Once per bar close'
// alertcondition(condition=shortSignal, title="Short - BB Filter", message='BB Filter Short @ {{close}}')  // Use 'Once per bar close'

Notestart1 = input(true, '╔═══ Time Range to BackTest ═══╗')

// === INPUT BACKTEST RANGE ===
FromMonth = input.int(defval=1, title='From Month', minval=1, maxval=12)
FromDay = input.int(defval=1, title='From Day', minval=1, maxval=31)
FromYear = input.int(defval=2018, title='From Year', minval=2015)
ToMonth = input.int(defval=1, title='To Month', minval=1, maxval=12)
ToDay = input.int(defval=1, title='To Day', minval=1, maxval=31)
ToYear = input.int(defval=9999, title='To Year', minval=2010)

// === FUNCTION EXAMPLE === 
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)  // backtest finish window
window() =>
    time >= start and time <= finish ? true : false

if window() and (Show == 'Longs Only' or Show == 'Both')
    strategy.entry('AL', direction=strategy.long, when=longSignal)
    strategy.close('LongAL', when=shortSignal, comment='AL KAPA')

if window() and (Show == 'Shorts Only' or Show == 'Both')
    strategy.entry('SAT', direction=strategy.short, when=shortSignal)
    strategy.close('SAT', when=longSignal, comment='SAT KAPA')