बोलिंगर बैंड चौड़ाई स्केलिंग डबल मूविंग एवरेज ट्रेंड फिल्टर रणनीति

लेखक:चाओझांगदिनांक: 2023-10-25 15:00:20
टैगः

img

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

रणनीति तर्क

  1. लंबे/छोटे संकेत उत्पन्न करने के लिए बोलिंगर बैंड के ऊपरी, मध्य और निचले बैंड का उपयोग करें. जब कीमत ऊपरी बैंड को छूती है, तब बेचें, जब निचला बैंड छूता है, तब खरीदें.

  2. रुझान की दिशा निर्धारित करने के लिए 20 अवधि के मध्यम अवधि और 60 अवधि के दीर्घकालिक चलती औसत का उपयोग करें। जब लघु एमए लंबे एमए से ऊपर जाता है तो अपट्रेंड, जब नीचे जाता है तो डाउनट्रेंड।

  3. बोलिंगर बैंड चौड़ाई के आधार पर गतिशील रूप से स्टॉप लॉस स्थिति समायोजित करें। जब चौड़ाई 0.5% से अधिक हो, तो निचले बैंड पर स्टॉप लॉस समायोजित करें। जब 0.5% से कम हो, तो स्टॉप लॉस को आधा निचले बैंड रेंज तक कम करें।

  4. प्रवेश की शर्तेंः अपट्रेंड के दौरान खरीदने के संकेत के रूप में निचले बैंड को तोड़ना। डाउनट्रेंड के दौरान बेचने के संकेत के रूप में ऊपरी बैंड को तोड़ना।

  5. बाहर निकलने की शर्तेंः लॉन्ग्स पर ऊपरी बैंड या शॉर्ट एमए को छूने पर लाभ लें। शॉर्ट्स पर निचले बैंड या शॉर्ट एमए को छूने पर लाभ लें।

  6. स्टॉप लॉस की शर्तेंः स्टॉप आउट तब जब कीमत लॉन्ग पर निचले बैंड गतिशील सीमा से नीचे टूट जाती है। स्टॉप आउट तब जब कीमत शॉर्ट्स पर ऊपरी बैंड गतिशील सीमा से ऊपर टूट जाती है।

लाभ

  1. ट्रेंड निर्धारित करने के लिए डबल एमए का उपयोग करने से गैर-ट्रेंडिंग या रेंज-बाउंड बाजारों से शोर को फ़िल्टर करने में मदद मिलती है।

  2. बीबी मध्य बैंड समर्थन/प्रतिरोध प्रदान करता है, ऊपरी/निम्न बैंड जोखिम को नियंत्रित करने के लिए गतिशील स्टॉप लॉस स्तर के रूप में कार्य करते हैं।

  3. बीबी चौड़ाई के आधार पर स्टॉप लॉस रेंज को समायोजित करने से स्टॉप को उचित रखते हुए स्टॉप आउट होने की संभावना कम हो जाती है।

  4. प्रवृत्ति की दिशा में व्यापार करने से अधिक लाभ होता है।

जोखिम

  1. डबल एमए अक्सर झूठे ब्रेकआउट उत्पन्न कर सकते हैं, प्रवृत्ति मोड़ बिंदुओं को याद कर सकते हैं। एमए अवधि को छोटा कर सकते हैं।

  2. बीबी को अस्थिर, गैर-ट्रेंडिंग बाजारों में पीटा जा सकता है। व्यापार आवृत्ति को कम कर सकता है।

  3. समर्थन/प्रतिरोध स्तरों के पास स्टॉप लॉस को बाहर निकाले जाने की संभावना है। व्यापक स्टॉप लॉस रेंज की अनुमति दे सकता है।

  4. अल्पकालिक वापसी पर प्रभावी ढंग से लाभान्वित करने में असमर्थ।

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

  1. बाजार की स्थितियों के लिए सबसे अच्छा अनुकूलन खोजने के लिए एमओ अवधि का अनुकूलन करना।

  2. स्टॉप लॉस को संतुलित करने के लिए बीबी गुणक पैरामीटर को अनुकूलित करें।

  3. सिग्नल की गुणवत्ता में सुधार के लिए बहु-कारक पुष्टिकरण के लिए अन्य संकेतक जोड़ें।

  4. प्रवृत्ति की पुष्टि करने के लिए मात्रा/गति को शामिल करें, विचलन से बचें।

  5. धन प्रबंधन का अनुकूलन, उदाहरण के लिए, एकल व्यापार जोखिम को नियंत्रित करने के लिए निश्चित अंश, निश्चित स्टॉप लॉस।

  6. मूल्य झटके से निपटना, उदाहरण के लिए बड़ी रात भर की खामियां।

सारांश

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


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

//@version=2
strategy(title="yuthavithi BB Scalper 2 strategy", overlay=true)

len = input(20, minval=1, title="Length")
multiplier = input(4, minval=1, title="multiplier")
trendTimeFrame = input(60, minval=1, title="Trend Time Frame")
useTrendFilter = input(true, type=bool, title = "Use Trend Filter")

src = input(close, title="Source")
out = sma(src, len)
//plot(out, title="SMA", color=blue)

stdOut = stdev(close, len)
bbUpper = out + stdOut * multiplier
bbLower = out - stdOut * multiplier
bbUpper2 = out + stdOut * (multiplier / 2)
bbLower2 = out - stdOut * (multiplier / 2)
bbUpperX2 = out + stdOut * multiplier * 2
bbLowerX2 = out - stdOut * multiplier * 2
bbWidth = (bbUpper - bbLower) / out


closeLongTerm = request.security(syminfo.tickerid, tostring(trendTimeFrame), close)
smaLongTerm = request.security(syminfo.tickerid, tostring(trendTimeFrame), sma(close,20))

//plot(smaLongTerm, color=red)

trendUp = useTrendFilter ? (closeLongTerm > smaLongTerm) : true
trendDown = useTrendFilter? (closeLongTerm < smaLongTerm) : true

bearish = ((cross(close,bbUpper2) == 1) or (cross(close,out) == 1)) and (close[1] > close) and trendDown
bullish = ((cross(close,bbLower2) == 1) or (cross(close,out) == 1)) and (close[1] < close) and trendUp


closeBuy = (high[1] > bbUpper[1]) and (close < bbUpper) and (close < open) and trendUp 
closeSell = (((low[1] < bbLower[1]) and (close > bbLower)) or ((low[2] < bbLower[2]) and (close[1] > bbLower[1]))) and (close > open) and trendDown


cutLossBuy = iff(bbWidth > 0.005, (low < bbLower) and (low[1] > bbLower[1]) and trendUp, (low < bbLowerX2) and (low[1] > bbLowerX2[1]) and trendUp)
cutLossSell = iff(bbWidth > 0.005, (high > bbUpper) and (high[1] < bbUpper[1]) and trendDown, (high > bbUpperX2) and (high[1] < bbUpperX2[1]) and trendDown)


if (bullish)
    strategy.entry("Buy", strategy.long, comment="Buy")

if (bearish)
    strategy.entry("Sell", strategy.short, comment="Sell")
    

strategy.close("Buy", closeBuy or cutLossBuy)
   
strategy.close("Sell", closeSell or cutLossSell)


अधिक