सीबीएमए बोलिंगर बैंड्स ब्रेकर रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-06 16:25:01
टैगः

img

अवलोकन

यह रणनीति बाजार के रुझानों की पहचान करने और ब्रेकर रणनीति को लागू करने के लिए बोलिंगर बैंड्स के साथ संयुक्त मुख्य तकनीकी संकेतक के रूप में सीबीएमए का उपयोग करती है। यह तब छोटा हो जाता है जब कीमत ऊपरी बैंड से ऊपर टूट जाती है और जब कीमत निचले बैंड से नीचे टूट जाती है, तो यह लोकप्रिय डबल-ट्रैक ब्रेकआउट सिस्टम से संबंधित होती है।

रणनीति तर्क

  1. सीबीएमए की गणना करें: अनुकूलनशील ईएमए का उपयोग सीबीएमए को सुचारू करने के लिए करें जो मूल्य परिवर्तनों को प्रभावी ढंग से ट्रैक कर सकता है।

  2. बोलिंगर बैंड्स पैरामीटर सेट करें: मध्य बैंड के रूप में सीबीएमए का उपयोग करें और मानक विचलन गुणक का उपयोग करके ऊपरी/निम्न बैंड सेट करें, जिसे बाजार के आधार पर समायोजित किया जा सकता है।

  3. ब्रेकआउट ट्रेडिंगः जब कीमत ऊपरी बैंड से ऊपर टूटती है तो बेचें, जब कीमत निचले बैंड से नीचे टूटती है तो खरीदें, ब्रेकर रणनीति के बाद प्रवृत्ति का उपयोग करें।

  4. फ़्लैश ऑर्डर रद्द करें, एक समय में केवल एक दिशा में व्यापार करें।

  5. निर्धारित आदेश आकार, पूंजी के आधार पर समायोजित किया जा सकता है।

लाभ विश्लेषण

  1. सीबीएमए में अच्छी सुचारूता है और यह कीमतों को प्रभावी ढंग से ट्रैक कर सकता है।

  2. अनुकूली ईएमए चलती औसत की प्रतिक्रिया क्षमता को अनुकूलित करता है।

  3. जब ब्रेकआउट होता है तो ऊपरी/नीचे के बैंड स्पष्ट दिशा संकेत देते हैं।

  4. ट्रेंड फॉलो करने वाले मॉडल में व्हीपसॉ ट्रेड से बचना होता है।

  5. निश्चित आदेश आकार एकल व्यापार जोखिम को नियंत्रित करता है।

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

  1. बोलिंगर बैंड्स मापदंडों को अनुकूलित करने की आवश्यकता है, बहुत चौड़ा या बहुत संकीर्ण समस्याओं का कारण बन सकता है।

  2. ब्रेकआउट सिग्नल में झूठे ब्रेकआउट हो सकते हैं।

  3. नुकसान को नियंत्रित करने के लिए स्टॉप लॉस की आवश्यकता है।

  4. निश्चित आदेश आकार बाजार के आधार पर स्थिति को समायोजित नहीं कर सकता है।

  5. केवल एक दिशा में व्यापार, अधिक लाभ नहीं कर सकते।

अनुकूलन दिशाएँ

  1. बाजार को बेहतर ढंग से फिट करने के लिए बोलिंगर बैंड्स मापदंडों को गतिशील रूप से अनुकूलित करें।

  2. फ़िल्टरिंग के लिए अधिक संकेतक जोड़ें, झूठे ब्रेकआउट से बचें।

  3. लाभ में लॉक करने के लिए पीछे स्टॉप हानि जोड़ें.

  4. हेज ट्रेडिंग, अधिक लाभ के लिए लंबी और छोटी दोनों करें।

  5. स्थिति आकार प्रणाली जोड़ें.

निष्कर्ष

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


/*backtest
start: 2023-10-29 00:00:00
end: 2023-11-05 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="CBMA Bollinger Bands Strategy directed [ChuckBanger]", shorttitle="CBMA BB CB", 
   overlay=true )


length = input(title="Length", type=input.integer, defval=12, minval=1)
regular = input(title="Regular BB Or CBMA?", type=input.bool, defval=false)
src = input(title="Source", type=input.source, defval=close)
mult = input(title="Multipler", type=input.float, defval=2.3, minval=.001, maxval=50, step=.1)
emaLen = input(title="EMA Length", type=input.integer, defval=11, minval=1)
emaGL = input(title="EMA Gain Limit", type=input.integer, defval=50, minval=1)
highlight = input(title="Highlight On/Off", type=input.bool, defval=true)

direction = input(0, title = "Strategy Direction", type=input.integer, minval=-1, maxval=1)

strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

//strategy.risk.max_drawdown(50, strategy.percent_of_equity)

calc_hma(src, length) =>
    hullma = wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
    hullma

calc_cbma(price, length, emaLength, emaGainLimit) =>
    alpha = 2 / (emaLength + 1)
    ema = ema(price, emaLength)
    int leastError = 1000000
    
    float ec = 0
    float bestGain = 0
    
    for i = emaGainLimit to emaGainLimit
        gain = i / 10
        ec := alpha * ( ema + gain * (price - nz(ec[1])) ) + (1 - alpha) * nz(ec[1])
        error = price - ec
        if (abs(error) < leastError)
            leastError = abs(error)
            bestGain = gain
    
    ec := alpha * ( ema + bestGain * (price - nz(ec[1])) ) + (1 - alpha) * nz(ec[1])
    hull = calc_hma(price, length)
    
    cbma = (ec + hull) / 2
    cbma

cbma = calc_cbma(src, length, emaLen, emaGL)
basis = regular ? sma(src, length) : cbma
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
cbmaColor = fixnan(highlight and not regular ? cbma > high ? color.purple : cbma < low ? color.aqua : na : color.red)
plot(basis, color=cbmaColor)
p1 = plot(upper, color=color.blue)
p2 = plot(lower, color=color.blue)
fill(p1, p2)

if (crossover(src, lower))
    strategy.entry("CBMA_BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="CBMA_BBandLE")
else
    strategy.cancel(id="CBMA_BBandLE")

if (crossunder(src, upper))
    strategy.entry("CBMA_BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="CBMA_BBandSE")
else
    strategy.cancel(id="CBMA_BBandSE")


अधिक