
এই কৌশলটি প্রথমে ভলিউম ফাইন্ডিং ইন্ডিকেটর (VFI) এবং মুভিং এভারেজ (MVA) এর সাথে মিলিত হয়ে প্রবণতা নির্ণয় করে, এবং তারপর ব্রিন ব্যান্ড ইন্ডিকেটর (BRI) এর সাথে মিলিত হয়ে বিপরীত ঘটনা নির্ণয় করে, যা প্রবণতা ট্রেডিং এবং অস্থিরতার ট্রেডিংয়ের একটি জৈবিক সমন্বয় করে।
এই কৌশলটি নিম্নলিখিত অংশগুলি নিয়ে গঠিতঃ
ভিএফআই সূচক ট্রেন্ডিংয়ের বিচার করে। দামের প্রবণতা নির্ধারণের জন্য প্রচলিত দামের জোড় পরিবর্তন হার এবং লেনদেনের পরিমাণের পরিবর্তনের সাথে মিলিত হয়।
ইএমএ পার্থক্য নির্দেশক ট্রেন্ড নির্ধারণ করুন। 20 তম লাইন এবং 50 তম লাইনের পার্থক্যের অনুপাত গণনা করুন, মধ্যম-দীর্ঘ লাইনের প্রবণতা দিক নির্ধারণ করুন।
বুলিন ব্যান্ডের সূচকটি বিপরীত দিকের দিকে চলে যায়। বুলিন ব্যান্ডের মধ্যম ট্র্যাকটি 20 দিনের সরল চলমান গড়, ব্যান্ডউইডথটি মধ্যম ট্র্যাকের 1.5 গুণ স্ট্যান্ডার্ড পার্থক্য। দামগুলি যখন ট্রেনে উঠে যায় তখন ট্রেডিং সংকেত দেওয়া হয়।
ভিএফআই সূচকটি বিপরীত হওয়ার সম্ভাবনা বেশি বলে মনে করা হয় যখন ভিএফআই মানটি উপরের এবং নীচের সীমার কাছাকাছি থাকে (০.২০) ।
ট্রেডিং সময়সীমার শর্ত পূরণ করার জন্য, যখন দামটি বুলিন বন্ডের ট্র্যাক থেকে বেরিয়ে আসে এবং ভিএফআই, ইএমএ ডিফারেনশিয়াল ইন্ডিকেটর একই দিকে বাজি ধরে থাকে, তখন অতিরিক্ত করুন; যখন দামটি বুলিন বন্ডের ট্র্যাক থেকে বেরিয়ে আসে বা ভিএফআই একটি নির্দিষ্ট স্তরে পৌঁছে যায়, তখন প্লেইন করুন।
ভিএফআই সূচকের প্রবর্তন, পরিমাণ-মূল্য সম্পর্কের মিলকে আরও যুক্তিসঙ্গত করে তোলে, দামের অন্ধ অনুসরণ এড়াতে।
ইএমএ এবং ভিএফআই এর মধ্যে পার্থক্যের বিচার প্রবণতা বিচারকে আরও স্থিতিশীল এবং নির্ভরযোগ্য করে তোলে।
বুলিন বন্ডের সাথে VFI সূচকটির বিপরীত বিচারের সংমিশ্রণ, এই কৌশলটি বাজারের দ্বি-দিকের ওঠানামার জন্য আরও উপযুক্ত করে তোলে।
এই সূচকগুলোতে ভুয়া ব্রেকআপের ঝুঁকি সম্পূর্ণরূপে এড়ানো যায় না।
EMA-এর পার্থক্যের একটি নির্দিষ্ট বিলম্ব রয়েছে, যা স্বল্পমেয়াদী ঘুরিয়ে দেওয়ার সময়মত প্রতিক্রিয়া জানাতে পারে না।
ভুলভাবে ব্রিন-ব্যান্ড প্যারামিটার সেট করা ট্রেডিং ফ্রিকোয়েন্সি বা ক্যাপচারড মার্কেটের ঝুঁকি সৃষ্টি করতে পারে।
ঝুঁকি মোকাবেলার উপায়ঃ
একক সূচকের উপর নির্ভরশীলতা এড়ানোর জন্য আরও সূচকের সাথে বিচার প্রবণতা একত্রিত করুন।
ইএমএ প্যারামিটারগুলি খুব বড় বা খুব ছোট হওয়া উচিত নয়, প্যারামিটারগুলি যথাযথভাবে সামঞ্জস্য করুন।
বিভিন্ন বাজার পরিস্থিতিতে কৌশলগত প্রভাবের জন্য বুলিন-ব্যান্ড প্যারামিটার পরিবর্তনের পরীক্ষা করা।
ভিএফআই প্যারামিটারগুলিকে আরও সংবেদনশীল করার জন্য অপ্টিমাইজ করা চালিয়ে যান।
মূল্য চ্যানেল বা এনভেলপস সূচকের উপর ভিত্তি করে ব্রেকথ্রু বিচার যোগ করুন।
ওবিভি, পিভিটি ইত্যাদির মতো আরও পরিমাপ মূল্যের সূচক প্রবর্তনের পরীক্ষা করুন।
মেশিন লার্নিং এবং এআই প্রযুক্তি প্রবর্তন করে, যা প্যারামিটারগুলির গতিশীল অপ্টিমাইজেশানকে সম্ভব করে।
এই কৌশলটি প্রবণতা বিচার এবং বিপরীত বিচার বিবেচনা করে, ভিএফআই, ইএমএ ডিফারেনশিয়াল এবং ব্রিন ব্যান্ডের সূচক ব্যবহার করে, বাজারের দ্বি-দিকের ওঠানামা ক্যাপচার করে। পরবর্তী ধাপে প্যারামিটার সেটিংটি অপ্টিমাইজ করা, বিচার ভিত্তিতে সমৃদ্ধ করা, প্রয়োগের পরিধি প্রসারিত করা এবং কৌশলটির স্থিতিশীল লাভজনকতা বাড়ানো অব্যাহত থাকবে।
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © beststockalert
//@version=4
strategy(title="Super Bollinger Band Breakout", shorttitle = "Super BB-BO", overlay=true)
source = close
length = input(130, title="VFI length")
coef = input(0.2)
vcoef = input(2.5, title="Max. vol. cutoff")
signalLength=input(5)
// session
pre = input( type=input.session, defval="0400-0935")
trade_session = input( type=input.session, defval="0945-1700")
use_trade_session = true
isinsession = use_trade_session ? not na(time('1', trade_session)) : true
is_newbar(sess) =>
t = time("D", sess)
not na(t) and (na(t[1]) or t > t[1])
is_session(sess) =>
not na(time(timeframe.period, sess))
preNew = is_newbar(pre)
preSession = is_session(pre)
float preLow = na
preLow := preSession ? preNew ? low : min(preLow[1], low) : preLow[1]
float preHigh = na
preHigh := preSession ? preNew ? high : max(preHigh[1], high) : preHigh[1]
// vfi 9lazybear
ma(x,y) => 0 ? sma(x,y) : x
typical=hlc3
inter = log( typical ) - log( typical[1] )
vinter = stdev(inter, 30 )
cutoff = coef * vinter * close
vave = sma( volume, length )[1]
vmax = vave * vcoef
vc = iff(volume < vmax, volume, vmax) //min( volume, vmax )
mf = typical - typical[1]
vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) )
vfi = ma(sum( vcp , length )/vave, 3)
vfima=ema( vfi, signalLength )
//ema diff
ema20 = ema(close,20)
ema50 = ema(close,50)
diff = (ema20-ema50)*100/ema20
ediff = ema(diff,20)
//
basis = sma(source, 20)
dev = 1.5 * stdev(source, 20)
upper = basis + dev
lower = basis - dev
ema9 = ema(source, 9)
if ( ((crossover(source, upper) and diff>ediff and diff>0) or (close>upper and (vfi >0 or vfima>0 or ediff>0.05) and (vfi<14 or vfima<14)) ))
strategy.entry("Long", strategy.long)
if (crossunder(source, lower) or vfi>19 or vfima>19 or diff<(ediff+0.01) )
strategy.close("Long")