
اس حکمت عملی میں متحرک اشارے ((ڈی ایم آئی) اور ہل منتقل اوسط ((ایچ ایم اے) کا ایک مجموعہ استعمال کیا جاتا ہے ، جس میں ڈی ایم آئی کو مارکیٹ کی سمت کا تعین کرنے کے لئے استعمال کیا جاتا ہے ، ایچ ایم اے رجحان کی طاقت کی تصدیق کرتا ہے ، اور بغیر کسی خطرے کے انتظام کی تجارت کرتا ہے۔
حقیقی طول موج (True Range) ، کثیر سر تحریک اشارے (DIPlus) ، خالی سر تحریک اشارے (DIMinus) اور اوسط سمت اشارے (ADX) کا حساب لگائیں۔
فاسٹ ہل اوسط ((fasthull) اور سست ہل اوسط ((slowhull) کا حساب لگائیں۔
متعدد شرائط کو متحرک کریں: DIPlus پر DIMinus پہنیں اور فاسٹ ہل پر سست ہل پہنیں۔
خالی کرنے کی شرائط کو متحرک کریں: DIMinus کے تحت DIPlus اور fasthull کے تحت slowhull سے گزرنا
زیادہ کرنے اور خالی کرنے کی شرائط کو پورا کرنے کے بعد بالترتیب زیادہ کرنے اور خالی کرنے کا اشارہ جاری کریں۔
اس حکمت عملی کے ساتھ رجحان کا تعین کرنے والے اشارے ڈی ایم آئی اور ہل کی اوسط لائن کی دوہری تصدیق کے ساتھ مل کر ، مارکیٹ کی رجحان کی سمت کو مؤثر طریقے سے شناخت کیا جاسکتا ہے ، اور کثیر سر اور خالی سر مارکیٹوں کی تکرار سے بچا جاسکتا ہے۔ بغیر خطرے کے انتظام نے تجارت کی تعدد کو کم کیا ، اور طویل مدتی میں مجموعی طور پر منافع کی سطح اچھی ہے۔
اس حکمت عملی کا سب سے بڑا خطرہ یہ ہے کہ کوئی نقصان نہیں ہوتا ، مارکیٹ میں شدید اتار چڑھاؤ کی صورت میں نقصان کو مؤثر طریقے سے کنٹرول نہیں کیا جاسکتا ہے۔ اس کے علاوہ ، پیرامیٹرز کی اصلاح کی محدود گنجائش اور غیر اہداف کی کمی بھی ایک بڑی خرابی ہے۔
اس خطرے کو کم کرنے کے لئے، آپ کو متحرک روکنے، اور آپٹمائزڈ پیرامیٹرز کے مجموعے کو شامل کرنا چاہئے.
اے ٹی آر اسٹاپ کو شامل کریں ، حقیقی طول و عرض کے ٹریلنگ اسٹاپ کا استعمال کریں۔
بہترین مجموعہ تلاش کرنے کے لئے ہل دورانیہ پیرامیٹرز کو بہتر بنائیں۔
متحرک طور پر ایڈجسٹ کریں زیادہ خالی کرنے کے لئے پیرامیٹرز کی حد
ٹرینڈ کو برقرار رکھنے کے لئے فلٹرز جیسے توانائی کے اشارے شامل کریں.
ڈی ایم آئی اور ایچ ایم اے کی مشترکہ حکمت عملی ، درست فیصلہ ، آسان اور موثر ، درمیانی اور لمبی لائن آپریشن کے لئے موزوں ہے۔ مناسب اسٹاپ اور پیرامیٹرز کی اصلاح کے ساتھ ، یہ ایک بہت ہی عمدہ رجحان کا سراغ لگانے والا نظام بن سکتا ہے۔
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Tuned_Official
//@version=4
strategy(title="DMI + HMA - No Risk Management", overlay = false, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.025)
//Inputs
hullLen1 = input(title="Hull 1 length", type=input.integer, defval=29)
hullLen2 = input(title="Hull 2 length", type=input.integer, defval=2)
len = input(title="Length for DI", type=input.integer, defval=76)
//Calculations
TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0
SmoothedTrueRange = 0.0
SmoothedTrueRange := nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange
SmoothedDirectionalMovementPlus = 0.0
SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = 0.0
SmoothedDirectionalMovementMinus := nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus
//Indicators
fasthull = hma(close, hullLen1)
slowhull = hma(close, hullLen2)
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
ADX = sma(DX, len)
//Plots
plot(DIPlus, color=color.green, title="DI+")
plot(DIMinus, color=color.red, title="DI-")
plot(ADX, color=color.black, title="ADX")
//conditions
go_long = crossover(DIPlus, DIMinus) and fasthull > slowhull //crossover(fasthull, slowhull) and DIPlus > DIMinus
go_short = crossover(DIMinus, DIPlus) and fasthull < slowhull //crossunder(fasthull, slowhull) and DIMinus > DIPlus
//Entry
if strategy.position_size < 0 or strategy.position_size == 0
strategy.order("long", strategy.long, when=go_long)
if strategy.position_size > 0 or strategy.position_size == 0
strategy.order("Short", strategy.short, when=go_short)