एमसीएल-वाईजी बोलिंगर बैंड ब्रेकआउट जोड़ी ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-14 13:49:12
टैगः

img

अवलोकन

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

रणनीति तर्क

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

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

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

लाभ

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

जोखिम

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

मापदंडों को अनुकूलित करके, मजबूत सहसंबंध और तरलता वाली परिसंपत्तियों का चयन करके, उचित स्टॉप लॉस आदि स्थापित करके जोखिमों को कम किया जा सकता है।

अनुकूलन के अवसर

  1. सर्वोत्तम संयोजन खोजने के लिए बोलिंगर बैंड्स मापदंडों का अनुकूलन करें
  2. अधिक संबद्ध परिसंपत्ति जोड़े का परीक्षण करें और सर्वोत्तम संयोजन का चयन करें
  3. एकल ट्रेडों के लिए घाटे को सीमित करने के लिए स्टॉप लॉस लॉजिक जोड़ें
  4. झूठे ब्रेकआउट संकेतों से बचने के लिए अधिक फ़िल्टर जोड़ें
  5. प्रवेश समय में सुधार करने के लिए मात्रा की पुष्टि जैसे अन्य कारकों को शामिल करें

सारांश

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


/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 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/
// © shark792

//@version=5

// 1. Define strategy settings
strategy(title="MCL-YG Pair Trading Strategy", overlay=true,
     pyramiding=0, initial_capital=10000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)

smaLength = input.int(title="SMA Length", defval=20)
stdLength = input.int(title="StdDev Length", defval=20)

ubOffset = input.float(title="Upper Band Offset", defval=1, step=0.5)
lbOffset = input.float(title="Lower Band Offset", defval=1, step=0.5)

usePosSize = input.bool(title="Use Position Sizing?", defval=true)
riskPerc   = input.float(title="Risk %", defval=0.5, step=0.25)


// 2. Calculate strategy values
smaValue = ta.sma(close, smaLength)
stdDev   = ta.stdev(close, stdLength)

upperBand = smaValue + (stdDev * ubOffset)
lowerBand = smaValue - (stdDev * lbOffset)

riskEquity  = (riskPerc / 100) * strategy.equity
atrCurrency = (ta.atr(20) * syminfo.pointvalue)
posSize     = usePosSize ? math.floor(riskEquity / atrCurrency) : 1


// 3. Output strategy data
plot(series=smaValue, title="SMA", color=color.teal)

plot(series=upperBand, title="UB", color=color.green,
     linewidth=2)
plot(series=lowerBand, title="LB", color=color.red,
     linewidth=2)


// 4. Determine long trading conditions
enterLong = ta.crossover(close, upperBand)
exitLong  = ta.crossunder(close, smaValue)


// 5. Code short trading conditions
enterShort = ta.crossunder(close, lowerBand)
exitShort  = ta.crossover(close, smaValue)


// 6. Submit entry orders
if enterLong
    strategy.entry(id="EL", direction=strategy.long, qty=posSize)

if enterShort
    strategy.entry(id="ES", direction=strategy.short, qty=posSize)


// 7. Submit exit orders
strategy.close(id="EL", when=exitLong)
strategy.close(id="ES", when=exitShort)



अधिक