
এই কৌশলটি হল মুভিং এভারেজ (Hull Moving Average, HMA) এর ক্রস সিগন্যালের উপর ভিত্তি করে ট্রেড করা হয়। হল মুভিং এভারেজ হল একটি প্রযুক্তিগত সূচক যা অ্যালান হাল দ্বারা বিকাশ করা হয়েছে, যা মুভিং এভারেজ পিছিয়ে পড়া কমাতে কাজ করে। এই কৌশলটি দুটি পৃথক পিরিয়ডের এইচএমএ লাইন ব্যবহার করে, যখন একটি সংক্ষিপ্ত পিরিয়ডের এইচএমএ নীচে থেকে দীর্ঘ পিরিয়ডের এইচএমএ অতিক্রম করে তখন একটি ক্রয় সংকেত তৈরি করে এবং বিপরীতভাবে একটি বিক্রয় সংকেত তৈরি করে।
এইচএমএ গণনা নিম্নরূপঃ
হুলের মুভিং এভারেজ সহজ মুভিং এভারেজ এবং ভারী মুভিং এভারেজের তুলনায় কম পিছিয়ে থাকে, যার ফলে এটি মূল্য পরিবর্তনের প্রতি দ্রুত প্রতিক্রিয়া জানাতে পারে এবং কৌশলটির সংবেদনশীলতা বাড়ায়।
এইচএমএ লাইন দুটি ভিন্ন সময়ের ক্রস দ্বারা সংকেত উত্পন্ন করে, কিছু শব্দ এবং মিথ্যা সংকেতকে কার্যকরভাবে ফিল্টার করে, সংকেতের নির্ভরযোগ্যতা বাড়ায়।
এইচএমএ-র বিভিন্ন বাজার এবং লেনদেনের প্রজাতির সাথে সামঞ্জস্য রেখে প্যারামিটারগুলি সামঞ্জস্যযোগ্য।
হুলের চলমান গড় একটি পিছিয়ে পড়া সূচক, যা প্রবণতা বিপরীত হওয়ার প্রাথমিক পর্যায়ে ভুল সংকেত দিতে পারে।
ভুল প্যারামিটার নির্বাচন কৌশল দুর্বল পারফরম্যান্স হতে পারে। দীর্ঘ চক্র চয়ন কৌশল প্রতিক্রিয়াশীল হতে পারে, এবং খুব ছোট চক্র চয়ন করতে পারে অনেক মিথ্যা সংকেত।
সমস্ত একক সূচক-ভিত্তিক কৌশলগুলির মতো, এই কৌশলটিও অস্থির বাজারে খারাপ পারফরম্যান্স করতে পারে, যার ফলে আরও ভুয়া সংকেত এবং ক্ষতিগ্রস্থ লেনদেন হয়।
এইচএমএ ক্রস সিগন্যালের কার্যকারিতা আরও নিশ্চিত করার জন্য অন্যান্য প্রযুক্তিগত সূচক বা মৌলিক বিষয়গুলি যেমন ট্রেডিং ভলিউম, ট্রেন্ডিং সূচক ইত্যাদি ফিল্টারিং শর্ত হিসাবে বিবেচনা করা যেতে পারে।
প্যারামিটার অপ্টিমাইজেশনের জন্য, জেনেটিক্যাল অ্যালগরিদম, গ্রিড অনুসন্ধান ইত্যাদির মতো পদ্ধতিগুলি ব্যবহার করা যেতে পারে historicalতিহাসিক ডেটাতে প্যারামিটার অপ্টিমাইজেশনের জন্য, বর্তমান বাজারের জন্য সবচেয়ে উপযুক্ত প্যারামিটার সমন্বয় খুঁজে পেতে।
একক লেনদেনের ঝুঁকি ও লাভ নিয়ন্ত্রণের জন্য কৌশলটিতে স্টপ লস এবং স্টপস্টপ ব্যবস্থা অন্তর্ভুক্ত করুন।
বাজারের প্রবণতা বিবেচনা করে, আপনি বাজারের প্রবণতা দ্বারা সূচকগুলি বিচার করতে পারেন, প্রবণতাযুক্ত বাজারে ট্রেড করতে পারেন এবং বাজারের ঝড় এড়াতে পারেন।
হালের মুভিং এভারেজ ক্রস কৌশলটি একটি সহজ এবং সহজেই ব্যবহারযোগ্য ট্রেডিং কৌশল যা এইচএমএর দ্রুত প্রতিক্রিয়া বৈশিষ্ট্যগুলির মাধ্যমে দামের পরিবর্তনগুলিকে তুলনামূলকভাবে সময়মতো ক্যাপচার করতে পারে। তবে সমস্ত কৌশলগুলির মতো, এর সীমাবদ্ধতাও রয়েছে। বাজারের ধরণ, প্যারামিটার নির্বাচনের দ্বারা এর কার্যকারিতা প্রভাবিত হয়। বাস্তবে প্রয়োগের ক্ষেত্রে, এটি অন্যান্য বিশ্লেষণ পদ্ধতির সাথে একত্রিত করা যেতে পারে, সংকেতকে আরও নিশ্চিত করার জন্য।
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//Basic Hull Ma Pack tinkered by InSilico
strategy("RKTD BETA - Hull Suite by InSilico", overlay=true)
//INPUT
src = input(close, title="Source")
modeSwitch = input("Ehma", title="Hull Variation", options=["Hma", "Thma", "Ehma"])
length = input(200, title="Length(180-200 for floating S/R , 55 for swing entry)")
lengthMult = input(1.0, title="Length multiplier (Used to view higher timeframes with straight band)")
useHtf = input(false, title="Show Hull MA from X timeframe? (good for scalping)")
htf = input("240", title="Higher timeframe", type=input.resolution)
switchColor = input(true, "Color Hull according to trend?")
candleCol = input(false,title="Color candles based on Hull's Trend?")
visualSwitch = input(true, title="Show as a Band?")
thicknesSwitch = input(1, title="Line Thickness")
transpSwitch = input(40, title="Band Transparency",step=5)
// Alert Messages
longAlertMessage = '{"base": "BTC", "quote": "USDT", "price": ' + tostring(close) + ', "action": "long", "orderType": "market", "close":true}'
shortAlertMessage = '{"base": "BTC", "quote": "USDT", "price": ' + tostring(close) + ', "action": "short", "orderType": "market", "close":true}'
//FUNCTIONS
//HMA
HMA(_src, _length) => wma(2 * wma(_src, _length / 2) - wma(_src, _length), round(sqrt(_length)))
//EHMA
EHMA(_src, _length) => ema(2 * ema(_src, _length / 2) - ema(_src, _length), round(sqrt(_length)))
//THMA
THMA(_src, _length) => wma(wma(_src,_length / 3) * 3 - wma(_src, _length / 2) - wma(_src, _length), _length)
//SWITCH
Mode(modeSwitch, src, len) =>
modeSwitch == "Hma" ? HMA(src, len) :
modeSwitch == "Ehma" ? EHMA(src, len) :
modeSwitch == "Thma" ? THMA(src, len/2) : na
//OUT
_hull = Mode(modeSwitch, src, int(length * lengthMult))
HULL = useHtf ? security(syminfo.ticker, htf, _hull) : _hull
MHULL = HULL[0]
SHULL = HULL[2]
//COLOR
hullColor = switchColor ? (HULL > HULL[2] ? #00ff00 : #ff0000) : #ff9800
//PLOT
///< Frame
Fi1 = plot(MHULL, title="MHULL", color=hullColor, linewidth=thicknesSwitch, transp=50)
Fi2 = plot(visualSwitch ? SHULL : na, title="SHULL", color=hullColor, linewidth=thicknesSwitch, transp=50)
alertcondition(crossover(MHULL, SHULL), title="Hull trending up.", message="Hull trending up.")
alertcondition(crossover(SHULL, MHULL), title="Hull trending down.", message="Hull trending down.")
///< Ending Filler
fill(Fi1, Fi2, title="Band Filler", color=hullColor, transp=transpSwitch)
///BARCOLOR
barcolor(color = candleCol ? (switchColor ? hullColor : na) : na)
// Define Buy and Sell Conditions based on crossovers
buyCondition = crossover(MHULL, SHULL)
sellCondition = crossunder(MHULL, SHULL)
// Plotting the Hull Moving Average (HMA)
plot(MHULL, title="MHULL", color=hullColor, linewidth=thicknesSwitch)
plot(SHULL, title="SHULL", color=hullColor, linewidth=thicknesSwitch, transp=transpSwitch)
fill(Fi1, Fi2, title="Band Filler", color=hullColor, transp=transpSwitch)
// Execute Strategy based on Buy and Sell Conditions
strategy.entry("Buy", strategy.long, when=buyCondition, alert_message=longAlertMessage)
strategy.entry("Sell", strategy.short, when=sellCondition, alert_message=shortAlertMessage)
// Additional elements like bar coloring remain unchanged
barcolor(color = candleCol ? (switchColor ? hullColor : na) : na)