
এই কৌশলটি চারটি ফ্যাক্টর গতিশীলতা ট্র্যাকিং কৌশল নামে পরিচিত। এই কৌশলটি ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য গড় দিকের গতিশীলতা সূচক ((ADX) ব্যবহার করে, ব্রিনের শতাংশের বি-ব্যান্ড ((BB %B) শেয়ারের তুলনামূলকভাবে দুর্বলতা নির্ধারণের জন্য, ম্যাজিক্যাল ইভ্যালিটি ((AO) গতিশীলতা এবং বিভিন্ন চক্রের সূচকীয় চলমান গড় ((EMA) বহুমুখীতা নির্ধারণের জন্য, শেয়ারের দামের গতিশীলতা ট্র্যাক করার জন্য, শক্তিশালী শেয়ারের সন্ধান করা, দুর্বল শেয়ারের প্রভাব এড়ানো।
এই কৌশলটি চারটি ভিন্ন প্রযুক্তিগত সূচক ব্যবহার করে কেনা এবং বিক্রি করার সময় নির্ধারণ করে। এই সিদ্ধান্তের লজিক নিম্নরূপঃ
একাধিক প্রবেশের শর্তঃ 5 দিনের ইএমএ 21 দিনের ইএমএ, 50 দিনের ইএমএ 200 দিনের ইএমএ, বিবি % বি সেট ওভারবাইট লাইনের চেয়ে বড়, এও সেট ধনাত্মক মানের চেয়ে বড়, এডিএক্স সেট মানের চেয়ে বড়।
খালি মাথা প্রবেশের শর্তঃ 5 দিনের ইএমএ 21 দিনের ইএমএ, 50 দিনের ইএমএ 200 দিনের ইএমএ, বিবি % বি সেট ওভারসোল্ড লাইনের চেয়ে কম, এও সেট নেগেটিভের চেয়ে কম, এডিএক্স সেট মানের চেয়ে বড়।
কৌশলগত শক্তি বিশ্লেষণ
এই কৌশলটি প্রবণতার দিকনির্দেশনা এবং স্টকগুলির তুলনামূলক শক্তি নির্ণয়ের জন্য একাধিক সূচককে সংহত করে, যা জাল ব্রেকআপগুলিকে কার্যকরভাবে ফিল্টার করতে পারে। এর সুবিধাগুলি নিম্নরূপঃ
ADX সূচকটি প্রবণতার উপস্থিতি এবং প্রবণতার তীব্রতা সম্পর্কে কার্যকরভাবে বিচার করতে পারে, যা অস্থির বাজারে ঘন ঘন পজিশন খোলার এড়াতে পারে;
BB %B সূচকটি শেয়ারের উচ্চ বা নিম্ন স্তরে রয়েছে কিনা তা নির্ধারণ করে এবং উচ্চ বা নিম্ন স্তরে অনুসরণ করা এড়াতে পারে;
এও সূচকটি ক্রয়ের সময় শক্তিশালী গতিশীলতা সমর্থন রয়েছে কিনা তা নির্ধারণ করে, যা একটি বিরতির কার্যকারিতা নিশ্চিত করে;
EMA সূচকের গোল্ডেন ফর্ক/ডেড ফর্কের সংমিশ্রণ বাজারের মূলধারার দিকনির্দেশনা নির্ধারণ করে এবং বিপরীতমুখী অবস্থান থেকে রক্ষা করে।
একসাথে, এই কৌশলটি কার্যকরভাবে লেনদেনের ঝুঁকি নিয়ন্ত্রণ করতে এবং বাজারে শক্তিশালী ব্যক্তিদের অনুসরণ করতে পারে।
যদিও এই কৌশলটি বিভিন্ন সূচক ব্যবহার করে ঝুঁকি নিয়ন্ত্রণ করে, তবুও কিছু ঝুঁকি রয়েছেঃ
একাধিক সূচকীয় সূচক সমন্বয় ব্যবহার করা হয়, প্যারামিটার সমন্বয় সংবেদনশীল, এবং অনুপযুক্ত প্যারামিটার সমন্বয় কার্যকরভাবে কার্যকর হতে পারে না।
গতিশীলতার জন্য অত্যধিক চেষ্টা করা বাজারটির আসল বিপরীত দিকটি মিস করতে পারে। যথাযথভাবে হোল্ডিং চক্র নিয়ন্ত্রণ করা উচিত, সময়মতো স্টপ লস বন্ধ করা উচিত।
ইএমএর মতো সূচকগুলি পিছিয়ে রয়েছে এবং হঠাৎ ঘটনার প্রভাবকে সময়মতো প্রতিফলিত করতে পারে না। অন্যান্য সূচকগুলির সাথে যথাযথভাবে সমন্বয় করা উচিত বা এমএ চক্রটি যথাযথভাবে সংক্ষিপ্ত করা উচিত।
হঠাৎ বড় ঘটনা সূচক ছড়িয়ে দিতে পারে, মৌলিক বিশ্লেষণের সাথে মিলিত হওয়া উচিত এবং প্রয়োজন হলে কৌশলটি সাময়িকভাবে বন্ধ করা যেতে পারে।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকেও উন্নত করা যেতে পারেঃ
মেশিন লার্নিং এবং অন্যান্য পদ্ধতি ব্যবহার করে সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করা।
CCI, MACD ইত্যাদির মতো অন্যান্য বিচার প্রবণতা সূচকগুলি যোগ করুন, যা ক্যালসিয়াম সূচক প্যাকেজ তৈরি করে, যা বিচার সঠিকতা উন্নত করে।
স্টপ লস স্ট্র্যাটেজিতে যোগদান করুন এবং একক ক্ষতি নিয়ন্ত্রণ করুন।
আপনি যদি আপনার প্যাকেজটি ধরে রাখতে চান, তবে আপনার প্যাকেজটি ধরে রাখার সময় নির্ধারণ করুন এবং অতিরিক্ত লোভ এড়ান।
এই কৌশলটির নাম চার-ফ্যাক্টর গতিশীলতা ট্র্যাকিং কৌশল, যা ADX, BB % B, AO এবং EMA এর চারটি সূচক ব্যবহার করে ক্রয়-বিক্রয়ের সময় নির্ধারণ করে, শক্তিশালী শেয়ারের গতিশীলতা অনুসরণ করে। এই কৌশলটি ট্রেন্ডের দিকনির্দেশ এবং শেয়ারের তুলনামূলক শক্তিকে কার্যকরভাবে নির্ধারণ করতে পারে, লেনদেনের ঝুঁকি নিয়ন্ত্রণ করে। পরবর্তী পদক্ষেপটি প্যারামিটার অপ্টিমাইজেশন, অন্যান্য সূচক যুক্ত করা এবং পজিশন সময় নির্ধারণের মাধ্যমে এই কৌশলটি আরও উন্নত করতে পারে।
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//ADX + BB %B + AO + EMA
strategy("ADX + BB %B + AO + EMA", overlay=true, initial_capital=10000)
take_profit_perc = input(title="Take Profit %", type=input.integer, defval=10, minval=1, maxval=100)
stop_loss_perc = input(title="Stop Loss %", type=input.integer, defval=5, minval=1, maxval=100)
bb_overbought = input(title="BB %B Overbought", type=input.integer, defval=75, minval=1, maxval=100)
bb_oversold = input(title="BB %B Oversold", type=input.integer, defval=25, minval=1, maxval=100)
ao_value = input(title="Awesome Oscillator", type=input.integer, defval=2)
adx_value = input(title="ADX", type=input.integer, defval=15)
startDate = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer, defval=2018, minval=2008, maxval=2200)
inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0))
ema5 = ema(close, 5)
ema21 = ema(close, 21)
ema50 = ema(close, 50)
ema200 = ema(close, 200)
//BB %B
length = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
//Awesome Oscillator
ao = sma(hl2,5) - sma(hl2,34)
// ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
up = change(high)
down = -change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
truerange = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / truerange)
minus = fixnan(100 * rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
long_strategy = ema5>ema21 and ema50>ema200 and bbr>(bb_overbought/100) and ao>ao_value and sig>adx_value
short_strategy = ema5<ema21 and ema50<ema200 and bbr<(bb_oversold/100) and ao<-ao_value and sig>adx_value
plot(ema5, color=color.blue)
plot(ema21, color=color.aqua)
plot(ema50, color=color.purple)
plot(ema200, color=color.red)
bgcolor(color=long_strategy ? color.green : na, transp=80)
bgcolor(color=short_strategy ? color.purple : na, transp=80)
if inDateRange and long_strategy
strategy.entry("long", strategy.long)
strategy.exit("exit", "long", stop=close*(100-stop_loss_perc)/100, limit=close*(100+take_profit_perc)/100)
if inDateRange and short_strategy
strategy.entry("short", strategy.short)
strategy.exit("exit", "short", stop=close*(100+stop_loss_perc)/100, limit=close*(100-take_profit_perc)/100)