
یہ حکمت عملی ہل مووینگ ایوریج (Hull Moving Average, HMA) کے کراس سگنل پر مبنی ہے۔ اس حکمت عملی میں تیزی اور سست دو HMA لائنوں کا حساب لگایا گیا ہے تاکہ ان کے کراس ہونے پر ٹریڈنگ سگنل پیدا کیا جاسکے۔ HMA ایک اعلی درجے کی حرکت پذیر اوسط اشارے ہے جو WMA کے ایک خاص مجموعہ کو وزن میں لے کر تاخیر کو کم کرتا ہے تاکہ تیزی سے اور پرسکون مارکیٹ رجحان سگنل فراہم کیا جاسکے۔
اس حکمت عملی کا بنیادی مقصد مارکیٹ کے رجحانات کو پکڑنے کے لئے مختلف دوروں کے HMA کے کراسنگ کا استعمال کرنا ہے۔ HMA کے حساب کتاب کے عمل میں تین مراحل شامل ہیں: پہلے نصف دورانیے کے WMA کا حساب لگائیں ، پھر پورے دورانیے کے WMA کا حساب لگائیں ، اور آخر میں ایک دورانیے کے WMA کو اصل دورانیے کے مربع جڑ کے طور پر ان دونوں WMA کے خصوصی امتزاج کے ذریعے دوبارہ حساب لگائیں۔ جب تیز رفتار HMA (ڈیفالٹ 9 دورانیے) اوپر کی طرف سے سست رفتار HMA (ڈیفالٹ 16 دورانیے) کو عبور کرتا ہے تو ، ایک کثیر سگنل پیدا ہوتا ہے۔ جب تیز رفتار HMA نیچے کی طرف سے سست رفتار HMA کو عبور کرتا ہے تو ، ایک خالی سگنل پیدا ہوتا ہے۔
یہ ایک HMA کراسنگ پر مبنی ایک مقداری تجارتی حکمت عملی ہے جو روایتی منتقل اوسط کی تاخیر کو کم کرکے زیادہ بروقت تجارتی سگنل فراہم کرتی ہے۔ حکمت عملی کا ڈیزائن آسان ، سمجھنے میں آسان اور قابل عمل ہے ، لیکن عملی اطلاق میں مارکیٹ کے ماحول میں اس کی موافقت اور خطرے کے انتظام پر توجہ دینے کی ضرورت ہے۔ اس حکمت عملی میں مستقل طور پر اصلاح اور بہتری کے ساتھ ، ایک مضبوط تجارتی نظام بننے کی صلاحیت موجود ہے۔
/*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)