बोलिंगर बैंड और डीसीए को जोड़ने वाली उच्च आवृत्ति व्यापार रणनीति

लेखक:चाओझांग, दिनांकः 2024-03-29 16:20:13
टैगः

img

अवलोकन

डीसीए बूस्टर (1 मिनट) नामक रणनीति एक उच्च आवृत्ति वाली ट्रेडिंग रणनीति है जो एक मिनट की समय सीमा पर संचालित होती है। रणनीति में बोलिंगर बैंड और डॉलर-लागत औसतकरण (डीसीए) तकनीकों को जोड़कर बाजार में उतार-चढ़ाव का लाभ उठाने के लिए कई खरीद और बिक्री करके लाभ कमाने का लक्ष्य रखा गया है। रणनीति का मुख्य विचार यह हैः जब कीमत दो लगातार अवधि के लिए निचले बोलिंगर बैंड से नीचे गिरती है, तो यह डीसीए का उपयोग करके पदों का निर्माण शुरू करती है; जब कीमत ऊपरी बोलिंगर बैंड से ऊपर उठती है, तो यह सभी पदों को बंद कर देती है। इसके अलावा, रणनीति पिरामिडिंग की अनुमति देती है, जिसका अर्थ है कि यदि कीमत गिरती रहती है तो यह पदों को जोड़ना जारी रख सकती है।

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

  1. बोलिंगर बैंड की गणना करें: बोलिंगर बैंड के ऊपरी और निचले बैंड की गणना करने के लिए एक सरल चलती औसत और मानक विचलन का उपयोग करें।
  2. डीसीए मापदंडों को निर्धारित करें: एक निश्चित राशि को कई भागों में विभाजित करें, प्रत्येक प्रत्येक स्थिति के लिए पूंजी के रूप में कार्य करता है।
  3. प्रवेश की शर्तेंः जब समापन मूल्य लगातार दो अवधि के लिए निचले बोलिंगर बैंड से नीचे हो, तो स्थिति बनाना शुरू करें। इस पर निर्भर करता है कि मूल्य निचले बैंड से नीचे रहता है या नहीं, रणनीति 5 पदों तक स्थापित कर सकती है।
  4. बाहर निकलने की शर्तेंः जब कीमत ऊपरी बोलिंगर बैंड से ऊपर जाती है, तो सभी पदों को बंद कर दें।
  5. पिरामिडिंगः यदि कीमत में गिरावट जारी रहती है, तो रणनीति अधिकतम 5 पदों तक पदों को जोड़ती रहेगी।
  6. स्थिति प्रबंधनः रणनीति प्रत्येक स्थिति की प्रवेश स्थिति को रिकॉर्ड करती है और जब बाहर निकलने की शर्त पूरी हो जाती है तो संबंधित स्थिति को बंद कर देती है।

रणनीतिक लाभ

  1. बोलिंगर बैंड और डीसीए तकनीकों को मिलाकर, रणनीति प्रभावी रूप से बाजार की अस्थिरता को पकड़ सकती है और खरीद की औसत लागत को कम कर सकती है।
  2. पिरामिडिंग की अनुमति देने से रणनीति को मूल्य गिरते रहने पर स्थिति बनाने में सक्षम बनाता है, जिससे लाभप्रदता की संभावना बढ़ जाती है।
  3. बाहर निकलने की शर्त सरल और सीधी है, जिससे तेजी से लाभ हो सकता है।
  4. कम समय सीमा जैसे 1 मिनट में उपयोग के लिए उपयुक्त, उच्च आवृत्ति व्यापार को सक्षम करता है।

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

  1. यदि बाजार में भारी उतार-चढ़ाव होता है और कीमत जल्दी से ऊपरी बोलिंगर बैंड को तोड़ देती है, तो रणनीति समय पर पदों को बंद करने में सक्षम नहीं हो सकती है, जिसके परिणामस्वरूप नुकसान होता है।
  2. पिरामिडिंग से जब कीमत में गिरावट जारी रहती है तो जोखिम बढ़ जाता है।
  3. यह रणनीति एक अस्थिर बाजार में अच्छा प्रदर्शन नहीं कर सकती है, क्योंकि लगातार खरीद और बिक्री से उच्च व्यापारिक लागत उत्पन्न हो सकती है।

