बोलिंगर बैंड्स ब्रेकआउट पर आधारित FiboBuLL वेव रणनीति

लेखक:चाओझांग, दिनांक: 2023-12-01 14:11:56
टैगः

img

अवलोकन

FiboBuLL Wave रणनीति बोलिंगर बैंड्स अध्ययन के फ़िल्टर संस्करण से अनुकूलित है, जिसे मेरे स्क्रिप्ट पृष्ठ के तहत पाया जा सकता है। जब कीमत ऊपरी बैंड के ऊपर बंद हो जाती है तो रणनीति लंबी हो जाती है और जब कीमत निचले बैंड के नीचे बंद हो जाती है तो यह छोटी हो जाती है।

बोलिंगर बैंड एक क्लासिक संकेतक है जो 20 अवधि के एक सरल चलती औसत का उपयोग करता है, साथ ही ऊपरी और निचले बैंड के ग्राफ जो मध्य बैंड से 2 मानक विचलन दूर हैं। ये बैंड मूल्य अस्थिरता और प्रवृत्ति को देखने में मदद करते हैं जहां मूल्य बैंड के सापेक्ष है।

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

यह सबसे अच्छा तब काम करता है जब कीमत के ऊपर/नीचे ऊपरी/नीचे बैंड बंद होने के बाद बार जारी रहता है। बीबी निचोड़ के दौरान मोमबत्ती बंद होने पर बैंड के उल्लंघन/विफलता की प्रारंभिक झलक पाने के लिए अन्य संकेतकों के साथ इस रणनीति या बोलिंगर बैंड फ़िल्टर का उपयोग करना निश्चित रूप से फायदेमंद है या अस्थिरता पर आधारित है।

ट्रेड प्रविष्टियों के लिए हेकिन आशि मोमबत्तियों का उपयोग करने के लिए रणनीति का उपयोग किया जा सकता है लेकिन एचए मोमबत्तियों की सिफारिश नहीं की जाती है क्योंकि वे परिसंपत्ति की वास्तविक कीमत को प्रतिबिंबित नहीं करते हैं।

रणनीति तर्क

FiboBuLL वेव रणनीति के पीछे मुख्य तर्क बोलिंगर बैंड के ब्रेकआउट के आधार पर व्यापार करना है। बोलिंगर बैंड में एक मध्य बैंड, ऊपरी बैंड और निचला बैंड होता है। मध्य बैंड समापन मूल्य का 21 अवधि का सरल चलती औसत है; ऊपरी बैंड की गणना मध्य बैंड के ऊपर 1 मानक विचलन जोड़कर की जाती है, जो मूल्य उतार-चढ़ाव की ऊपरी सीमा को दर्शाता है; निचला बैंड मध्य बैंड के नीचे 1 मानक विचलन घटाकर प्राप्त किया जाता है, जो मूल्य आंदोलन की निचली सीमा को दर्शाता है।

एक लंबा संकेत तब उत्पन्न होता है जब समापन मूल्य ऊपरी बैंड से ऊपर टूट जाता है; एक छोटा संकेत तब ट्रिगर किया जाता है जब समापन मूल्य निचले बैंड से नीचे टूट जाता है। लंबी या छोटी स्थिति लेने के बाद, मौजूदा ट्रेडों को बंद कर दिया जाएगा जब कीमत फिर से विपरीत बैंड को तोड़ती है।

यह रणनीति ऊपरी और निचले बैंड के सापेक्ष मूल्य के ब्रेकआउट को ट्रैक करने के लिए बारसिंस फ़ंक्शन का उपयोग करती है। एक लंबा संकेत तब उत्पन्न होता है जब ऊपरी बैंड ब्रेकआउट के बाद के बारों की संख्या निचले बैंड के मुकाबले कम होती है। एक छोटा संकेत तब ट्रिगर किया जाता है जब निचले बैंड ब्रेकआउट के बाद के बारों की संख्या ऊपरी बैंड के मुकाबले कम होती है।

मध्य बैंड अवधि और मानक विचलन गुणक मापदंडों को समायोजित करके, बोलिंगर बैंड की ब्रेकआउट संवेदनशीलता को बदला जा सकता है, जिससे प्रवेश के समय को समायोजित किया जा सकता है।

लाभ

FiboBuLL Wave रणनीति के कुछ फायदे हैंः

  1. बीबी ब्रेकआउट पर आधारित सरल तर्क, समझने में आसान
  2. ब्रेकआउट संवेदनशीलता को पैरामीटर को समायोजित करके नियंत्रित किया जा सकता है
  3. बीबी बैंड मूल्य उतार-चढ़ाव और प्रवृत्ति को दर्शाता है
  4. अन्य संकेतकों के साथ संयोजन कर सकते हैं, सटीकता में सुधार कर सकते हैं
  5. कई समय सीमाओं पर लागू

जोखिम

फिबोबुल वेव रणनीति के लिए कुछ जोखिम भी हैं:

  1. केवल बीबी ब्रेकआउट पर भरोसा करते हुए झूठे संकेतों के लिए प्रवण
  2. ब्रेकआउट के बाद गति और अवधि निर्धारित करने में असमर्थ
  3. रिवर्स के लिए कोई निकास नियम नहीं
  4. स्टॉप लॉस के बिना उच्च जोखिम

निम्नलिखित पहलुओं में अनुकूलन किया जा सकता हैः

  1. झूठे संकेतों से बचने के लिए अन्य संकेतकों का उपयोग करके फ़िल्टर जोड़ें
  2. ऐतिहासिक आंकड़ों के आधार पर मापदंडों का अनुकूलन करें
  3. अधिकतम हानि को सीमित करने के लिए स्टॉप लॉस सेट करें
  4. निरंतरता निर्धारित करने के लिए उलट कारक जोड़ने पर विचार करें

बढ़ोतरी के अवसर

FiboBuLL Wave रणनीति के लिए मुख्य अनुकूलन दिशाएंः

  1. कमजोर ब्रेकआउट से बचने के लिए वॉल्यूम संकेतक जैसे ए/डी लाइन जोड़ें
  2. सटीकता में सुधार के लिए ओवरबॉट/ओवरसोल्ड संकेतकों जैसे आरएसआई का संयोजन करें
  3. बैकटेस्ट परिणामों के आधार पर अवधि और विचलन गुणक जैसे मापदंडों का अनुकूलन करें
  4. जोखिम को नियंत्रित करने और लाभ में लॉक करने के लिए स्टॉप लॉस और ले लाभ सेट करें
  5. दिशात्मक दृढ़ता निर्धारित करने के लिए प्रवृत्ति और उलट फिल्टर पर विचार करें
  6. विभिन्न उत्पादों और समय सीमाओं में इष्टतम मापदंडों का परीक्षण करें

उपरोक्त सुधारों के साथ, FiboBuLL वेव रणनीति की स्थिरता और लाभप्रदता में काफी सुधार किया जा सकता है।

सारांश

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

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

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


/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@FiboBuLL

strategy(shorttitle='FB Wave', title='FiboBuLL Wave (A version of Bollinger Bands Breakout Strategy By Trade Chartist)', 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(21, minval=1, title='SMA 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')


// === 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')




















अधिक