दोहरी चलती औसत बोलिंगर बैंड ट्रेंड ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-22 14:54:20
टैगः

img

अवलोकन

यह रणनीति प्रवृत्ति पहचान और प्रवेश के लिए बोलिंगर बैंड और चलती औसत के संयोजन का उपयोग करती है। यह प्रवृत्ति बाजारों में प्रवेश के लिए प्रभावी ढंग से बाजार प्रवृत्ति दिशाओं की पहचान करने के लिए बोलिंगर बैंड की प्रवृत्ति पहचान क्षमता और चलती औसत के फ़िल्टरिंग प्रभाव का लाभ उठाती है।

रणनीति तर्क

  1. बाजार की प्रवृत्ति की दिशा निर्धारित करने के लिए बोलिंगर चैनल की गणना करें

    • चैनल बैंड की गणना करने के लिए उच्चतम उच्चतम और निम्नतम निम्नतम का प्रयोग करें
    • चैनल मध्य बैंड उच्च और निम्न का औसत है
    • चैनल के भीतर मूल्य स्थान के आधार पर प्रवृत्ति दिशा निर्धारित करें
  2. स्टॉप लॉस और रिवर्स सिग्नल के लिए तेजी की मोमबत्ती शरीर आकार की गणना करें

    • तेजी से मोमबत्ती शरीर बंद माइनस खुला का पूर्ण मूल्य है
    • मोमबत्ती निकायों के एन-पीरियड औसत की गणना करें, स्टॉप लॉस और रिवर्स के लिए वर्तमान निकाय से तुलना करें
  3. रुझान की पुष्टि पर चैनल दिशा में ट्रेड दर्ज करें

    • ऊपर की ओर बढ़ते रुझानों में निचले बैंड के निकट लंबी प्रविष्टियां
    • घटते रुझानों में ऊपरी बैंड के निकट लघु प्रविष्टियाँ
  4. झूठे संकेतों से बचने के लिए फ़िल्टरिंग के लिए चलती औसत का उपयोग करें

    • समापन मूल्य का एन-पीरियड चलती औसत गणना करें
    • केवल चलती औसत में संकेत उत्पन्न करें

लाभ

  1. बैंड और चलती औसत का संयोजन करते हुए प्रवृत्ति की व्यवस्थित पहचान

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

  2. कैंडल बॉडी स्टॉप लॉस के माध्यम से प्रभावी जोखिम नियंत्रण

    वर्तमान मोमबत्ती शरीर की तुलना ऐतिहासिक औसत से स्टॉप लॉस और स्थिति में कमी के लिए प्रवृत्ति उलट का पता लगाता है। प्रभावी रूप से रणनीति जोखिम को नियंत्रित करता है।

  3. स्पष्ट मात्रात्मक प्रविष्टि और स्टॉप लॉस नियम

    प्रवेश के लिए सख्त चलती औसत और चैनल दिशा आवश्यकताएं। मोमबत्ती शरीर आकार स्टॉप लॉस नियम। पूरे सिस्टम प्रवेश और निकास को स्पष्ट और व्यवस्थित बनाता है।

जोखिम विश्लेषण

  1. सीमाबद्ध बाजारों में संभावित हानि

    बैंड के चारों ओर दोहराने वाले मूल्य बार-बार मामूली नुकसान का कारण बन सकते हैं।

  2. मजबूत रुझानों में समय से पहले स्टॉप लॉस

    अल्पकालिक प्रतिवर्तन मजबूत अपट्रेंड/डाउनट्रेंड में स्टॉप को ट्रिगर कर सकते हैं। स्टॉप लॉस की चौड़ाई को ट्रेंड की सवारी करने के लिए ढीला किया जाना चाहिए।

  3. खराब पैरामीटर ट्यूनिंग से गलत संकेत

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

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

  1. चलती औसत लुकबैक अवधि का अनुकूलन करें

    तेजी से रुझान परिवर्तन का पता लगाने के लिए चिकनाई को कम करने के लिए अवधि समायोजित करें।

  2. वैकल्पिक स्टॉप लॉस तंत्रों का परीक्षण करें

    इष्टतम प्रणाली का पता लगाने के लिए ट्रेसिंग स्टॉप, एटीआर स्टॉप आदि का मूल्यांकन करें।

  3. मशीन लर्निंग मॉडल को शामिल करें

    प्रवृत्ति और संकेत पूर्वानुमान को बढ़ाने के लिए व्यापक ऐतिहासिक डेटा पर ट्रेन मॉडल।

निष्कर्ष

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


/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Scalper Strategy v1.3", shorttitle = "Scalper str 1.3", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needct = input(false, defval = false, title = "Counter-trend entry")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close

//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd1 = center + distsma / 2
ld1 = center - distsma / 2

//Trend
trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Body
body = abs(close - open)
smabody = ema(body, 30)
candle = high - low

//Engulfing
min = min(open, close)
max = max(open, close)
bar = close > open ? 1 : close < open ? -1 : 0
upeng = bar == 1 and bar[1] == -1 and min >= min[1] and max <= max[1] ? 1 : 0
dneng = bar == -1 and bar[1] == 1 and min >= min[1] and max <= max[1] ? 1 : 0

//Signals
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 1 : 0
dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and close > open)) ? 1 : 0

if up7 == 1 or up8 == 1 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)

अधिक