मूविंग एवरेज डबल ट्रैक बुल-बेयर रणनीति


निर्माण तिथि: 2023-11-06 16:25:01 अंत में संशोधित करें: 2023-11-06 16:25:01
कॉपी: 1 क्लिक्स: 646
1
ध्यान केंद्रित करना
1617
समर्थक

मूविंग एवरेज डबल ट्रैक बुल-बेयर रणनीति

अवलोकन

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

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

  1. कंकड़ चलती औसत (CBMA) की गणना करेंः अनुकूलित ईएमए चिकनी कंकड़ चलती औसत का उपयोग करके, मूल्य परिवर्तनों को प्रभावी ढंग से ट्रैक किया जा सकता है।

  2. ब्रिन बैंड पैरामीटर्स सेट करेंः मिड-रेल के रूप में चट्टानों की चलती औसत का चयन करें, ऊपर और नीचे की रेलिंग मानक विचलन पेट गुणांक सेट करें, जो बाजार के अनुसार समायोजित किया जा सकता है।

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

  4. एक बार में केवल एक दिशा में व्यापार करने के लिए, रद्द करें बिजली के आदेश मोड का उपयोग करें।

  5. ट्रेडों की एक निश्चित मात्रा निर्धारित करें, जो आपके फंड के आधार पर समायोजित की जा सकती है।

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

  1. चट्टानों की चलती औसत अच्छी तरह से चिकनी होती है और कीमतों को प्रभावी ढंग से ट्रैक करती है।

  2. ईएमए एल्गोरिदम के अनुकूलन ने चलती औसत की वास्तविक समय अनुकूलन को अनुकूलित किया।

  3. इस घटना के बाद से, ब्लिंक ने एक स्पष्ट संकेत दिया है कि वह किस दिशा में आगे बढ़ रहा है।

  4. ट्रेंड ट्रैकिंग मोड का उपयोग करें, और whipsaw से बचें।

  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")