यह रणनीति एक गतिशील ब्रेकआउट ट्रेडिंग रणनीति बनाने के लिए बोलिंगर बैंड्स संकेतक के आधार पर डिज़ाइन की गई है। यह बोलिंगर निचले बैंड के आसपास ब्रेकआउट प्रवेश के अवसरों की तलाश करने के लिए मोमबत्ती शरीर फिल्टर और रंग फिल्टर की स्थितियों को जोड़ती है। निकास शरीर फिल्टर पर आधारित हैं। रणनीति स्वचालित रूप से स्थिति आकार और जोखिम का प्रबंधन करती है।
सबसे पहले, निम्न मूल्य के आधार पर बोलिंगर बैंड की आधार रेखा और निचले बैंड की गणना करें:
src = low
basis = sma(src, length)
dev = mult * stdev(src, length)
lower = basis - dev
जहां src निम्न मूल्य है, लंबाई गणना अवधि है, आधार चलती औसत है, dev मानक विचलन है, और निचला निचला बैंड है।
मल्ट को आमतौर पर 2 पर सेट किया जाता है, जिसका अर्थ है कि निचला बैंड एक मानक विचलन दूर है।
इस रणनीति में दो फिल्टर स्थितियां शामिल हैंः
मोमबत्ती शरीर फ़िल्टरनिर्धारित करने के लिए शरीर के आकार nbody और उसके औसत अवधि का उपयोग करें, केवल तब ट्रेडिंग सिग्नल उत्पन्न करें जब nbody अवधि के आधे से अधिक हो।
रंग फ़िल्टर
जब मोमबत्ती सकारात्मक बंद हो (बंद > खुला) तो लंबे समय तक न करें। यह hbox के सिर पर झूठे ब्रेकआउट से बचाता है।
लंबे समय तक संकेत उत्पन्न करें जब नीचे दी गई शर्तें पूरी हों:
low < lower // price breaks lower band
close < open or usecol == false // color filter
nbody > abody / 2 or usebod == false // body filter
जब शरीर का आकार फिर से औसत का आधा से अधिक हो, बंद स्थितिः
close > open and nbody > abody / 2
रणनीति स्थिति की घातीय वृद्धि के लिए स्वचालित रूप से व्यापार आकार की गणना करती हैः
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
वर्ष, माह और दिनांक पर प्रतिबंध जोड़ें ताकि केवल विशिष्ट दिनांक सीमा में ही व्यापार सीमित हो सके:
when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))
बोलिंगर का निचला बैंड ट्रेंड के बाद रिट्रेसमेंट को पकड़ने के लिए एक गतिशील समर्थन क्षेत्र प्रदान करता है।
मोमबत्ती के शरीर और रंग फिल्टर का संयोजन प्रभावी रूप से झूठे ब्रेकआउट से बचाता है।
स्थिति का आकार 100% तक तेजी से बढ़ता है, जोखिम का प्रबंधन स्वचालित रूप से होता है।
दिनांक सीमा निर्धारित करने से विशिष्ट अवधियों में बाजार की अस्थिरता से जुड़े जोखिम कम होते हैं।
जब मजबूत अपट्रेंड होता है, तो बीबी मध्य और ऊपरी बैंड तेजी से ऊपर की ओर बढ़ सकते हैं, जिससे लंबे समय तक ड्रॉडाउन हो सकता है।
रुझान संकेतकों के साथ संयोजन करें, जब बुल मार्केट के रूप में माना जाता है तो दीर्घकालिक ड्रॉडाउन से बचने के लिए रणनीति को रोकें।
ब्रेकआउट कम बैंड की वापसी और पुनः परीक्षण के साथ विफल हो सकता है।
समर्थन स्तर के नीचे स्टॉप लॉस जोड़ें. या त्वरित स्टॉप लॉस के लिए असफल पुनः परीक्षण का पता लगाने के लिए तर्क जोड़ें.
बैकटेस्ट परिणामों के आधार पर समर्थन से नीचे स्टॉप लॉस का अनुकूलन करें.
शरीर के फिल्टर को ठीक से ट्यून करें, रहने की अवधि, रंग फिल्टर आदि इष्टतम खोजने के लिए।
बुल बाजार के रूप में आंका जाता है जब रणनीति रोकें। वापसी समय को कम करें।
इस रणनीति में बीबी समर्थन, बॉडी फिल्टर, कलर फिल्टर और ब्रेकआउट लॉजिक को उच्च संभावना retracements को कैप्चर करने के लिए मिलाया गया है। व्यवहार में, पैरामीटर को बैकटेस्ट के आधार पर अनुकूलित किया जा सकता है, स्टॉप लॉस और ट्रेंड फिल्टर को बेहतर प्रदर्शन के लिए जोखिमों को नियंत्रित करने के लिए जोड़ा जा सकता है।
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Wizard Strategy v1.0", shorttitle = "Wizard str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10) //Settings capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") length = input(25, defval = 25, minval = 1, maxval = 200, title = "BB Period") usebod = input(false, defval = false, title = "Use Body-Filter") usecol = input(false, defval = false, title = "Use Color-Filter") showar = input(false, defval = false, title = "Show Arrows") 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") //Bollinger src = low mult = 2 basis = sma(src, length) dev = mult * stdev(src, length) lower = basis - dev plot(lower, color = lime, linewidth = 3, title="Bottom Line") //Body Filter nbody = abs(close - open) abody = sma(nbody, 10) body = nbody > abody / 2 or usebod == false //Signals up1 = low < lower and (close < open or usecol == false) and body exit = close > open and nbody > abody / 2 //Arrows needar = up1 and showar plotarrow(needar ? 1 : na) //Trading lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1] if up1 if strategy.position_size < 0 strategy.close_all() strategy.entry("Long", strategy.long, 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()