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

लेखक:चाओझांग, दिनांक: 2024-02-23 14:30
टैगः

img

अवलोकन

यह रणनीति बोलिंगर बैंड्स और एमएसीडी संकेतकों पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति है। यह ट्रेडिंग संकेतों की गुणवत्ता में सुधार के लिए बोलिंगर बैंड्स ब्रेकआउट ट्रेडिंग और एमएसीडी ट्रेंड ट्रैकिंग को जोड़ती है।

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

रणनीति मुख्य रूप से व्यापार संकेतों को निर्धारित करने के लिए बोलिंगर बैंड और एमएसीडी संकेतकों का उपयोग करती है।

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

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

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

रणनीति के फायदे

  1. बोलिंगर बैंड और एमएसीडी संकेतकों का संयोजन ट्रेडिंग संकेतों को अधिक विश्वसनीय बनाता है।

  2. बोलिंगर बैंड ट्रेंड ट्रैकिंग और एमएसीडी मूविंग एवरेज क्रॉसओवर ट्रेंडिंग बाजारों में मजबूत प्रवेश संकेत उत्पन्न कर सकते हैं।

  3. झूठे संकेतों को दोहरे संकेतक के आधार पर प्रभावी ढंग से फ़िल्टर किया जा सकता है, जिससे व्यापारिक जोखिम कम होता है।

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

रणनीति के जोखिम

  1. सीमाबद्ध बाजारों में, बोलिंगर बैंड और एमएसीडी द्वारा उत्पन्न ट्रेडिंग सिग्नल अक्सर हो सकते हैं, जिससे ओवर-ट्रेडिंग का जोखिम हो सकता है।

  2. निम्न स्तरों पर लगातार तीन MACD स्वर्ण क्रॉसों में गिरावट का जोखिम हो सकता है।

  3. रणनीति में कई संकेतकों का उपयोग किया गया है, जिससे पैरामीटर अनुकूलन और रणनीति परीक्षण काफी मुश्किल हो जाता है।

इन जोखिमों से निपटने के लिए, होल्डिंग पीरियड्स को समायोजित करने, स्टॉप लॉस सेट करने, पैरामीटर को अनुकूलित करने जैसे तरीकों का उपयोग उन्हें नियंत्रित करने के लिए किया जा सकता है।

रणनीति अनुकूलन के लिए दिशा-निर्देश

  1. ट्रेडिंग आवृत्ति को कम करने के लिए लंबी अवधि के बोलिंगर बैंड्स मापदंडों का परीक्षण करें।

  2. सूचक संवेदनशीलता में सुधार के लिए एमएसीडी तेज और धीमी रेखा मापदंडों का अनुकूलन करें।

  3. सिग्नल की गुणवत्ता में सुधार के लिए फ़िल्टरिंग के लिए अन्य संकेतक, जैसे कि केडीजे, आरएसआई आदि जोड़ें।

  4. स्वचालित रूप से ट्रेडों से बाहर निकलने और एकल ट्रेड जोखिमों को नियंत्रित करने के लिए गतिशील स्टॉप सेट करें।

निष्कर्ष

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Nabz-BBMACD-2022-V1.1", shorttitle="BBM-Nabz", overlay=true)


// My 1st Pine Scrpt Indicator
// Work on best on 1Hr Chart
// Open for Help/Donations.


var float lastentry=1
int result = 0
float x = 0
drawshape = false

/////////////EMA
shortest = ta.ema(close, 20)
short = ta.ema(close, 50)
longer = ta.ema(close, 100)
longest = ta.ema(close, 200)

plot(shortest, color = color.red)
plot(short, color = color.orange)
plot(longer, color = color.aqua)
plot(longest, color = color.blue)

///////////// RSI
RSIlength = input(6,title="RSI Period Length") 
RSIoverSold = 50
RSIoverBought = 50
price = close
vrsi = ta.rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input.int(200, minval=1,title="Bollinger Period Length")
BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = ta.sma(price, BBlength)
BBdev = BBmult * ta.stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = ta.crossover(source, BBlower)
sellEntry = ta.crossunder(source, BBupper)



////////////// MACD
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ta.ema(close, fastLength) - ta.ema(close, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD


///////////// Colors
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? color.red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? color.green : na


///////////Strategy

bool tcu = not (ta.crossunder(price[0],shortest[0]))


if (((price[1]<BBlower[1]) and (ta.crossover(price,BBlower))))
    lastentry := low[1]
    strategy.entry("RSI_BB_L", strategy.long, comment="Buy 1st IF")
    
if (((ta.crossover(delta, 0.0) and (ta.crossover(price,BBlower)))))
    lastentry := low[1]
    strategy.entry("RSI_BB_L", strategy.long, comment="Buy 2nd IF")    
    
if (((ta.crossover(delta, 0.0)) and (low[0]>shortest[0])) and (price[1]<low))
    lastentry := low[1]
    strategy.entry("RSI_BB_L", strategy.long, comment="Buy 3rd IF")   //else

if (((ta.crossover(delta, 0.01)) and (high[1]<BBupper)) and (tcu))
    lastentry := low[1]
    strategy.entry("RSI_BB_L", strategy.long, comment="Buy 4th IF")

       
if ((ta.crossunder(low[0],shortest[0]) and close<shortest))
    strategy.close(id="RSI_BB_L", comment="Close by 1st IF")
    
    
    
if (price<lastentry)
    drawshape := true
    
if (price<strategy.opentrades.entry_price(0)/1.01175734321249)
    strategy.close(id="RSI_BB_L", comment="Close by 2nd IF")



plot(strategy.opentrades.entry_price(0), color=color.yellow)


अधिक