रणनीति अनुकूलन दिशाएं

  1. व्यापार प्रति अधिकतम हानि को नियंत्रित करने के लिए बाहर निकलने की शर्तों में स्टॉप-लॉस जोड़ने पर विचार करें।
  2. अधिक जोखिम से बचने के लिए पिरामिडिंग तर्क को अनुकूलित करें, जैसे कि मूल्य में गिरावट की परिमाण के आधार पर स्थिति के आकार को समायोजित करना।
  3. प्रविष्टियों और निकासों की सटीकता में सुधार के लिए आरएसआई और एमएसीडी जैसे अन्य संकेतकों को शामिल करें।
  4. विभिन्न बाजार स्थितियों के अनुकूल होने के लिए पैरामीटर, जैसे कि अवधि और मानक विचलन गुणक को अनुकूलित करना।

सारांश

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


/*backtest
start: 2024-02-27 00:00:00
end: 2024-03-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("DCA Booster (1 minute)",
  overlay=true )

// Parameters for Bollinger Bands
length = input.int(50, title="BB Length")
mult = input.float(3.0, title="BB Mult")

// Bollinger Bands calculation
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev

// Variables for DCA
cantidad_dolares = 50000
orden1 = cantidad_dolares / close
orden2 = orden1 * 1.2
orden3 = orden2 * 1.3
orden4 = orden3 * 1.5
orden5 = orden4 * 1.5

// Variables for tracking purchases
var comprado1 = false
var comprado2 = false
var comprado3 = false
var comprado4 = false
var comprado5 = false

// Buy conditions
condicion_compra1 = close < lower and close[1] < lower[1] and not comprado1
condicion_compra2 = close < lower and close[1] < lower[1] and comprado1 and not comprado2
condicion_compra3 = close < lower and close[1] < lower[1] and comprado2 and not comprado3
condicion_compra4 = close < lower and close[1] < lower[1] and comprado3 and not comprado4
condicion_compra5 = close < lower and close[1] < lower[1] and comprado4 and not comprado5
// Variables de control
var int consecutive_closes_below_lower = 0
var int consecutive_closes_above_upper = 0

// Entry logic
if condicion_compra1 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra1", strategy.long, qty=orden1)
        comprado1 := true
        consecutive_closes_below_lower := 0

if condicion_compra2 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra2", strategy.long, qty=orden2)
        comprado2 := true
        consecutive_closes_below_lower := 0

if condicion_compra3 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra3", strategy.long, qty=orden3)
        comprado3 := true
        consecutive_closes_below_lower := 0

if condicion_compra4 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra4", strategy.long, qty=orden4)
        comprado4 := true
        consecutive_closes_below_lower := 0

if condicion_compra5 and barstate.isconfirmed
    consecutive_closes_below_lower := consecutive_closes_below_lower + 1
    if consecutive_closes_below_lower >= 2
        strategy.entry("Compra5", strategy.long, qty=orden5)
        comprado5 := true
        consecutive_closes_below_lower := 0


// Sell conditions
if close > upper  and comprado1 and barstate.isconfirmed
    strategy.close("Compra1")
    comprado1 := false

if close > upper  and comprado2 and barstate.isconfirmed
    strategy.close("Compra2")
    comprado2 := false

if close > upper  and comprado3 and barstate.isconfirmed
    strategy.close("Compra3")
    comprado3 := false

if close > upper and comprado4 and barstate.isconfirmed
    strategy.close("Compra4")
    comprado4 := false

if close > upper and comprado5 and barstate.isconfirmed
    strategy.close("Compra5")
    comprado5 := false



अधिक