
এই কৌশলটি ভারতীয় শেয়ার বাজারের জন্য কার্যকর একটি অভ্যন্তরীণ (ইন্ট্রাডে) ইন্টিগ্রেটেড ব্রেকিং নির্দেশ কৌশল। এটি সময় শর্ত, কমিশন ফি এবং স্টপ লস ট্র্যাকিংয়ের সাথে মিলিত। এই কৌশলটির সুবিধা হল লজিক্যাল স্পষ্টতা, প্যারামিটারগুলি নমনীয়ভাবে সামঞ্জস্য করা যায় এবং বাজারের পরিবর্তনের সাথে খাপ খাইয়ে নিতে পারে। তবে কিছু ঝুঁকিও রয়েছে এবং আরও অপ্টিমাইজেশন প্রয়োজন।
এই কৌশলটির কেন্দ্রীয় যুক্তিটি ব্রিনের ব্যান্ডের উপর ভিত্তি করে। এটি একটি সাধারণ চলমান গড় ব্যবহার করে যার দৈর্ঘ্য হল LENGTH মধ্যম অক্ষ হিসাবে, এবং উপরের এবং নীচের রেলগুলিকে MULT-এর গুণিত মানের পার্থক্য হিসাবে গণনা করা হয়। যখন বন্ধের দামটি নীচের ট্র্যাকে প্রবেশ করে তখন একটি ক্রয় সংকেত উত্পন্ন করে এবং যখন বন্ধের দামটি উপরের ট্র্যাকে প্রবেশ করে তখন একটি বিক্রয় সংকেত উত্পন্ন করে, যা Range Breakout ট্রেডিং কৌশল গঠন করে।
ঝুঁকি নিয়ন্ত্রণের জন্য এটি এটিআর সূচকের সাথে স্টপ লোন গণনা করে। ভারতীয় শেয়ার বাজারের ট্রেডিং সময় বিবেচনা করে, সমস্ত পজিশন 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)