ডায়নামিক রেঞ্জ ব্রেকআউট কৌশল


সৃষ্টির তারিখ: 2023-11-21 15:03:19 অবশেষে সংশোধন করুন: 2023-12-01 15:00:31
অনুলিপি: 0 ক্লিকের সংখ্যা: 691
1
ফোকাস
1617
অনুসারী

ডায়নামিক রেঞ্জ ব্রেকআউট কৌশল

ওভারভিউ

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

কৌশল নীতি

সূচক গণনা

প্রথমত, বুলিন রেঞ্জের বেসলাইন এবং নিচের ট্র্যাকগুলি নিম্নতম অবস্থানের উপর ভিত্তি করেঃ

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()