ڈوئل ہل موونگ ایوریج ٹریڈنگ حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جو ڈوئل ہل موونگ ایوریج کو تجارتی سگنل کے طور پر استعمال کرتی ہے۔ یہ روایتی تکنیکی تجزیہ کے نقطہ نظر پر مبنی ہے جس میں ایک ہی موونگ ایوریج لائن کا استعمال کیا جاتا ہے اور کراس اوور پوائنٹس پر طویل اور مختصر فیصلے کرنے کے لئے ڈوئل ہل موونگ ایوریج کے ساتھ اس کی جگہ لے لی جاتی ہے۔
ڈوئل ہول موونگ ایوریج ٹریڈنگ حکمت عملی کا مرکز ڈوئل ہول موونگ ایوریج (ڈی ایچ ایم اے) ہے۔ ڈی ایچ ایم اے میں تین لائنیں شامل ہیں: درمیانی ، اوپری اور نچلی ریلیں ، جو مختلف اوسط قیمتوں کی قیمتوں کی نمائندگی کرتی ہیں۔ فارمولے یہ ہیں:
مڈل ریل: موڈ (موڈ) سوئچ، src، len
اوپری ریل: HULL[0]
نچلی ریل: HULL [2]
یہاں موڈ فنکشن مختلف ہول ایم اے متغیرات جیسے ایچ ایم اے ، ای ایچ ایم اے یا ٹی ایچ ایم اے کے درمیان انتخاب کرسکتا ہے۔ ایس آر سی قیمت کے ماخذ کے لئے کھڑا ہے ، اور لین مدت پیرامیٹر ہے۔
حکمت عملی قیمت کے تعلقات کا تعین کرنے اور تجارتی سگنل پیدا کرنے کے لئے DHMA کے وسط ریل کا حوالہ کے طور پر استعمال کرتی ہے:
دوسرے الفاظ میں، اگر موجودہ بار کی بندش کی قیمت وسط ریل کی قیمت سے اوپر ہے تو، اگلے بار پر طویل عرصے تک جائیں؛ اگر بندش کی قیمت نیچے ہے تو، اگلے بار پر طویل پوزیشن بند کریں.
ڈبل ہول چلتی اوسط ٹریڈنگ کی حکمت عملی مندرجہ ذیل فوائد ہیں:
بہتر حمایت / مزاحمت کے اثرات اور رجحان ٹریکنگ کے لئے ایک واحد چلتی اوسط لائن کے بجائے ایک ٹرپل بینڈ میکانزم کا استعمال کرتا ہے.
عام ایم اے کے مقابلے میں، ہل چلتی اوسط کم تاخیر ہے اور قیمتوں میں تبدیلیوں پر بہتر رد عمل ہے.
آسان تفہیم کے لئے روایتی تکنیکی تجزیہ کی تکنیکوں کو اپناتا ہے، جو الگو ٹریڈنگ کے لئے موزوں ہے۔
منطق سادہ اور واضح ہے، لاگو کرنا آسان ہے، اعلی تعدد الگورتھم ٹریڈنگ کے مطابق.
مختلف مصنوعات اور ٹائم فریموں میں اصلاح کے لئے مرضی کے مطابق ہول ایم اے اقسام اور پیرامیٹرز۔
اگرچہ اس حکمت عملی کے بہت سے فوائد ہیں ، لیکن اس میں کچھ خطرات بھی ہیں۔
ہنگامہ خیز مارکیٹوں کے دوران مزید وِپساؤ ہو سکتے ہیں۔ کچھ شور کی تجارت کو فلٹر کرنے کے لیے ٹھیک ٹون پیرامیٹرز۔
یہ حکمت عملی بنیادی طور پر رجحانات کی پیروی کرتی ہے ، جو فلیٹ ادوار کے دوران کم موثر ہوتی ہے۔ رجحان کی طاقت کے لئے اضافی فلٹرز مددگار ثابت ہوسکتے ہیں۔
ہول ایم اے میں ابھی بھی کچھ حد تک تاخیر ہے ، خاص طور پر مختصر مدت کے لئے۔ پیرامیٹر کی اصلاح اور کومبو اشارے اس کو کم کرسکتے ہیں۔
اکثر سگنل زیادہ تجارت کا باعث بن سکتے ہیں۔ پوزیشن سائزنگ اور تجارت کی تعدد کا انتظام کریں۔
یہاں حکمت عملی کے لئے بہتر بنانے کے لئے کچھ اہم پہلوؤں ہیں:
مختلف مصنوعات کے لئے مڈل ریل کی حساسیت کو ٹھیک کرنے کے لئے ہول ایم اے کی اقسام اور پیرامیٹرز کو بہتر بنائیں.
ایک ہی تجارت کے نقصان کی رقم کو کنٹرول کرنے کے لئے ٹریلنگ سٹاپ یا اضافی سٹاپ نقصان جیسے سٹاپ نقصان کے طریقہ کار کو شامل کریں.
ٹرینڈ کی سمت اور طاقت کا تعین کرنے کے لئے دوسرے اشارے کے ساتھ مل کر ، پھندوں سے بچیں۔ مثال کے طور پر MACD ، KD وغیرہ۔
سائیکل بند ہونے کی گنتی کو کنٹرول کرنے کے لئے تجارت کی تعداد یا منافع کی شرح پر مبنی حکمت عملی کو چالو کرنے کی شرائط شامل کریں ، باہر نکلنے کو کم کریں۔
ملٹی ٹائم فریم کا مجموعہ۔ شور سے بچنے کے لئے مجموعی رجحان کا فیصلہ کرنے کے لئے اعلی TFs کا استعمال کریں۔
اندراج کی منطق کو بہتر بنائیں۔ اندراج کی یقین دہانی کو بہتر بنانے کے لیے شمع کے نمونوں کے ساتھ اندراج کی تصدیق کریں۔
خلاصہ یہ کہ ، ڈبل ہل موونگ ایوریج ٹریڈنگ حکمت عملی ایک مقداری نقطہ نظر ہے جو تجارتی سگنل بنانے کے لئے تیزی سے ردعمل کا استعمال کرتی ہے ، رجحان کے بعد ہل موونگ ایوریجز کا استعمال کرتی ہے۔ روایتی ایم اے کے مقابلے میں ، اس میں تیز ردعمل اور بہتر ٹریکنگ کی صلاحیتیں ہیں۔ حکمت عملی کا منطق آسان اور واضح ہے ، الگورتھم ٹریڈنگ کے لئے خودکار کرنا آسان ہے۔ اب بھی شور اور رجحان کی پیروی کرنے کی حدود کے خطرات ہیں۔ پیرامیٹر ٹیوننگ ، اسٹاپ نقصان ، اور دیگر اشارے کو جوڑنے جیسی تکنیک اس کی عملی کارکردگی کو بڑھا سکتی ہے۔
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Basic Hull Ma Pack tinkered by InSilico //Converted to Strategy by DashTrader strategy("Hull Suite Strategy", overlay=true, pyramiding=1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0) ////////////////////////////////////////////////////////////////////// // Testing Start dates testStartYear = input(2016, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) //Stop date if you want to use a specific range of dates testStopYear = input(2030, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false // Component Code Stop ////////////////////////////////////////////////////////////////////// //INPUT HAClose = security(heikinashi(syminfo.tickerid), timeframe.period, close) src = input(close, title="Source") modeSwitch = input("Hma", title="Hull Variation", options=["Hma", "Thma", "Ehma"]) length = input(55, title="Length(180-200 for floating S/R , 55 for swing entry)") 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) //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, length) 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) ///< Ending Filler fill(Fi1, Fi2, title="Band Filler", color=hullColor, transp=transpSwitch) ///BARCOLOR barcolor(color = candleCol ? (switchColor ? hullColor : na) : na) if HULL[0] > HULL[2] and testPeriod() strategy.entry("long", strategy.long) if HULL[0] < HULL[2] and testPeriod() strategy.close("long")