
এই কৌশলটি হুল মুভিং এভারেজ (Hull Moving Average, HMA) এর ক্রস সিগন্যালের উপর ভিত্তি করে ট্রেড করে। দ্রুত এবং ধীর দুটি HMA লাইন গণনা করে, যখন তারা ক্রস হয় তখন একটি ট্রেডিং সিগন্যাল তৈরি করে। এইচএমএ একটি উন্নত মুভিং এভারেজ সূচক, যা একটি বিশেষ সমন্বয় দ্বারা পিছিয়ে পড়া হ্রাস করে ওজনের মুভিং এভারেজ (WMA), যা আরও দ্রুত এবং মসৃণ বাজার প্রবণতা সংকেত সরবরাহ করে।
এই কৌশলটির কেন্দ্রবিন্দু হল বিভিন্ন চক্রের এইচএমএ-র ক্রসিং ব্যবহার করে বাজারের প্রবণতার রূপান্তর পয়েন্টগুলি ক্যাপচার করা। এইচএমএ-র গণনা প্রক্রিয়া তিনটি ধাপ নিয়ে গঠিতঃ প্রথমে অর্ধ-চক্রের ডাব্লুএমএ গণনা করা হয়, তারপরে পুরো চক্রের ডাব্লুএমএ গণনা করা হয়, এবং শেষ পর্যন্ত এই দুটি ডাব্লুএমএর একটি বিশেষ সংমিশ্রণ দিয়ে একটি চক্রের ডাব্লুএমএকে মূল চক্রের বর্গমূল হিসাবে গণনা করা হয়। যখন দ্রুত এইচএমএ (ডিফল্ট 9 চক্র) ঊর্ধ্বমুখী ধীর এইচএমএ (ডিফল্ট 16 চক্র) ঊর্ধ্বমুখী অতিক্রম করে, তখন একটি মাল্টিসিগন্যাল উত্পন্ন হয়; যখন দ্রুত এইচএমএ (ডিফল্ট 16 চক্র) ঊর্ধ্বমুখী অতিক্রম করে, তখন একটি ফাঁকা সিগন্যাল উত্পন্ন হয়।
এটি একটি এইচএমএ ক্রস-ভিত্তিক কোয়ান্টাম ট্রেডিং কৌশল যা প্রচলিত মুভিং এভারেজের পিছিয়ে পড়া হ্রাস করে আরও সময়োচিত ট্রেডিং সিগন্যাল সরবরাহ করে। কৌশলটি সংক্ষিপ্ত, সহজেই বোঝা যায় এবং বাস্তবায়িত হয়, তবে বাস্তব প্রয়োগে বাজারের পরিবেশের সাথে অভিযোজনযোগ্যতা এবং ঝুঁকি পরিচালনার দিকে মনোযোগ দেওয়া প্রয়োজন। ক্রমাগত অপ্টিমাইজেশন এবং পরিমার্জনের মাধ্যমে কৌশলটি একটি শক্তিশালী ট্রেডিং সিস্টেম হওয়ার সম্ভাবনা রয়েছে।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Hull Moving Average Crossover", overlay=true)
fastLength = input.int(9, "Fast HMA Length", minval=1)
slowLength = input.int(16, "Slow HMA Length", minval=1)
hma(src, length) =>
wma1 = ta.wma(src, length / 2)
wma2 = ta.wma(src, length)
ta.wma(2 * wma1 - wma2, math.floor(math.sqrt(length)))
fastHMA = hma(close, fastLength)
slowHMA = hma(close, slowLength)
plot(fastHMA, color=color.blue, title="Fast HMA")
plot(slowHMA, color=color.red, title="Slow HMA")
longCondition = ta.crossover(fastHMA, slowHMA)
shortCondition = ta.crossunder(fastHMA, slowHMA)
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)