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

लेखक:चाओझांग, दिनांकः 2023-12-08 16:52:24
टैगः

img

अवलोकन

इस रणनीति का नाम Quant Trading Strategy Based on Bollinger Bands है। यह एक सूचकांक और स्टॉक ट्रेडिंग रणनीति है जो बेहतर बोलिंगर बैंड्स चैनल पर आधारित है। बोलिंगर बैंड्स मापदंडों को समायोजित करके, यह अपट्रेंड और डाउनट्रेंड दोनों बाजारों में लाभ के लिए लंबी और छोटी दोनों पदों के लिए अनुकूलन का एहसास करता है।

व्यापारिक तर्क

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

इस रणनीति में दो बोलिंगर बैंड्स का उपयोग किया जाता है। बोलिंगर बैंड 1 लंबे ट्रेडों के लिए उपयुक्त है और बोलिंगर बैंड 2 छोटे ट्रेडों के लिए उपयुक्त है। बोलिंगर बैंड 1 के मापदंडों को 25 की लंबाई और 2.9 गुना विचलन के साथ अनुकूलित किया जाता है। बोलिंगर बैंड 2 के मापदंडों को 36 की लंबाई और 3.2 गुना विचलन के साथ अनुकूलित किया जाता है। जब बंद कीमत बोलिंगर बैंड 1 के निचले बैंड से ऊपर जाती है, तो यह लंबा संकेत उत्पन्न करेगा। जब बंद कीमत बोलिंगर बैंड 2 के ऊपरी बैंड से नीचे जाती है, तो यह छोटा संकेत उत्पन्न करेगा।

लाभ विश्लेषण

पारंपरिक बोलिंगर बैंड्स रणनीतियों की तुलना में, इस रणनीति के निम्नलिखित फायदे हैंः

  1. यह लॉन्ग और शॉर्ट दोनों पक्षों के लिए दो-दिशात्मक व्यापार को साकार करता है, जो विभिन्न बाजार चरणों में व्यापार के अवसरों का लाभ उठा सकता है।

  2. मापदंडों को अनुकूलित किया जाता है. व्यापार संकेतों को प्रभावी ढंग से उत्पन्न करने के लिए बोलिंगर बैंड्स मापदंडों के दो सेटों का विस्तृत परीक्षण किया जाता है.

  3. जोखिम को नियंत्रित किया जा सकता है। चलती स्टॉप लॉस विधि एक पक्ष के जोखिम को प्रभावी ढंग से नियंत्रित कर सकती है।

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

इस रणनीति के लिए कुछ संभावित जोखिम भी हैंः

  1. बोलिंजर बैंड्स के अमान्य होने का जोखिम। बाजार के चरम उतार-चढ़ाव के दौरान बोलिंजर बैंड्स अमान्य हो सकते हैं।

  2. स्टॉप लॉस का जोखिम मारा जा सकता है। स्टॉप लॉस को बढ़ाने के लिए स्टॉप लॉस को हिट किया जा सकता है। हम इस जोखिम से बचने के लिए स्टॉप लॉस को ठीक से बढ़ा सकते हैं या समय पर स्टॉप आउट कर सकते हैं।

  3. उच्च व्यापारिक आवृत्ति जोखिम अत्यधिक संवेदनशील मापदंडों से व्यापारिक आवृत्ति और व्यापारिक लागत में वृद्धि हो सकती है।

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

इस रणनीति को और अधिक अनुकूलित करने की अभी भी गुंजाइश हैः

  1. संकेतों को फ़िल्टर करने और गलत ट्रेडों से बचने के लिए अन्य संकेतकों को मिलाएं जब बोलिंगर बैंड विफल हो जाते हैं। जैसे कि के-लाइन पैटर्न, ट्रेडिंग वॉल्यूम आदि।

  2. गतिशील रूप से विभिन्न अवधियों की बाजार विशेषताओं के अनुरूप मापदंडों को समायोजित करें। उदाहरण के लिए, अनुकूलनशील बोलिंगर बैंड का उपयोग करें।

  3. जोखिम को प्रभावी ढंग से नियंत्रित करने के लिए ट्रेलिंग स्टॉप लॉस या घातीय चलती स्टॉप लॉस का उपयोग करके स्टॉप लॉस विधियों को अनुकूलित करें।

  4. स्वचालित रूप से मापदंडों का अनुकूलन करने के लिए मशीन लर्निंग एल्गोरिदम को मिलाएं।

सारांश

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


/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 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/
// © exlux99

//@version=4
strategy("BB NDX strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick = true, commission_type = strategy.commission.percent, commission_value = 0.01)

source = close
length = input(25, minval=1, title="Length BB long")
mult = input(2.9, minval=0.001, maxval=50, step=0.1, title="MULT BB long")

length2 = input(36, minval=1, title="Length BB short")
mult2 = input(3.2, minval=0.001, maxval=50, step=0.1, title="MULT BB short")


basis = sma(source, length)
dev = mult * stdev(source, length)
dev2 = mult2 * stdev(source, length2)

upper = basis + dev2
lower = basis - dev

buyEntry = crossover(source, lower)
sellEntry = crossunder(source, upper)

longEntry=input(true)
shortEntry=input(true)

g(v, p) => round(v * (pow(10, p))) / pow(10, p)
risk     = input(100)
leverage = input(1.0, step = 0.5)
c = g((strategy.equity * leverage / open) * (risk / 100), 4)


tplong=input(0.065, step=0.005, title="Take profit % for long")
sllong=input(0.04, step=0.005, title="Stop loss % for long")
tpshort=input(0.025, step=0.005, title="Take profit % for short")
slshort=input(0.04, step=0.005, title="Stop loss % for short")

if(longEntry)
    strategy.entry("long",1,c,when=buyEntry)
    strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closeshort')
    strategy.close("long",when=sellEntry)
if(shortEntry)
    strategy.entry("short",0,c,when=sellEntry)
    strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')
    strategy.close("short",when=buyEntry)




अधिक