
এই কৌশলটি একটি গতিশীল ব্রেক-ইন ট্রেডিং কৌশল তৈরি করেছে যা ব্রিনের বন্ডের উপর ভিত্তি করে। এটি ব্রেক-ইন এন্ট্রি সুযোগের জন্য ব্রিনের বন্ডের নীচের রেলের কাছাকাছি অনুসন্ধান করার জন্য কে-লাইন এন্ট্রি ফিল্টার এবং রঙিন ফিল্টারিংয়ের সাথে মিলিত হয়েছে। এক্সট এন্ট্রি ফিল্টারিংয়ের উপর ভিত্তি করে। এই কৌশলটি স্বয়ংক্রিয়ভাবে পজিশনের সংখ্যা এবং ঝুঁকি পরিচালনা করে।
প্রথমত, বুলিন রেঞ্জের বেসলাইন এবং নিচের ট্র্যাকগুলি নিম্নতম অবস্থানের উপর ভিত্তি করেঃ
src = low
basis = sma(src, length)
dev = mult * stdev(src, length)
lower = basis - dev
যেখানে src হল নিম্ন বিন্দু, length হল গণনা চক্র, basis হল গড়রেখা, dev হল স্ট্যান্ডার্ড ডিভিয়েশন, lower হল নিম্নরেখা।
সাধারণ mult সেট করা হয় ২, যার মানে হল যে নিচের ট্র্যাকটি একটি স্ট্যান্ডার্ড ডিফারেনশিয়াল।
নীতিমালায় দুটি ফিল্টারিং শর্ত যুক্ত করা হয়েছেঃ
K-লাইন সত্তা ফিল্টার nbody এবং তার গড় মান abody ব্যবহার করে, শুধুমাত্র যখন nbody abody এর অর্ধেকের চেয়ে বড় হয় তখন ট্রেডিং সিগন্যাল তৈরি হয়।
রঙিন ফিল্টার K-লাইন বন্ধ হলে (closed > open) আর বেশি কিছু করা হবে না। এটি hbox হেড এড়ানোর জন্য একটি ভুয়া ব্রেকআপ।
নিম্নলিখিত শর্ত পূরণ হলে একটি মাল্টিসিগন্যাল তৈরি হয়ঃ
low < lower // 价格突破下轨
close < open or usecol == false // 色彩过滤
nbody > abody / 2 or usebod == false // 实体过滤
যখন সত্তার আকার আবার অর্ধেক গড়ের চেয়ে বড় হয়, তখন সমতল অবস্থান তৈরি হয়ঃ
close > open and nbody > abody / 2
কৌশলগুলি স্বয়ংক্রিয়ভাবে ট্রেডের সংখ্যা গণনা করে এবং সূচক বৃদ্ধি করেঃ
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
যোগদানের তারিখ, মাস এবং বছর, শুধুমাত্র নির্দিষ্ট তারিখের মধ্যে ট্রেড করার জন্য সীমাবদ্ধঃ
when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))
বুলিনের নিচের ট্র্যাকটি একটি গতিশীল সমর্থন অঞ্চল যা বাজারের প্রবণতা থেকে পুনরুজ্জীবিত হওয়ার সুযোগকে ক্যাপচার করতে পারে।
K-লাইন এন্টিটি এবং রঙের বিচারকে একত্রিত করে, একটি কার্যকর ফিল্টারিং ছদ্মবেশে প্রবেশ করে।
পজিশনের সূচক বৃদ্ধি 100%, স্বয়ংক্রিয়ভাবে ঝুঁকি পরিচালনা।
তারিখের পরিসীমা নির্ধারণ করে নির্দিষ্ট সময়ে বাজার ওঠানামা হ্রাসের ঝুঁকি কমিয়ে দেয়।
যখন বাজার দীর্ঘমেয়াদী ষাঁড়ের বাজারে থাকে, তখন বুলিন বন্ডের মাঝারি এবং উপরের রেলগুলি দ্রুত গতিতে সরে যায়, যার ফলে স্টক খালি করার সময়টি দীর্ঘ হয়।
প্রবণতা সূচকগুলির সাথে একত্রিত করে, মধ্যম এবং দীর্ঘ লাইনগুলি যখন ষাঁড়ের বাজার হিসাবে বিবেচিত হয় তখন কৌশলটি স্থগিত করা যায়, খালি অবস্থানের দীর্ঘায়িত হওয়া এড়ানো যায়।
নিচের রেলের বিপর্যয়ের পরে পুনঃনির্ধারণ এবং পুনরায় নিচের রেলের পরীক্ষা করা যেতে পারে।
স্টপ লাইন যোগ করুন, সমর্থন নীচে একটি নির্দিষ্ট অনুপাত স্টপ অথবা পুনরায় চেষ্টা ব্যর্থতা বিচার লজিক যোগ করুন, দ্রুত স্টপ
রিটার্ন ডেটার উপর ভিত্তি করে, যুক্তিসঙ্গত সমর্থন নীচে স্টপ লস অবস্থান সেট করুন।
বস্তুর ফিল্টারের জন্য abody চক্রের সমন্বয়, COLOR ফিল্টারের ব্যবহার ইত্যাদি। সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করুন।
মধ্যম ও দীর্ঘ লাইন ট্রেন্ডের বিচার বাড়ান, যখন এটি একটি ষাঁড়ের বাজার হিসাবে বিবেচিত হয় তখন কৌশলটি বন্ধ করুন। খালি অবস্থানের সময় হ্রাস করুন।
এই কৌশলটি ব্রিন-ব্যান্ড সমর্থিত, একটি উচ্চ-সম্ভাব্যতা রিবাউন্ডের সুযোগ খুঁজতে একটি সত্তা ফিল্টার, রঙিন ফিল্টার এবং বিরতি-বিক্রয় কৌশলগত লজিক ডিজাইন করেছে। বাস্তবায়নের ক্ষেত্রে, রিটার্নের ফলাফলের উপর ভিত্তি করে প্যারামিটারগুলি ক্রমাগত অনুকূলিতকরণ করা যেতে পারে এবং ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস এবং প্রবণতা বিচার মডিউল যুক্ত করা যেতে পারে, যার ফলে ভাল পারফরম্যান্স পাওয়া যায়।
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Wizard Strategy v1.0", shorttitle = "Wizard str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)
//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
length = input(25, defval = 25, minval = 1, maxval = 200, title = "BB Period")
usebod = input(false, defval = false, title = "Use Body-Filter")
usecol = input(false, defval = false, title = "Use Color-Filter")
showar = input(false, defval = false, title = "Show Arrows")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Bollinger
src = low
mult = 2
basis = sma(src, length)
dev = mult * stdev(src, length)
lower = basis - dev
plot(lower, color = lime, linewidth = 3, title="Bottom Line")
//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 2 or usebod == false
//Signals
up1 = low < lower and (close < open or usecol == false) and body
exit = close > open and nbody > abody / 2
//Arrows
needar = up1 and showar
plotarrow(needar ? 1 : na)
//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up1
if strategy.position_size < 0
strategy.close_all()
strategy.entry("Long", strategy.long, lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
strategy.close_all()