बोलिंगर बैंड्स, आरएसआई और मूविंग एवरेज पर आधारित ट्रेंड फॉलो करने वाली रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-02 11:35:17
टैगः

img

अवलोकन

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

रणनीति तर्क

रणनीति मूल्य चैनलों को बनाने के लिए विभिन्न मापदंडों के साथ दो बोलिंगर बैंड का उपयोग करती है। डिफ़ॉल्ट मापदंड 20 अवधि की लंबाई और 2 का मानक विचलन हैं। ऊपरी और निचले बैंड गतिशील प्रतिरोध और समर्थन स्तर के रूप में कार्य करते हैं।

आरएसआई सूचक मूल्य गति की ताकत को मापता है। इसके मूल्यों का उपयोग यह निर्धारित करने के लिए किया जाता है कि ओवरबॉट या ओवरसोल्ड स्थितियां मौजूद हैं या नहीं।

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

लॉन्ग ट्रेडों के लिए प्रवेश की शर्तें तब होती हैं जब आरएसआई ओवरबॉट स्तर से ऊपर जाता है और बोलिंगर बैंड संकुचित नहीं होते हैं। शॉर्ट ट्रेडों के लिए, यह तब होता है जब आरएसआई ओवरसोल्ड स्तर से नीचे जाता है और बोलिंगर बैंड संकुचित नहीं होते हैं।

लंबी ट्रेडों के लिए बाहर निकलने की शर्तें तब होती हैं जब आरएसआई ओवरबॉट लेवल से नीचे गिरता है या जब कीमत 50-पीरियड एमए से नीचे बंद हो जाती है। शॉर्ट ट्रेडों के लिए यह तब होता है जब आरएसआई ओवरसोल्ड लेवल से ऊपर उठता है या जब कीमत 50-पीरियड एमए से ऊपर बंद हो जाती है।

लाभ

  1. बोलिंगर बैंड, आरएसआई और एमए का संयोजन क्रॉस वैलिडेटिंग सिग्नल द्वारा झूठे संकेत उत्पन्न करने से बचाता है।

  2. बोलिंगर बैंड स्थानीय उच्च/निम्न को पहचानते हैं और ब्रेकआउट की पुष्टि करते हैं। आरएसआई झूठे ब्रेकआउट को फ़िल्टर करता है। एमए समग्र प्रवृत्ति निर्धारित करता है। संकेत सत्यापित होते हैं।

  3. दो मानक विचलन का उपयोग करके बोलिंगर बैंड के अनुकूलित मापदंड मूल्य चैनलों को अधिक सटीक रूप से दर्शाते हैं।

जोखिम

  1. बोलिंगर बैंड्स अनुबंध करते समय झूठे संकेत उत्पन्न कर सकते हैं। आरएसआई भी तटस्थ है और व्यापार से बचना चाहिए।

  2. आरएसआई और एमए रेंजिंग बाजारों के दौरान गलत संकेत उत्पन्न कर सकते हैं। रेंजिंग स्थितियों को पूर्व निर्धारित किया जाना चाहिए।

  3. मूल्य अंतर को प्रभावी ढंग से संभाला नहीं जा सकता है। अन्य संकेतकों को वास्तविक ब्रेकआउट की पुष्टि करनी चाहिए।

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

  1. विभिन्न उत्पादों और समय सीमाओं के लिए बोलिंगर बैंड और आरएसआई के मापदंडों का अनुकूलन करना।

  2. स्टॉप लॉस ऑर्डर जोड़ें जो स्वचालित रूप से ट्रिगर होते हैं जब कीमत स्टॉप लेवल का उल्लंघन करती है।

  3. एडीएक्स जैसे ट्रेंड फ़िल्टर जोड़ें ताकि बाजारों के दौरान अक्षम ट्रेडों से बचा जा सके।

  4. स्वचालित व्यापार प्रणाली के साथ एकीकृत करें मैन्युअल हस्तक्षेप के बिना स्वचालित रूप से संकेत निष्पादित करने के लिए।

निष्कर्ष

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


/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands, RSI, and MA Strategy", overlay=true)

// Define input variables
b_len = input(20, title="BB Length")
bb_mult = input(2.0, title="BB Standard Deviation")
bb_deviation1 = input(1.0, title="BB Deviation 1")
rsi_len = input(14, title="RSI Length")
overbought = input(70, title="Overbought RSI Level")
oversold = input(30, title="Oversold RSI Level")
ma_len = input(50, title="MA Length")
stop_loss_percent = input(1.0, title="Stop Loss Percentage")
source = input(close, title="Source")

// Calculate Bollinger Bands
bb_upper = ta.sma(source, b_len) + bb_mult * ta.stdev(source, b_len)
bb_lower = ta.sma(source, b_len) - bb_mult * ta.stdev(source, b_len)
bb_upper1 = ta.sma(source, b_len) + bb_deviation1 * ta.stdev(source, b_len)
bb_lower1 = ta.sma(source, b_len) - bb_deviation1 * ta.stdev(source, b_len)

// Calculate RSI
rsi = ta.rsi(source, rsi_len)

// Calculate Moving Average
ma = ta.sma(source, ma_len)

// Determine if Bollinger Bands are contracting
bb_contracting = ta.stdev(source, b_len) < ta.stdev(source, b_len)[1]

// Entry conditions
enterLong = rsi > overbought and not bb_contracting
enterShort = rsi < oversold and not bb_contracting

// Exit conditions
exitLong = close < ma
exitShort = close > ma

// Exit trades and generate alerts
if strategy.position_size > 0 and exitLong
    strategy.close("Long") // Exit the long trade
    alert("Long Exit", alert.freq_once_per_bar_close)
if strategy.position_size < 0 and exitShort
    strategy.close("Short") // Exit the short trade
    alert("Short Exit", alert.freq_once_per_bar_close)

// Strategy orders
if enterLong
    strategy.entry("Long", strategy.long)
if enterShort
    strategy.entry("Short", strategy.short)
if exitLong
    strategy.close("Long")
if exitShort
    strategy.close("Short")

// Plotting Bollinger Bands
plot(bb_upper, color=color.blue, title="BB Upper 2")
plot(bb_lower, color=color.blue, title="BB Lower 2")
plot(bb_upper1, color=color.red, title="BB Upper 1")
plot(bb_lower1, color=color.red, title="BB Lower 1")

// Plotting RSI
plot(rsi, color=color.orange, title="RSI")

// Plotting Moving Average
plot(ma, color=color.green, title="Moving Average")


अधिक