बोलिंगर बैंड और घातीय चलती औसत पर आधारित प्रवृत्ति ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-17 17:36:43
टैगः

img

अवलोकन

यह रणनीति स्टॉप लॉस के लिए वर्तमान प्रवृत्ति दिशा और घातीय चलती औसत निर्धारित करने के लिए बोलिंगर बैंड का उपयोग करती है और प्रवृत्ति को प्रभावी ढंग से पकड़ने के लिए लाभ प्रबंधन करती है।

सिद्धांत

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

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

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

लाभ

स्टॉप लॉस/टेक प्रॉफिट मैनेजमेंट के लिए ट्रेंड दिशा और ईएमए के लिए बोलिंगर बैंड्स को जोड़ने वाली रणनीति के निम्नलिखित फायदे हैं:

  1. बोलिंगर बैंड का उपयोग करके प्रवृत्ति की दिशा को प्रभावी ढंग से निर्धारित किया जा सकता है और ब्रेकआउट पर तेजी से प्रतिक्रिया दी जा सकती है।

  2. ईएमए आधारित स्टॉप लॉस/टेक प्रॉफिट जोखिमों को नियंत्रित करते हुए लाभ लॉक को अधिकतम कर सकता है।

  3. इस रणनीति में कुछ ऐसे पैरामीटर हैं जिनका कार्यान्वयन करना आसान है - केवल एक बीबी के लिए और एक ईएमए के लिए, बहुत सरल।

  4. यह विभिन्न उत्पादों पर व्यापक रूप से लागू किया जा सकता है।

जोखिम और अनुकूलन

इस रणनीति में कुछ जोखिम भी हैं जिन पर ध्यान दिया जाना चाहिए:

  1. बीबी ऊपरी/निम्न बैंड के माध्यम से तोड़ने से झूठे ब्रेकआउट के जोखिम से पूरी तरह से बचा नहीं जा सकता है। संकेतों को फ़िल्टर करने के लिए वॉल्यूम आदि के साथ संयोजन पर विचार करें।

  2. ईएमए पैरामीटर सेटिंग को विशिष्ट उत्पादों के अनुसार सावधानीपूर्वक परीक्षण करने की आवश्यकता है। बहुत कम ईएमए अवधि स्टॉप लॉस समय को बढ़ा सकती है। बहुत लंबा ट्रैलिंग प्रभावशीलता को कम कर देगा।

  3. अति-अनुकूलन से बचना चाहिए। बीबी और ईएमए मापदंडों के बहुत अधिक संयोजन से अति-फिटिंग हो सकती है।

जोखिमों और अनुकूलन दिशाओं को संबोधित करने के लिए निम्नलिखित पर विचार किया जा सकता हैः

  1. झूठे ब्रेकआउट संकेतों को फ़िल्टर करने के लिए वॉल्यूम या MACD आदि जोड़ें।

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

  3. अति अनुकूलन से अति अनुकूलन जोखिमों से बचने के लिए BB और EMA मापदंडों को यथासंभव स्थिर रखने का प्रयास करें।

  4. मध्यम अवधि के रुझान में स्थिति समायोजन निर्धारित करने के लिए आरएसआई आदि का उपयोग करने पर विचार करें।

सारांश

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


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © zxcv55602
//@version=4
strategy(shorttitle=" BB+EMA", title="Bollinger Bands", overlay=true)
date1 = input(title="Start Date", type=input.time, defval=timestamp("2020-01-01T00:00:00"))
date2 = input(title="Stop Date", type=input.time, defval=timestamp("2030-01-01T00:00:00"))
length = input(40, minval=1)
src = input(close, title="Source")
mult = input(2.0,title="StdDev",step=0.1)
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
//offset = input(0, "Offset", minval = -500, maxval = 500)
offset=0
stopcon=input(title="stopcon/lot", type=input.bool, defval=true)
lot1=input(title="lot",defval=1)
stoploss=input(title="stopcon",defval=1000)
emacon=input(title="emacon", type=input.bool, defval=true)
ema_value=input(title="value",defval=30, minval=2,step=1)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=color.new(color.blue,50), offset = offset)
p2 = plot(lower, "Lower", color=color.new(color.blue,50), offset = offset)
ema1=ema(close,ema_value)
plot(ema1, "SMA", color=#2962FF)
period() => true
//-----------
if period()
    if strategy.opentrades==0 and ema1<upper
        if close>upper
            lot_L=stoploss/((close-lower)/2)
            strategy.entry("OP_L",strategy.long,qty=stopcon==true?lot_L:lot1,stop=emacon==true?max(basis,ema1):basis)
    if strategy.opentrades==0 and ema1>lower
        if close<lower
            lot_S=stoploss/((upper-close)/2)
            strategy.entry("OP_S",strategy.short,qty=stopcon==true?lot_S:lot1,stop=emacon==true?min(basis,ema1):basis)
    if strategy.position_size>0
        strategy.exit("OP_L",stop=emacon==true?max(basis,ema1):basis,comment="exit_L")
    if strategy.position_size<0
        strategy.exit("OP_S",stop=emacon==true?min(basis,ema1):basis,comment="exit_S")

अधिक