यह रणनीति प्रवृत्ति की दिशा निर्धारित करने के लिए एक चलती औसत प्रणाली का उपयोग करती है और कम अस्थिरता वाले दोलन बाजारों से बचने के लिए अस्थिरता सूचकांक को जोड़ती है, ट्रेडों को प्रबंधित करने के लिए झूमर से बाहर निकलने के साथ।
यह रणनीति तेजी से और धीमी गति से चलती औसत की तुलना करके प्रवृत्ति की दिशा का न्याय करती है। जब तेज एमए धीमी एमए के ऊपर पार करता है तो यह लंबा हो जाता है, और जब तेज एमए धीमी एमए के नीचे पार करता है तो यह छोटा हो जाता है। दोलन बाजारों से बचने के लिए, रणनीति में बोलिंगर बैंड भी शामिल होते हैं। यह व्यापार संकेत उत्पन्न करता है जब बीबी चौड़ाई में परिवर्तन की दर एक सीमा से अधिक हो जाती है। अंत में, रणनीति रेंज-बाउंड बाजारों में फंसने से बचने के लिए चैंडिलर निकास को स्टॉप लॉस के रूप में उपयोग करती है।
विशेष रूप से, व्यापार का तर्क इस प्रकार है:
त्वरित एमए (डिफ़ॉल्ट 20 दिन) और धीमी एमए (डिफ़ॉल्ट 50 दिन) की गणना करें।
बोलिंगर बैंड (डिफ़ॉल्ट 40 दिन, 2 मानक विचलन) की चौड़ाई के परिवर्तन दर की गणना करें।
जब तेज एमए धीमी एमए से अधिक हो और बीबी चौड़ाई परिवर्तन दर डिफ़ॉल्ट सीमा 9% से अधिक हो, तो लंबी हो।
जब तेज एमए धीमी एमए से नीचे जाता है और बीबी चौड़ाई परिवर्तन दर डिफ़ॉल्ट थ्रेशोल्ड 9% से अधिक होती है, तो शॉर्ट करें।
चैंडिलियर के लंबे और छोटे स्टॉप की गणना करें।
लॉन्ग स्टॉप उच्चतम उच्च - एटीआर * गुणक है। शॉर्ट स्टॉप सबसे कम कम + एटीआर * गुणक है।
एमए प्रणाली प्रभावी रूप से रुझानों को ट्रैक करती है।
बीबी चौड़ाई में परिवर्तन अनावश्यक ट्रेडों को कम करके उतार-चढ़ाव को फ़िल्टर करता है।
चैंडिलियर समय पर बंद हो जाता है और फंसने से बचता है।
अनुकूलन के लिए कई समायोज्य मापदंड।
स्पष्ट तर्क, समझने और लागू करने में आसान।
एमए विलंब तेजी से उलटने से चूक सकता है।
गलत बीबी पैरामीटर वैध संकेतों को फ़िल्टर कर सकते हैं।
अत्यधिक झूमर बाहर निकलने से अधिक व्यापार होता है।
अपर्याप्त मापदंड अनुकूलन से जोखिम पैदा होता है।
बड़ी घटनाओं से होने वाले चरम बाजार परिवर्तनों के अनुकूल नहीं हो पाते।
इष्टतम मापदंडों को खोजने के लिए विभिन्न एमए संयोजनों का परीक्षण करें।
सर्वोत्तम अस्थिरता फ़िल्टर के लिए विभिन्न बीबी अवधि का परीक्षण करें।
प्रवेश की पुष्टि के लिए अन्य संकेतक जोड़ें।
बाजारों को बेहतर ढंग से ट्रैक करने के लिए गतिशील स्टॉप का परिचय दें।
बदलते बाजारों के लिए स्वतः अनुकूलन करने के लिए मशीन लर्निंग का उपयोग करें।
यह रणनीति एक अपेक्षाकृत स्थिर प्रवृत्ति के बाद प्रणाली बनाने के लिए एमए प्रणाली, बीबी संकेतक और झूमर निकास को एकीकृत करती है। उचित पैरामीटर अनुकूलन अच्छे परिणाम प्राप्त कर सकता है। लेकिन प्रवृत्ति उलट और दोलन के जोखिम बने हुए हैं। मशीन लर्निंग मजबूती को और बढ़ा सकता है। समग्र रूप से सीखने के लिए एक अच्छी रणनीति।
/*backtest start: 2022-10-11 00:00:00 end: 2023-10-17 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/ // © juanchez //@version=4 strategy("CHI", overlay = true, close_entries_rule = "ANY") n = input(title= "highest high o lowest low period", defval= 22) f= input(title= "multiplicador", defval= 4) long = highest(high, n) - atr(n)*f short= lowest(low, n) + atr(n)*f plot(long, color= color.red) plot(short, color= color.green) //moving averages period= input(title= "moving averages period", defval= 50) period2= input(title= "moving averages period2", defval= 20) type= input(title= "moving averages type", options= ["sma", "ema"], defval= "ema") //moving average function mo(p, t) => if t == "sma" sma(close[barstate.islast ? 1: 0], p) else if t== "ema" ema(close[barstate.islast ? 1: 0], p) m= mo(period, type) m2= mo(period2, type) trend= m2 > m plot(m, color = color.maroon, linewidth = 3) plot(m2, linewidth= 3) //BOLLINGER BANDS ENTRIES bb1_period= input(title= "Bollinger bands 1 period", defval=40, minval=1) bb1_source=input(title="Bollinger band 1 source", defval=close) bb1_multi=input(title="Bollinger Bands 1 factor", defval=2, minval=1, step=0.1) show_bb1= input(title="Show Bollinger bands 1", defval=false) //BOLLINGER BANDS _bb(src, lenght, multi)=> float moving_avg= sma(src[barstate.islast? 1: 0], lenght) float deviation= stdev(src[barstate.islast? 1: 0], lenght) float lowerband = moving_avg - deviation*multi float upperband = moving_avg + deviation*multi [moving_avg, lowerband, upperband] [bb1, lowerband1, upperband1]= _bb(bb1_source, bb1_period, bb1_multi) //FIRST BAND plot(show_bb1? bb1 : na, title="BB1 Moving average", linewidth= 3, color= color.fuchsia) plot(show_bb1? upperband1 : na, title="BB1 Upper Band", linewidth= 3, color= color.green) plot(show_bb1? lowerband1 : na, title="BB1 Lower Band", linewidth= 3, color= color.red) //BB's Width threshold thresh= input(title= "widen %", defval= 9, minval = 0, step = 1, maxval= 100) widht= (upperband1 - lowerband1)/bb1 roc= change(widht)/widht[1]*100 cross=crossover(roc, thresh) // entry //long elong= input(true, title= "enable long") longcondition= m2 > m and cross and elong //short eshort= input(true, title= "enable short") shortcondition= m2 < m and cross and eshort plotshape(longcondition? true: false , location= location.belowbar, style= shape.labelup, size= size.small, color= color.green, text= "Buy", textcolor= color.white) plotshape(shortcondition? true: false , location= location.abovebar, style= shape.labeldown, size= size.small, color= color.red, text= "Sell", textcolor= color.white) out= crossunder(close, long) outt= crossover(close, short) strategy.entry("long", strategy.long, when = longcondition) strategy.close("long", when = out) strategy.entry("short", strategy.short, when = shortcondition) strategy.close("short", when = outt)