ভারতীয় বাজার একত্রীকরণ ব্রেকআউট ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-12-15 11:59:08 অবশেষে সংশোধন করুন: 2023-12-15 11:59:08
অনুলিপি: 1 ক্লিকের সংখ্যা: 610
1
ফোকাস
1621
অনুসারী

ভারতীয় বাজার একত্রীকরণ ব্রেকআউট ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি ভারতীয় শেয়ার বাজারের জন্য কার্যকর একটি অভ্যন্তরীণ (ইন্ট্রাডে) ইন্টিগ্রেটেড ব্রেকিং নির্দেশ কৌশল। এটি সময় শর্ত, কমিশন ফি এবং স্টপ লস ট্র্যাকিংয়ের সাথে মিলিত। এই কৌশলটির সুবিধা হল লজিক্যাল স্পষ্টতা, প্যারামিটারগুলি নমনীয়ভাবে সামঞ্জস্য করা যায় এবং বাজারের পরিবর্তনের সাথে খাপ খাইয়ে নিতে পারে। তবে কিছু ঝুঁকিও রয়েছে এবং আরও অপ্টিমাইজেশন প্রয়োজন।

কৌশল নীতি

এই কৌশলটির কেন্দ্রীয় যুক্তিটি ব্রিনের ব্যান্ডের উপর ভিত্তি করে। এটি একটি সাধারণ চলমান গড় ব্যবহার করে যার দৈর্ঘ্য হল LENGTH মধ্যম অক্ষ হিসাবে, এবং উপরের এবং নীচের রেলগুলিকে MULT-এর গুণিত মানের পার্থক্য হিসাবে গণনা করা হয়। যখন বন্ধের দামটি নীচের ট্র্যাকে প্রবেশ করে তখন একটি ক্রয় সংকেত উত্পন্ন করে এবং যখন বন্ধের দামটি উপরের ট্র্যাকে প্রবেশ করে তখন একটি বিক্রয় সংকেত উত্পন্ন করে, যা Range Breakout ট্রেডিং কৌশল গঠন করে।

ঝুঁকি নিয়ন্ত্রণের জন্য এটি এটিআর সূচকের সাথে স্টপ লোন গণনা করে। ভারতীয় শেয়ার বাজারের ট্রেডিং সময় বিবেচনা করে, সমস্ত পজিশন 14:57 মিনিটে সমাপ্ত হয়।

সামর্থ্য বিশ্লেষণ

এই কৌশলটির বেশ কিছু সুবিধা রয়েছেঃ

  1. স্পষ্ট যুক্তি, প্যারামিটারগুলি সহজেই সামঞ্জস্যযোগ্য, বাজারের অবস্থার সাথে নমনীয়ভাবে মানিয়ে নিতে পারে
  2. স্টপ ও টাইম কন্ট্রোল লজিকের সমন্বয়ে ঝুঁকিকে কার্যকরভাবে নিয়ন্ত্রণ করা যায়
  3. ভারতে শেয়ারবাজারের বিশেষ লেনদেনের ব্যবস্থা বিবেচনা করে স্থানীয় পরিবেশের সাথে সামঞ্জস্যপূর্ণ
  4. মাঝারি লেনদেন করুন, অত্যধিক লেনদেন এড়িয়ে চলুন
  5. স্কেলেবল, যার উপর ভিত্তি করে অ্যালগরিদম অপ্টিমাইজ করা যায়

ঝুঁকি বিশ্লেষণ

এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ

  1. ব্রিনবেন্ডের প্যারামিটার সেটিংগুলি অভিজ্ঞতার উপর নির্ভরশীল এবং সমস্ত পরিবেশে উপযুক্ত নয়
  2. একক সূচক ভুল সংকেত তৈরি করতে পারে
  3. ATR ক্ষতির মাত্রা কার্যকরভাবে কিছু ঝুঁকি নিয়ন্ত্রণ করতে পারে
  4. প্রধান ব্ল্যাক সোয়ান ঘটনার প্রভাব বিবেচনা করা হয়নি

নিম্নলিখিত উপায়ে ঝুঁকি কমাতে পারেনঃ

  1. একাধিক সূচক সংকেত ফিল্টার করুন
  2. প্যারামিটার সেট করার নিয়ম অপ্টিমাইজ করুন
  3. বায়ুচলাচল ফাঁক বিচার সঙ্গে
  4. স্টপ লস অ্যালগরিদমকে আরও রুক্ষ করে তোলা
  5. মার্কেট সেন্টিমেন্ট ইন্ডিকেটর

অপ্টিমাইজেশান দিক

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ

  1. প্যারামিটার সেট করার নিয়মকে অপ্টিমাইজ করা হয়েছে যাতে এটি আরও অভিযোজিত হয়
  2. ভুয়া সংকেত এড়াতে একাধিক বিচারক যুক্ত করুন
  3. অপ্টিমাইজেশন এবং বর্ধিত ক্ষতি বন্ধের অ্যালগরিদমের রুক্ষতা
  4. প্রবণতা নির্ধারণের জন্য আরও বিশ্লেষণমূলক পদ্ধতি
  5. স্বয়ংক্রিয়ভাবে পজিশনের আকার সামঞ্জস্য করার কথা ভাবুন

অ্যালগরিদম এবং মডেল অপ্টিমাইজেশনের মাধ্যমে, প্যারামিটার টিউনিং এবং সিগন্যাল ফিল্টারিংয়ের ক্ষমতা বাড়ানো যেতে পারে, যা আরও বিস্তৃত বাজারের পরিবেশের সাথে খাপ খাইয়ে নিতে পারে এবং আরও বেশি ঝুঁকি নিতে পারে।

সারসংক্ষেপ

এই কৌশলটি সামগ্রিকভাবে একটি পরিষ্কার এবং সহজেই বোঝা যায় এমন এক দিনের মধ্যে বিরতি ট্রেডিং কৌশল। এটি ভারতীয় বাজারের বৈশিষ্ট্যগুলি বিবেচনা করে, ট্রেডিংয়ের ঝুঁকি নিয়ন্ত্রণ করে। এই কৌশলটির কিছু সুবিধা রয়েছে এবং অপ্টিমাইজ করার জন্য জায়গা রয়েছে। প্যারামিটার টিউনিং এবং সিগন্যাল ফিল্টারিংয়ের মতো পদ্ধতির উন্নতির মাধ্যমে এই কৌশলটি ব্যবসায়িক পরিচালনার প্রয়োজনীয়তা পূরণ করতে পারে।

কৌশল সোর্স কোড
/*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)