
মাল্টি টাইম ফ্রেম ব্রেকিং কৌশলটি দুটি ভিন্ন টাইম ফ্রেমে দামের ব্রেকিং সংকেত ব্যবহার করে আরও নির্ভরযোগ্য লেনদেনের সংকেত তৈরি করে। এই কৌশলটি একই সাথে 1 ঘন্টা, 2 ঘন্টা, 3 ঘন্টা ইত্যাদি স্বল্প সময়ের ফ্রেমে এবং 4 ঘন্টা, দিবালোক ইত্যাদি দীর্ঘ সময়ের ফ্রেমে দামের ব্রেকিং সংকেত গণনা করে। যখন দুটি সময় ফ্রেমের সংকেত একত্রিত হয়, তখন ক্রয় বা বিক্রয় সংকেত উত্পন্ন হয় এবং সংশ্লিষ্ট দিকের লেনদেন হয়।
এই কৌশলটির মূল যুক্তিটি হ’ল দুটি পৃথক সময় ফ্রেমে দামের ব্রেকিং সিগন্যালগুলি পৃথকভাবে গণনা করা হয় এবং তারপরে একটি মিলিত ফিল্টার করা হয়। বিশেষত, কৌশলটি একটি সংক্ষিপ্ত সময় ফ্রেমে (যেমন 1 ঘন্টা লাইন) দাম নির্ধারিত স্তরটি অতিক্রম করেছে কিনা তা গণনা করে এবং একই সাথে একটি দীর্ঘ সময় ফ্রেমে (যেমন 4 ঘন্টা লাইন) দাম নির্ধারিত স্তরটি অতিক্রম করেছে কিনা তাও গণনা করে। কৌশলটি কেবল তখনই একটি ট্রেডিং সিগন্যাল তৈরি করে যখন দুটি সময় ফ্রেমের ব্রেকিং সিগন্যালের দিকটি একত্রিত হয়, অর্থাৎ যখন উভয় সময় ফ্রেমের দাম নির্ধারিত স্তর অতিক্রম করে বা নীচে চলে যায়।
ক্রয় সংকেত তৈরি করার শর্তটি হ’ল স্বল্প সময়ের ফ্রেম এবং দীর্ঘ সময়ের ফ্রেমের সর্বনিম্ন বা সর্বনিম্ন দামগুলি প্রাসঙ্গিক মূল্যের স্তরটি অতিক্রম করে। বিক্রয় সংকেত তৈরি করার শর্তটি হ’ল স্বল্প সময়ের ফ্রেম এবং দীর্ঘ সময়ের ফ্রেমের সর্বনিম্ন বা সর্বনিম্ন দামগুলি প্রাসঙ্গিক মূল্যের স্তরটি অতিক্রম করে। কৌশলটি এই জাতীয় বহু-সময় ফ্রেমের মিলনের মাধ্যমে কিছু মিথ্যা সংকেত ফিল্টার করতে পারে, যাতে সংকেতটি আরও নির্ভরযোগ্য হয়।
এই কৌশলটির সবচেয়ে বড় সুবিধা হল এর ট্রেডিং সিগন্যালের নির্ভরযোগ্যতা বেশি। উভয় টাইম ফ্রেমে দামের বিপরীত স্তরকে ভেঙে দেওয়ার জন্য অনুরোধ করে, আংশিক গোলমালকে কার্যকরভাবে মুছে ফেলা যায় এবং ভুল লেনদেন এড়ানো যায়। এছাড়াও, বিভিন্ন টাইম ফ্রেমে বিপরীত সিগন্যালগুলি একে অপরকে যাচাই করতে পারে, যার ফলে ট্রেডিংয়ের সুযোগ আরও কার্যকর হয়। এছাড়াও, কৌশলটি কিছুটা নমনীয়তা সরবরাহ করে, যা দুটি সমন্বিত সময় ফ্রেম এবং ডেটা উত্স ব্যবহারের অনুমতি দেয়, ব্যবহারকারীরা তাদের প্রয়োজন অনুসারে সামঞ্জস্য করতে পারে।
এই কৌশলটির প্রধান ঝুঁকিটি হ’ল, যখন বাজার শান্ত থাকে, তখন উভয় সময় ফ্রেমের দামের মধ্যে কোনও বিঘ্ন ঘটতে পারে না। এই সময়ে, কৌশলটি কোনও ট্রেডিং সিগন্যাল উত্পন্ন করবে না এবং ব্যবসায়ের সুযোগটি মিস করতে পারে। এছাড়াও, দুটি সময় ফ্রেমের মধ্যে একটি নির্দিষ্ট সময়সীমা রয়েছে, যা সংকেতের অকার্যকারিতা হতে পারে। এছাড়াও, কৌশলটি কোনও স্টপ লজিক সেট করেনি, বড় ঝুঁকি রয়েছে।
এই কৌশলটি নিম্নলিখিত কয়েকটি দিক থেকে অপ্টিমাইজ করা যেতে পারেঃ ১) ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লজিক যুক্ত করা; ২) সময় ফ্রেমের সমন্বয়কে অপ্টিমাইজ করা, ট্রেডিং দক্ষতা বাড়ানো; ৩) আরও সময় ফ্রেম যুক্ত করা, ট্রেডিং সিগন্যালকে আরও কঠোর করা; ৪) অন্যান্য সূচকগুলির সাথে মিলিয়ে ফিল্টার করা, সংকেতের গুণমান উন্নত করা; ৫) প্রাপ্তি নিয়ন্ত্রণের জন্য এক্সটিং প্রক্রিয়া বিকাশ করা ইত্যাদি।
মাল্টি টাইম ফ্রেম ব্রেকআউট কৌশলটি দুটি টাইম ফ্রেমে দামের ব্রেকআউটগুলির তুলনা করে সংকেতের গুণমান উন্নত করে। এটি একটি নির্ভরযোগ্য প্রবণতা অনুসরণকারী কৌশল। তবে এর কিছু ত্রুটি রয়েছে যা ক্রমাগত অপ্টিমাইজেশনের মাধ্যমে এটি একটি স্থিতিশীল নির্ভরযোগ্য পরিমাণগত ট্রেডিং কৌশল হিসাবে তৈরি করতে পারে।
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Noro's Levels Strategy v1.1", shorttitle = "Levels str 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf1 = input('W', title = "timeframe 1")
tf2 = input('D', title = "timeframe 2")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "use saw filter")
cf = input(true, defval = true, title = "гыу color filter")
showlines = input(true, defval = true, title = "Show lines")
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")
//Levels
level1 = request.security(syminfo.tickerid, tf1, src)
level2 = request.security(syminfo.tickerid, tf2, src)
col = showlines ? silver : na
p1 = plot(level1, linewidth = 3, color = col, title = "Level 1")
p2 = plot(level2, linewidth = 3, color = col, title = "Level 2")
//Signals
up1 = close > level1 and ap == false ? true : low > level1 ? true : false
dn1 = close < level1 and ap == false ? true : high < level1 ? true : false
up2 = close > level2 and ap == false ? true : low > level2 ? true : false
dn2 = close < level2 and ap == false ? true : high < level2 ? true : false
//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if up1 and up2 and (close < open or cf == false)
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn1 and dn2 and (close > open or cf == false)
strategy.entry("Short", strategy.short, needshort == false ? 0 : 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)
strategy.close_all()