यह रणनीति भारतीय बाजारों के लिए एक दिन व्यापार इंट्राडे समेकन ब्रेकआउट संकेतक है। इसमें समय की स्थिति, कमीशन और स्टॉप-लॉस ट्रैलिंग शामिल हैं। इस रणनीति के फायदे में स्पष्ट तर्क, लचीला पैरामीटर ट्यूनिंग और बाजार गतिशीलता के अनुकूलन शामिल हैं। हालांकि, कुछ जोखिम मौजूद हैं और आगे अनुकूलन की आवश्यकता है।
मूल रणनीति बोलिंगर बैंड पर आधारित है। यह एक लम्बी अवधि के सरल चलती औसत का उपयोग करता है क्योंकि मध्य रेखा और ऊपर/नीचे बैंड +MULT/-MULT मानक विचलन हैं। ऊपरी बैंड के ऊपर बंद होने पर खरीद संकेत उत्पन्न होते हैं, और निचले बैंड के नीचे बंद होने पर बिक्री संकेत उत्पन्न होते हैं, जो रेंज ब्रेकआउट रणनीति बनाते हैं।
जोखिम नियंत्रण के लिए, यह स्टॉप लॉस लाइन के लिए एटीआर का उपयोग करता है। यह भारतीय बाजार के ट्रेडिंग घंटों पर भी विचार करता है और हर दिन 14:57 पर सभी पदों को बंद करता है।
इस रणनीति के फायदे:
इस रणनीति के जोखिमः
जोखिमों को निम्न द्वारा कम किया जा सकता हैः
इस रणनीति को कई दिशाओं में अनुकूलित किया जा सकता हैः
मॉडल और एल्गोरिथ्म अनुकूलन के साथ, व्यापक अनुकूलन और उच्च जोखिम सहिष्णुता के लिए पैरामीटर ट्यूनिंग और सिग्नल फ़िल्टरिंग क्षमताओं में सुधार किया जा सकता है।
संक्षेप में, यह एक सीधा इंट्राडे ब्रेकआउट रणनीति है। यह भारतीय बाजार की विशिष्टताओं को संबोधित करता है और ट्रेडिंग जोखिमों को नियंत्रित करता है। पैरामीटर ट्यूनिंग और सिग्नल फ़िल्टरिंग में और सुधार के साथ, यह रणनीति व्यावसायीकरण की आवश्यकता को पूरा कर सकती है।
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Consolidation Breakout [Indian Market Timing]",overlay = true , pyramiding = 0 ,initial_capital = 50000, default_qty_value=5, currency = currency.NONE,commission_type = strategy.cash, commission_value = 30, slippage = 1 ) // ══════════════════════════════════// // ————————> INPUT VALUES <————————— // // ══════════════════════════════════// LENGTH = input.int(title='LENGTH', defval = 75, minval = 10 ,maxval = 300) MULT = input.float(title='MULT_STDEV',defval = 3.2 , minval = 1 , maxval = 7 , step =0.1) //EMA1 = input.int(title='EMA1', defval = 50, minval = 10 ,maxval = 550) //EMA2 = input.int(title='EMA2', defval = 135, minval = 10 ,maxval = 550) factor_tr = input.float(title = "ATR TRAIL", defval = 10, step = 0.1) // ══════════════════════════════════// // ————————> DAY TIME LIMIT <——————— // // ══════════════════════════════════// t = time(timeframe.period, '0935-1430:1234567') time_condition = not na(t) //**********************// ════════════════════════════════// //**********************// ————————> ATR & PLOT <————————— // //**********************// ════════════════════════════════// //ema1 = ta.ema(close,EMA1) //ema2 = ta.ema(close,EMA2) //plot(ema1, color=color.new(color.blue, 0), style=plot.style_linebr, title='ema1') //plot(ema2, color=color.new(color.yellow, 0), style=plot.style_linebr, title='ema2') atr_tr = ta.atr(16)*factor_tr longStop = close - atr_tr shortStop = close + atr_tr Entry = close length = LENGTH mult = MULT basis = ta.sma(Entry , length) dev = mult * ta.stdev(Entry , length) upper = (basis + dev) lower = (basis - dev) buyEntry = ta.crossover(Entry , upper) sellEntry = ta.crossunder(Entry , lower) //plot(upper, color=color.new(color.red, 0), style=plot.style_linebr, title="short stop") //plot(lower, color=color.new(color.green, 0), style=plot.style_linebr, title="Long stop") plot(upper, color=close[1] > upper and close > upper ? color.green : color.red, linewidth=2) plot(lower, color=close[1] > lower and close > lower ? color.green : color.red, linewidth=2) // ══════════════════════════════════// // ————————> LONG POSITIONS <————————// // ══════════════════════════════════// //******barinstate.isconfirmed used to avoid repaint in real time******* if ( buyEntry and strategy.opentrades==0 and barstate.isconfirmed and time_condition) strategy.entry(id= "Long" ,direction = strategy.long, comment = "B") plot(longStop , color=color.new(color.blue, 0), style=plot.style_linebr, title='long Stop') if strategy.position_size > 0 strategy.exit("long tsl", "Long" , stop = longStop , comment='S') // ═════════════════════════════════════// // ————————> SHORT POSITIONS <————————— // // ═════════════════════════════════════// if ( sellEntry and strategy.opentrades==0 and barstate.isconfirmed and time_condition) strategy.entry(id = "Short" ,direction = strategy.short, comment = "S") if strategy.position_size < 0 strategy.exit("short tsl", "Short" , stop = shortStop ,comment='B') // ════════════════════════════════════════════════// // ————————> CLOSE ALL POSITIONS BY 3PM <————————— // // ════════════════════════════════════════════════// strategy.close_all(when = hour == 14 and minute == 57)