बीबी प्रतिशत सूचकांक की मंदी की रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-06 14:43:39
टैगः

img

अवलोकन

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

रणनीति तर्क

  1. बोलिंगर बैंड प्रतिशत (BB%) की गणना करें BB% बोलिंगर मध्य बैंड के सापेक्ष मूल्य का मानक विचलन दर्शाता है, जो बोलिंगर चैनल के माध्यम से बाजार की दिशा का न्याय करता है।
  2. ओवरबॉट और ओवरसोल्ड स्थितियों को निर्धारित करने के लिए आरएसआई और एमएफआई संकेतकों को शामिल करें। आरएसआई ओवरबॉट और ओवरसोल्ड स्तरों को निर्धारित करने के लिए समय की अवधि में औसत लाभ और औसत हानि की तुलना करता है। एमएफआई ओवरबॉट और ओवरसोल्ड स्तरों को निर्धारित करने के लिए वॉल्यूम और डाउन वॉल्यूम की तुलना करता है।
  3. जब कीमत बोलिंगर की निचली रेल को ऊपर की ओर तोड़ती है, तो लंबी हो जाती है; जब कीमत बोलिंगर की ऊपरी रेल को नीचे की ओर तोड़ती है, तो छोटी हो जाती है। साथ ही, फ़िल्टरेशन के लिए आरएसआई और एमएफआई संकेतकों से ओवरसोल्ड/ओवरबॉट संकेतों का उपयोग करें।

लाभ

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

जोखिम और समाधान

  1. बोलिंगर ब्रेकआउट से झूठे संकेतों की उच्च संभावना है, जिसके लिए फ़िल्टरिंग के लिए कई संकेतकों के संयोजन की आवश्यकता होती है।
  2. ब्रेकआउट सिग्नल के बारे में निर्णय लेने के लिए उचित रूप से ढीले मानदंडों की आवश्यकता होती है ताकि अच्छे अवसरों को खोने से बचा जा सके।
  3. जोखिमों को नियंत्रित करने के लिए पैरामीटर सेटिंग्स को समायोजित करें, जैसे कि स्थिति का आकार, स्टॉप लॉस लाइनों को बढ़ाना, आदि।

अनुकूलन दिशाएँ

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

निष्कर्ष

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


/*backtest
start: 2023-11-05 00:00:00
end: 2023-12-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "BB%/MFI/RSI", shorttitle = "BB%/MFI/RSI", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 100)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")

source = hlc3
length = input(14, minval=1), mult = input(2.0, minval=0.001, maxval=50), bblength = input(50, minval=1, title="BB Period")
DrawRSI_f=input(true, title="Draw RSI?", type=bool)
DrawMFI_f=input(false, title="Draw MFI?", type=bool)
HighlightBreaches=input(true, title="Highlight Oversold/Overbought?", type=bool)

DrawMFI = (not DrawMFI_f) and (not DrawRSI_f) ? true : DrawMFI_f
DrawRSI = (DrawMFI_f and DrawRSI_f) ? false : DrawRSI_f
// RSI
rsi_s = DrawRSI ? rsi(source, length) : na
plot(DrawRSI ? rsi_s : na, color=maroon, linewidth=2)

// MFI
upper_s = DrawMFI ? sum(volume * (change(source) <= 0 ? 0 : source), length) : na
lower_s = DrawMFI ? sum(volume * (change(source) >= 0 ? 0 : source), length) : na
mf = DrawMFI ? rsi(upper_s, lower_s) : na
plot(DrawMFI ? mf : na, color=green, linewidth=2)

// Draw BB on indices
bb_s = DrawRSI ? rsi_s : DrawMFI ? mf : na
basis = sma(bb_s, length)
dev = mult * stdev(bb_s, bblength)
upper = basis + dev
lower = basis - dev
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1,p2, blue)

b_color = (bb_s > upper) ? red : (bb_s < lower) ? lime : na
bgcolor(HighlightBreaches ? b_color : na, transp = 0)

//Signals
up = bb_s < lower and close < open
dn = bb_s > upper and close > open
size = strategy.position_size
lp = size > 0 and close > open
sp = size < 0 and close < open
exit = (up == false and dn == false) and (lp or sp)

//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()

अधिक