ट्रिपल मानक विचलन बोलिंगर बैंड सफलता मात्रात्मक व्यापार रणनीति 100-दिवसीय चलती औसत अनुकूलन के साथ संयुक्त

MA BB SMA SD
निर्माण तिथि: 2024-12-13 11:20:13 अंत में संशोधित करें: 2024-12-13 11:20:13
कॉपी: 3 क्लिक्स: 483
1
ध्यान केंद्रित करना
1617
समर्थक

ट्रिपल मानक विचलन बोलिंगर बैंड सफलता मात्रात्मक व्यापार रणनीति 100-दिवसीय चलती औसत अनुकूलन के साथ संयुक्त

अवलोकन

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

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

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

रणनीतिक लाभ

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

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

  1. झूठे ब्रेकआउट का जोखिमः बाजार में एक छोटी अवधि के ब्रेकआउट के बाद तेजी से वापसी हो सकती है, जिससे झूठे संकेत मिल सकते हैं।
  2. बड़ी वापसीः जब बाजार में भारी उतार-चढ़ाव होता है तो बड़ी वापसी हो सकती है।
  3. विलंबता का जोखिमः 100 दिन की औसत रेखा में कुछ विलंबता है, कुछ त्वरित घटनाओं को याद किया जा सकता है।
  4. बाजार परिवेश पर निर्भरता: अस्थिर बाजारों में अक्सर लेन-देन की संभावना होती है, जिससे लेन-देन की अत्यधिक लागत होती है।

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

  1. ट्रांसमिशन की पुष्टि की शुरूआतः ट्रांसमिशन की पुष्टि के लिए एक ब्रेक-आउट तंत्र जोड़ा जा सकता है, जिससे सिग्नल की विश्वसनीयता में सुधार होता है।
  2. ऑप्टिमाइज़ेशन स्टॉप लॉस मैकेनिज्मः स्टॉप लॉस की लचीलापन बढ़ाने के लिए ट्रैक स्टॉप या एटीआर डायनामिक स्टॉप लॉस को शामिल करने पर विचार किया जा सकता है।
  3. प्रवृत्ति फ़िल्टरिंग जोड़ेंः केवल मुख्य प्रवृत्ति की दिशा में व्यापार करने के लिए दीर्घकालिक प्रवृत्ति निर्देशांक जोड़ें।
  4. स्थिति प्रबंधन का अनुकूलन करेंः स्थिति का आकार ब्रेकडाउन की गतिशीलता के आधार पर समायोजित किया जा सकता है।
  5. समय फ़िल्टर जोड़ा गयाः व्यापार के लिए कुछ विशिष्ट बाजार समयों से बचें।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-11-12 00:00:00
end: 2024-12-11 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © MounirTrades007

// @version=6
strategy("Bollinger Bands", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=200)

// Get user input
var g_bb        = "Bollinger Band Settings"
upperBandSD     = input.float(title="Upper Band Std Dev", defval=3.0, tooltip="Upper band's standard deviation multiplier", group=g_bb)
lowerBandSD     = input.float(title="Lower Band Std Dev", defval=1.0, tooltip="Lower band's standard deviation multiplier", group=g_bb)
maPeriod        = input.int(title="Middle Band MA Length", defval=100, tooltip="Middle band's SMA period length", group=g_bb)
var g_tester    = "Backtester Settings"
drawTester      = input.bool(title="Draw Backtester", defval=true, group=g_tester, tooltip="Turn on/off inbuilt backtester display")

// Get Bollinger Bands
[bbIgnore1, bbHigh, bbIgnore2] = ta.bb(close, maPeriod, upperBandSD)
[bbMid, bbIgnore3, bbLow]      = ta.bb(close, maPeriod, lowerBandSD)

// Prepare trade persistent variables
drawEntry   = false
drawExit    = false

// Detect bollinger breakout
if close > bbHigh and barstate.isconfirmed and strategy.position_size == 0
    drawEntry := true
    strategy.entry(id="Trade", direction=strategy.long)
    alert("Bollinger Breakout Detected for " + syminfo.ticker, alert.freq_once_per_bar_close)

// Detect bollinger sell signal
if close < bbLow and barstate.isconfirmed and strategy.position_size != 0
    drawExit := true
    strategy.close(id="Trade")
    alert("Bollinger Exit detected for " + syminfo.ticker, alert.freq_once_per_bar_close)

// Draw bollinger bands
plot(bbMid, color=color.blue, title="Middle SMA")
plot(bbHigh, color=color.green, title="Upper Band")
plot(bbLow, color=color.red, title="Lower Band")

// Draw signals
plotshape(drawEntry, style=shape.triangleup, color=color.green, location=location.belowbar, size=size.normal, title="Buy Signal")
plotshape(drawExit, style=shape.xcross, color=color.red, location=location.belowbar, size=size.normal, title="Sell Signal")

// // =============================================================================
// // START BACKTEST CODE
// // =============================================================================

// // Prepare stats table
// var table testTable = table.new(position.top_right, 2, 2, border_width=1)
// f_fillCell(_table, _column, _row, _title, _value, _bgcolor, _txtcolor) =>
//     _cellText = _title + "\n" + _value
//     table.cell(_table, _column, _row, _cellText, bgcolor=_bgcolor, text_color=_txtcolor)

// // Draw stats table
// var bgcolor = color.black
// if barstate.islastconfirmedhistory
//     if drawTester
//         dollarReturn = strategy.equity - strategy.initial_capital
//         f_fillCell(testTable, 0, 0, "Total Trades:", str.tostring(strategy.closedtrades), bgcolor, color.white)
//         f_fillCell(testTable, 0, 1, "Win Rate:", str.tostring(strategy.wintrades / strategy.closedtrades * 100, "##.##") + "%", bgcolor, color.white)
//         f_fillCell(testTable, 1, 0, "Equity:", "$" + str.tostring(strategy.equity, "###,###.##"), bgcolor, color.white)
//         f_fillCell(testTable, 1, 1, "Return:", str.tostring((strategy.netprofit / strategy.initial_capital) * 100, "##.##") + "%", dollarReturn > 0 ? color.green : color.red, color.white)

// // =============================================================================
// // END BACKTEST CODE
// // =============================================================================