यह रणनीति चलती औसत रेखा के सफलताओं को ट्रैक करके अस्थिर बाजारों में निरंतर लाभप्रदता प्राप्त करती है।
इस रणनीति का मुख्य तर्क चलती औसत रेखा के ब्रेकथ्रू के आधार पर पदों को खोलना है। यह मुख्य चलती औसत रेखा बनाने के लिए कई चलती औसत को एकत्र करने के लिए एमए का उपयोग करता है। जब कीमत मुख्य चलती औसत रेखा को तोड़ती है तो ट्रेडिंग सिग्नल उत्पन्न होते हैं।
विशेष रूप से, रणनीति मुख्य चलती औसत रेखा के रूप में 60-अवधि डब्ल्यूएमए डबल चलती औसत को अपनाती है। साथ ही, यह कीमत की वास्तविक सीमा की गणना करता है और ऊपरी और निचले बैंड को आकर्षित करता है। जब कीमत ऊपरी बैंड से टूटती है, तो लंबी हो जाती है, और जब यह निचले बैंड से टूटती है तो छोटी हो जाती है।
सफलता संकेतों के शीर्ष पर, रणनीति में सहायक संकेतकों के रूप में आरएसआई और ईएमए भी शामिल हैं। यह आवश्यक है कि आरएसआई> 50 और ईएमए से ऊपर की कीमत लंबी हो, और आरएसआई < 50 और ईएमए से नीचे की कीमत छोटी हो, ताकि झूठे ब्रेकआउट से बचा जा सके।
इसके अतिरिक्त, रणनीति बाहर निकलने के बिंदुओं को निर्धारित करने के लिए ट्रिपल चलती औसत संरचनाओं का उपयोग करती है। जब ट्रिपल चलती औसत एक कमजोर गठन (-1) में होती है, तो बाहर निकलने के बिंदु को चैनल के विपरीत सफलता के रूप में चुना जाता है।
इन जोखिमों को एमए अवधि को अनुकूलित करके, ट्रिपल एमए सेटिंग्स को समायोजित करके, आरएसआई का सावधानीपूर्वक उपयोग करके आदि कम किया जा सकता है।
संक्षेप में, यह रेंज-बाउंड बाजारों के लिए एक उत्कृष्ट ब्रेकआउट रणनीति है। मुख्य विचार ट्रेंड इंडिकेटरों द्वारा फ़िल्टर किए गए एमए ब्रेकआउट के आधार पर पदों को खोलना है, और गैर-ट्रेंडिंग बाजारों में स्थिर लाभ प्राप्त करना है। ट्रिपल एमए गठन का उपयोग करके बाहर निकलना पहले निर्धारित किया जाता है। रेंजिंग बाजारों में प्रदर्शन को अधिकतम करने के लिए मापदंडों को अनुकूलित करने, प्रवेश / निकास तर्क आदि में सुधार करने के लिए पर्याप्त जगह है।
/*backtest start: 2022-10-23 00:00:00 end: 2023-03-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //exapple bot strategy('RIPO BOT', shorttitle='RIPO BOT', overlay=true, process_orders_on_close=true, calc_on_order_fills=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100) sl_inp = input(0.1, title='Stop Loss %') / 100 tp_inp = input(0.33, title='Take Profit %') / 100 length = input(defval=21) upper = ta.highest(length) lower = ta.lowest(length) lengthChop = input.int(14, minval=1) ci = 100 * math.log10(math.sum(ta.atr(1), lengthChop) / (ta.highest(lengthChop) - ta.lowest(lengthChop))) / math.log10(lengthChop) offset = input.int(0, "Offset", minval = -500, maxval = 500) plot(ci, "CHOP", color=#2962FF, offset = offset) band1 = hline(61.8, "Upper Band", color=#787B86, linestyle=hline.style_dashed) hline(50, "Middle Band", color=color.new(#787B86, 50)) band0 = hline(38.2, "Lower Band", color=#787B86, linestyle=hline.style_dashed) fill(band1, band0, color = color.rgb(33, 150, 243, 90), title = "Background") rsi = ta.rsi(close, 14) var float entry_price = na output = 100 * (close - upper) / (upper - lower) ema = ta.ema(output, input(defval=13, title='EMA')) ma(src, len) => ta.wma(2 * ta.wma(src, len / 2) - ta.wma(src, len), math.round(math.sqrt(len))) BBMC = ma(close, 60) rangema = ta.ema(ta.tr, 60) upperk = BBMC + rangema * 0.2 lowerk = BBMC - rangema * 0.2 color_bar = close > upperk ? color.blue : close < lowerk ? color.fuchsia : color.gray ExitHigh = ma(high, 15) ExitLow = ma(low, 15) Hlv3 = int(na) Hlv3 := close > ExitHigh ? 1 : close < ExitLow ? -1 : Hlv3[1] sslExit = Hlv3 < 0 ? ExitHigh : ExitLow base_cross_Long = ta.crossover(close, sslExit) base_cross_Short = ta.crossover(sslExit, close) codiff = base_cross_Long ? 1 : base_cross_Short ? -1 : na entry_long = false entry_short = false if ta.crossover(close, BBMC) and output > ema entry_long := true if ta.crossunder(close, BBMC) and output < ema entry_short := true if entry_long and strategy.position_size == 0 entry_price := close strategy.entry('enter long', strategy.long, comment='ENTER-LONG_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663') if strategy.position_size > 0 strategy.exit('Stop Loss/TP long', 'enter long', limit=entry_price * (1 + tp_inp), stop = color_bar == color.fuchsia ? BBMC : na, comment='EXIT-LONG_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663') plot(entry_price * (1 + tp_inp), color=color.new(color.green, 0)) //if entry_short and strategy.position_size == 0 //entry_price := close //strategy.entry('enter short', strategy.short, comment='ENTER-SHORT_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663') if strategy.position_size < 0 strategy.exit('Stop Loss/TP short', 'enter short', limit=entry_price * (1 - tp_inp), stop = color_bar == color.blue ? BBMC : na, comment='EXIT-SHORT_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663') plot(entry_price * (1 + tp_inp), color=color.new(color.green, 0)) // plot(entry_price * (1 - sl_inp), color=color.new(color.red, 0)) plot(rsi, color=color.yellow) plot(output, title='%R', color=color.new(color.yellow, 0), linewidth=2) plot(ema, title='EMA', color=color.new(color.aqua, 0), linewidth=2) plotarrow(codiff, colorup=color.new(color.blue, 35), colordown=color.new(color.fuchsia, 35), title='Exit Arrows', maxheight=20, offset=0) plot(BBMC, color=color_bar, linewidth=4, title='MA Trendline')