
ডাবল হুল মুভিং এভারেজ ক্রস মুভিং কোয়ান্টিফিকেশন কৌশল হুল মুভিং এভারেজ (Hull Moving Average, HMA) এর উপর ভিত্তি করে একটি ট্রেন্ড ট্র্যাকিং সিস্টেম। এই কৌশলটি স্ট্যান্ডার্ড এইচএমএ এবং সমতল সংস্করণ এইচএমএ (HMA) এর মধ্যে সম্পর্ককে ব্যবহার করে বাজারের প্রবণতা পরিবর্তনকে সনাক্ত করতে এবং একটি ষাঁড়ের বাজারের অবস্থার অধীনে একটি উচ্চ সম্ভাব্যতার ধারাবাহিকতা এবং বিপরীত উত্পন্ন করে। এই দুটি ভিন্ন সমতলতার চলমান গড়ের তুলনা করে, এই কৌশলটি কার্যকরভাবে বাজারের শব্দকে হ্রাস করতে সক্ষম হয়, যখন দামের পরিমাণের পরিবর্তনের সংবেদনশীলতা বজায় রাখে। সিস্টেমটি ক্রস লজিকের মাধ্যমে একটি সুস্পষ্ট পলিফোর সংকেত তৈরি করে এবং ট্রেডিংভিউ কৌশল ইঞ্জিন ব্যবহার করে স্বয়ংক্রিয় ট্রেডিং সিদ্ধান্ত গ্রহণ করে।
এই কৌশলটির মূল নীতিটি হল দুটি ভিন্ন গণনা পদ্ধতির হেরের চলমান গড়ের মধ্যে আপেক্ষিক অবস্থান এবং তাদের ক্রস-অবস্থা। নিম্নলিখিত বাস্তবায়নগুলিঃ
স্ট্যান্ডার্ড এইচএমএ ((পরিবর্তক a): উইলিয়াম হুলের তৈরি একটি আদিম অ্যালগরিদম ব্যবহার করে, যা তিন ধাপের গণনা পদ্ধতির মাধ্যমে আরও সংবেদনশীল চলমান গড় অর্জন করেঃ
মসৃণ HMA3 ((variable b): আরো জটিল মসৃণকরণ অ্যালগরিদম ব্যবহার করে, একাধিক WMA সমন্বয় দ্বারা বাস্তবায়িতঃ
সিগন্যাল জেনারেশন লজিকঃ
নীতি বাস্তবায়নের লজিকঃ
কৌশলটিতে ভিজ্যুয়ালাইজেশন উপাদানও রয়েছে, যেমন চলমান গড় যা প্রবণতার দিকনির্দেশের সাথে পরিবর্তিত হয় এবং একটি স্পষ্ট ক্রয়-বিক্রয় সংকেত চিহ্নিত করে, যা ব্যবসায়ীদের বাজারের অবস্থাকে স্বজ্ঞাতভাবে বুঝতে সহায়তা করে।
বাজারের শব্দ কমানোঃ ডাবল এইচএমএ সিস্টেমগুলি কার্যকরভাবে স্বল্পমেয়াদী মূল্যের ওঠানামা ফিল্টার করে, মিথ্যা সংকেত হ্রাস করে এবং সত্যিকারের প্রবণতা পরিবর্তনের জন্য সংবেদনশীলতা বজায় রাখে। স্ট্যান্ডার্ড এইচএমএ নিজেই প্রচলিত মুভিং এভারেজের চেয়ে বেশি সংবেদনশীল, এবং সমতল সংস্করণ এইচএমএর সাথে সংযুক্ত হওয়ার ফলে সংকেতের গুণমান আরও উন্নত হয়।
প্রবণতা প্রাথমিক সনাক্তকরণঃ হেরের চলমান গড় অ্যালগরিদমের বৈশিষ্ট্যগুলির কারণে, এই কৌশলটি প্রচলিত চলমান গড়ের তুলনায় প্রবণতার পরিবর্তনগুলিকে প্রাথমিকভাবে সনাক্ত করতে পারে, যার ফলে একটি ভাল প্রবেশের সময় সরবরাহ করা যায়।
স্পষ্ট ভিজ্যুয়াল ফিডব্যাকঃ কৌশলটি স্বজ্ঞাত রঙের কোডিং (বোর বাজার সবুজ, ভালুক বাজার লাল) এবং ক্রয়-বিক্রয় সংকেত চিহ্নিত করে যাতে ব্যবসায়ীরা দ্রুত বাজারের অবস্থা মূল্যায়ন করতে পারে।
সম্পূর্ণ লেনদেনের ব্যবস্থাঃ কৌশলটি কেবল সংকেত সরবরাহ করে না, তবে সম্পূর্ণ পজিশন ম্যানেজমেন্ট লজিক অন্তর্ভুক্ত করে, স্বয়ংক্রিয়ভাবে পজিশনগুলি পরিচালনা করে, এবং সত্যিকারের স্বয়ংক্রিয় লেনদেনের জন্য।
নমনীয় প্যারামিটার কনফিগারেশনঃ ব্যবহারকারীরা বিভিন্ন ট্রেডিং শৈলী এবং বাজারের পরিবেশের সাথে খাপ খাইয়ে নেওয়ার জন্য ব্যক্তিগত পছন্দ এবং বাজারের বৈশিষ্ট্যের উপর ভিত্তি করে এইচএমএর দৈর্ঘ্য এবং মূল্য উত্সগুলিকে সামঞ্জস্য করতে পারেন।
গণনা দক্ষতাঃ জটিল মাল্টি-পরিমাণ সিস্টেমের তুলনায়, এই কৌশলটি তুলনামূলকভাবে সহজ গাণিতিক গণনা ব্যবহার করে, অত্যধিক মিলের ঝুঁকি হ্রাস করে এবং কার্যকর কার্যকারিতা বজায় রাখে।
অস্থির বাজারগুলির জন্য মিথ্যা সংকেতঃ যদিও ডাবল এইচএমএ সিস্টেমটি গোলমাল হ্রাস করে, তবে কোনও স্পষ্ট প্রবণতা ছাড়াই ক্রস-বাজার বাজারে ঘন ঘন ক্রস-সিগন্যাল তৈরি হতে পারে, যার ফলে ধারাবাহিকভাবে ক্ষতিগ্রস্থ লেনদেন হয়। অতিরিক্ত ফিল্টারিং শর্ত যেমন ওঠানামা বা প্রবণতা শক্তির নিশ্চিতকরণ যুক্ত করার বিষয়টি বিবেচনা করা যেতে পারে।
পিছিয়ে পড়ার সমস্যাঃ যদিও HMA প্রচলিত মুভিং এভারেজের চেয়ে কম পিছিয়ে থাকে, তবে মুভিং এভারেজের উপর ভিত্তি করে যে কোনও সিস্টেমে কিছু পিছিয়ে পড়ার সমস্যা রয়েছে, যার ফলে মারাত্মকভাবে অস্থির বাজারে সেরা প্রবেশের পয়েন্ট বা প্রস্থান পয়েন্ট মিস হতে পারে।
প্যারামিটার সংবেদনশীলতা: কৌশলগত কর্মক্ষমতা অত্যন্ত নির্বাচিত এইচএমএ দৈর্ঘ্যের প্যারামিটারগুলির উপর নির্ভরশীল, বিভিন্ন বাজার এবং সময় ফ্রেমগুলির জন্য বিভিন্ন সর্বোত্তম প্যারামিটার প্রয়োজন হতে পারে। নির্দিষ্ট বাজার পরিবেশে সর্বোত্তম প্যারামিটারগুলি নির্ধারণের জন্য একটি বিস্তৃত পুনঃনির্মাণের পরামর্শ দেওয়া হয়।
স্টপ মেশিনের অভাবঃ বর্তমান কৌশলগুলি কোনও সমন্বিত স্টপ ফাংশন বাস্তবায়নের জন্য নয়, যা প্রবণতা হঠাৎ বিপরীত হওয়ার ক্ষেত্রে ব্যাপক প্রত্যাহারের কারণ হতে পারে। এটিআর-ভিত্তিক স্টপ বা টাইম স্টপ হিসাবে স্টপ শর্তগুলি যুক্ত করার বিষয়টি বিবেচনা করা উচিত।
একক সূচকের উপর নির্ভরশীলতাঃ কৌশলটি কেবলমাত্র এইচএমএ সূচকের উপর নির্ভর করে, মাল্টি-ডাইমেনশনাল বাজার বিশ্লেষণের অভাব রয়েছে এবং নির্দিষ্ট বাজার অবস্থার অধীনে দুর্বল হতে পারে। কৌশলটির স্থায়িত্ব বাড়ানোর জন্য গতিশীলতা সূচক বা ওঠানামা সূচকের মতো অন্যান্য ধরণের সূচকগুলির সাথে সংমিশ্রণ বিবেচনা করুন।
প্রবণতা ফিল্টার যুক্ত করুনঃ অতিরিক্ত প্রবণতা নিশ্চিতকরণ সূচক যেমন ADX ((অর্ধ-দিকনির্দেশ সূচক) প্রবর্তন করুন, শুধুমাত্র যখন একটি শক্তিশালী প্রবণতা নিশ্চিত হয় তখনই লেনদেন সম্পাদন করুন, এবং ক্রস মার্কেটের ঘন ঘন লেনদেন এড়িয়ে চলুন। বাস্তবায়নের উপায়টি হ’লঃ কেবলমাত্র যখন ADX মানটি কোনও থ্রেশহোল্ডের চেয়ে বড় হয় (যেমন 25) তখনই এইচএমএ ক্রস সিগন্যাল বিবেচনা করা হয়।
ইন্টিগ্রেটেড ওভারল্যাপ রেট অ্যাডাপ্টমেন্ট মেকানিজমঃ বাজারের ওভারল্যাপ রেট গতিশীলতার উপর ভিত্তি করে এইচএমএ প্যারামিটারগুলিকে সামঞ্জস্য করে, উচ্চ ওভারল্যাপ রেট পরিবেশে দীর্ঘতর সময়কাল ব্যবহার করে এবং নিম্ন ওভারল্যাপ রেট পরিবেশে সংক্ষিপ্ত সময়কাল ব্যবহার করে। এটি এটিআর (আসল ওভারল্যাপের গড় মান) গণনা করে এবং এইচএমএ দৈর্ঘ্যের প্যারামিটারগুলিতে ম্যাপ করে এটি অর্জন করা যায়।
স্মার্ট স্টপ মেকানিজম বাস্তবায়নঃ এটিআর-ভিত্তিক স্টপ যোগ করুন, অথবা মোবাইল স্টপ ব্যবহার করুন, যেমন HMA এর বিপরীত মোবাইল সেট স্টপ ট্র্যাকিং, ইতিমধ্যে লাভজনক মুনাফা রক্ষা করুন এবং সম্ভাব্য ক্ষতি সীমাবদ্ধ করুন।
ট্রেডিং ভলিউম নিশ্চিতকরণঃ ট্রেডিং ভলিউম সূচকগুলি সংকেত উত্পাদনের লজিকের সাথে সংযুক্ত করা হয়, ক্রয় সংকেতগুলিকে ট্রেডিং ভলিউমের সাথে যুক্ত করা হয়, সংকেতের নির্ভরযোগ্যতা বাড়ায়। আপনি পরীক্ষা করতে পারেন যে ট্রেডিং ভলিউমটি তার n দিনের গড়ের চেয়ে বেশি কিনা।
পজিশন ম্যানেজমেন্ট অপ্টিমাইজ করুনঃ পজিশন আকারের পরিবর্তনগুলি ঝুঁকির উপর ভিত্তি করে করা যায়, নির্দিষ্ট শতাংশের বিনিময়ে নয়। প্রতিটি লেনদেনের ঝুঁকির প্রান্তটি এটিআর দ্বারা গণনা করা যেতে পারে, যাতে প্রতিটি লেনদেনের ঝুঁকি একই থাকে।
সময় ফিল্টার যুক্ত করুনঃ বাজারের সময়গত বৈশিষ্ট্যগুলি বিবেচনা করুন এবং এশিয়ার মধ্যাহ্নভোজন বা মার্কিন যুক্তরাষ্ট্রের নন-ফার্ম ডেটা প্রকাশের আগে এবং পরে উচ্চ ওঠানামা সময় যেমন কম দক্ষতার সাথে পরিচিত ট্রেডিংয়ের সময়গুলি এড়িয়ে চলুন।
রিটার্ন এন্ট্রি লজিক যুক্ত করুনঃ ট্রেন্ডের দিকনির্দেশনা নিশ্চিত হওয়ার পরে, সরাসরি ক্রসপয়েন্টে প্রবেশের পরিবর্তে একটি ছোট রিটার্নের জন্য অপেক্ষা করুন, সম্ভবত আরও ভাল প্রবেশের দাম পাবেন। এটি মূল্য এবং এইচএমএর মধ্যে দূরত্ব সনাক্ত করে করা যেতে পারে।
ডাবল হেরের মুভিং এভারেজ ক্রস-ডায়নামিক ক্যাটিফিকেশন কৌশলটি একটি সূক্ষ্মভাবে পরিকল্পিত ট্রেন্ড ট্র্যাকিং সিস্টেম যা দুটি গণনা পদ্ধতির এইচএমএ সূচকগুলির মধ্যে সম্পর্ককে ব্যবহার করে একটি পরিষ্কার মাল্টি-হোল্ডিং সংকেত সরবরাহ করে। স্ট্যান্ডার্ড এইচএমএর তুলনা করে স্ট্যান্ডার্ড এইচএমএ 3 এর তুলনামূলক অবস্থান এবং ক্রস পরিস্থিতি, কৌশলটি কার্যকরভাবে বাজারের শব্দকে হ্রাস করতে পারে, যখন দামের গতিশীলতার পরিবর্তনের সংবেদনশীলতা বজায় থাকে। কৌশলটির সুবিধা হল তার স্পষ্ট সংকেত উত্পাদন যুক্তি, স্বজ্ঞাত চাক্ষুষ প্রতিক্রিয়া এবং একটি সম্পূর্ণ ট্রেডিং প্রক্রিয়া।
যাইহোক, এই কৌশলটি ভোল্টেবল মার্কেটে প্রচুর ভুয়া সংকেত, উচ্চ প্যারামিটার সংবেদনশীলতা এবং স্টপ মেশিনের অভাবের মতো ঝুঁকির মুখোমুখি। ট্রেন্ড ফিল্টার যুক্ত করা, ওঠানামার অভিযোজন ব্যবস্থাকে একীভূত করা, স্মার্ট স্টপগুলি বাস্তবায়ন করা এবং ট্রেডিং ভলিউম নিশ্চিতকরণের মতো অপ্টিমাইজেশনের দিকগুলি উল্লেখযোগ্যভাবে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা বাড়িয়ে তুলতে পারে। সবচেয়ে গুরুত্বপূর্ণভাবে, ব্যবসায়ীরা তাদের ঝুঁকি সহনশীলতা এবং ট্রেডিং লক্ষ্যের ভিত্তিতে কৌশলটির একটি সম্পূর্ণ প্রতিক্রিয়া এবং প্যারামিটার অপ্টিমাইজেশন পরিচালনা করে যাতে নির্দিষ্ট বাজারের পরিবেশের জন্য সবচেয়ে উপযুক্ত কনফিগারেশন খুঁজে পায়।
সামগ্রিকভাবে, এটি একটি শক্তিশালী এবং ভাল স্কেলযোগ্য পরিমাণগত কৌশলগত কাঠামো যা ব্যবসায়ীদের জন্য মাঝারি এবং দীর্ঘমেয়াদী প্রবণতা ট্র্যাকিংয়ের জন্য উপযুক্ত এবং আরও জটিল ট্রেডিং সিস্টেমের মূল উপাদান হিসাবে কাজ করে।
/*backtest
start: 2024-08-04 00:00:00
end: 2025-08-02 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("HMA Strat", shorttitle="HMAstrat", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)
// === INPUTS ===
length = input.int(24, minval=1, title="HMA Length")
src = input.source(hl2, "Source")
showSignals = input.bool(true, "Show Buy/Sell Signals")
// === FUNCTIONS ===
hma(_src, _length) =>
wma1 = ta.wma(_src, _length)
wma2 = ta.wma(_src, _length / 2)
rawHMA = 2 * wma2 - wma1
ta.wma(rawHMA, math.round(math.sqrt(_length)))
hma3(_src, _length) =>
p = _length / 2
ta.wma(ta.wma(close, p / 3) * 3 - ta.wma(close, p / 2) - ta.wma(close, p), p)
// === HMA CALCULATIONS ===
a = hma(src, length)
b = hma3(src, length)
// === COLOR LOGIC ===
isBull = b > a
colorLine = isBull ? color.lime : color.red
fillColor = color.new(colorLine, 80)
// === PLOTTING ===
p1 = plot(a, color=colorLine, linewidth=1)
p2 = plot(b, color=colorLine, linewidth=1)
fill(p1, p2, color=fillColor)
// === SIGNALS ===
crossUp = b > a and b[1] < a[1]
crossDown = a > b and a[1] < b[1]
plotshape(showSignals and crossUp, title="Buy Signal", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.green, text="Buy")
plotshape(showSignals and crossDown, title="Sell Signal", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.red, text="Sell")
// === STRATEGY LOGIC ===
// Close opposite position before opening a new one
if crossUp
strategy.close("Short")
strategy.entry("Long", strategy.long)
if crossDown
strategy.close("Long")
strategy.entry("Short", strategy.short)